<rss version="2.0">
		<channel>
			<title>Webmatze's Webmaster Forum - Formularversendung per php-funktion mail()</title>
			<lastBuildDate>Thu, 09 Sep 2010 02:00:36 +0200</lastBuildDate>
			<link>http://forum.webmatze.de/</link>
			<description></description>
			<generator>Lussumo Vanilla 1.1.8</generator>
			<item>
		<title>Formularversendung per php-funktion mail()</title>
		<link>http://forum.webmatze.de/discussion/897/?Focus=6347#Comment_6347</link>
		<guid isPermaLink="false">http://forum.webmatze.de/discussion/897/?Focus=6347#Comment_6347</guid>
		<pubDate>Thu, 10 Apr 2008 21:26:07 +0200</pubDate>
		<author>eru</author>
		<description>
			<![CDATA[hallo liebe leute,<br />habe vor 8 jahren mal angefangen, mit php zu arbeiten - leider seitdem nichts mehr gemacht und muss deshalb quasi bei 0 anfangen.<br /><br />für die (non-profit-)kunstveranstaltung transit station gibt es auf der website ein html-anmeldeformular für künstler.<br /><br />nun möchte ich dieses html-formular mit der mail-funktion von php versenden, da es mit reinem html zu oft nicht klappt - und habe massive probleme... (eigentlich mehrere).<br />das formular besteht aus 10 eingabefeldern, 5 textareas, 8 checkboxen (einer gruppe - mein zweites problem) und 2 radio-buttons (einer gruppe).<br />das dritte problem ist, dass ich gerne eine möglichkeit für datei-upload bei 3 der 5 textareas anbieten würde......<br />aber mir wäre schon sehr geholfen, wenn ich die grundfunktionalität hinbekommen würde.<br /><br />php kann max. 5 parameter an die funktion mail() übergeben, also bin ich gezwungen, einiges (in einer variablen?) zusammenzufassen und durch zeilenumbrüche leichter zugänglich bzw. lesbar zu machen...<br /><br />...und leider bekomme ich's einfach nicht gebacken...<br />hier das php-script in verkürzter form - so funktioniert es, nur brauche ich eben alle formularbereiche.<br /><br />&lt;?php<br />#-------------------------------------------<br /># Globale Daten:<br />$mailto = &quot;contact@transitstation.de&quot;;<br />$form_file = &quot;antragsformular.html&quot;;<br />$thanks_file = &quot;danke.html&quot;;<br />$standard_legend = &quot;Hinweis&quot;;<br />$error_legend = &quot;Fehler&quot;;<br />#-------------------------------------------<br /># Funktion was ist zu tun<br />if(isset($_POST['feedback']))<br />check_form_data();<br />else<br />show_form_data(false);<br />#-------------------------------------------<br /># Funktion show_form_data():<br />function show_form_data($with_error) {<br />global $form_file, $standard_legend, $error_legend;<br />$page = file_get_contents($form_file);<br />$page = preg_replace(&quot;/\[\%self\%\]/&quot;,<br />$_SERVER['SCRIPT_NAME'], $page);<br />if($with_error == true)<br />$page = preg_replace(&quot;/\[\%legend\%\]/&quot;,<br />$error_legend, $page);<br />else<br />$page = preg_replace(&quot;/\[\%legend\%\]/&quot;,<br />$standard_legend, $page);<br />echo $page;<br />exit();<br />}<br />#-------------------------------------------<br /># Funktion check_form_data():<br /># Formulareingaben prüfen<br />function check_form_data() {<br />//echo &quot;&lt;pre&gt;&quot;, var_dump($_POST), &quot;&lt;/pre&gt;&quot;;<br />if(empty($_POST['vorname']) or empty($_POST['nachname']) or empty($_POST['adresse']) or empty($_POST['medium']) or empty($_POST['contractterms']))<br />show_form_data(true);<br />else<br />mail_and_thanks();<br />}<br />#-------------------------------------------<br /># Funktion mail_and_thanks():<br />function mail_and_thanks() {<br />global $mailto, $thanks_file;<br />$headers = &quot;From: {$_POST['vorname']} {$_POST['nachname']} &quot;;<br />$headers .= &quot;&lt;{$_POST['email']}&gt;\r\n&quot;;<br />$headers .= &quot;Content-Type: text/plain; charset=ISO-8859-1\r\n&quot;;<br />$headers .= &quot;Content-Transfer-Encoding: 8bit&quot;;<br />mail($mailto, $_POST['subject'], $_POST['adresse'], $headers);<br />$page = file_get_contents($thanks_file);<br />echo $page;<br />exit();<br />}<br />?&gt;<br /><br />ich wäre sehr froh über hilfe bei meinem problem<br />danke<br />eru]]>
		</description>
	</item>
	<item>
		<title>Formularversendung per php-funktion mail()</title>
		<link>http://forum.webmatze.de/discussion/897/?Focus=6356#Comment_6356</link>
		<guid isPermaLink="false">http://forum.webmatze.de/discussion/897/?Focus=6356#Comment_6356</guid>
		<pubDate>Thu, 17 Apr 2008 23:51:24 +0200</pubDate>
		<author>Cimme</author>
		<description>
			<![CDATA[Hallo eru, <br /><br />ich hab den Code nur kurz überflogen und kann nur sagen: Keine vom User eingegeben Daten ungeprüft verarbeiten. <br /><br />Wenn der Eingebende ein einfaches Anführungszeichen zusammen mit einer schließenden Klammer und einem Semikolon eingibt ist die Mail-Funktion hier abgebrochen. <br /><br />Zudem rufst du eine erst spätere Funktion weiter oben auf. <br /><br />Grundsätzlich ist es sinnvoll, wie folgt bei der Programmierung vorzugehen (dies ist meine Empfehlung und soll hier auch nicht als Standart gelten):<br /><br /><br />- Liste was der Programmteil können soll mit Soll- und Kannfunktionen<br />- Nun wird der Programmablauf nach logischen Gesichtspunkten auf dem Papier entworfen. <br />- Die benötigten Funktionen werden zurechtgelegt beziehungsweise nachgeschlagen. <br />- Erst jetzt wird der Code anhand (strikt) des vorher auf Papier geschriebenen Programmablaufs erstellt. <br />- Jede Funktion wird auf Logik und syntaktische Fehler geprüft. (da sind wir jetzt) ;)<br />- Jetzt lassen wir einige (bekannte) Tester drauf los und finden so logische und funktionale Fehler raus. <br /><br /><br />So ist es relativ schnell ein Programm zu programmieren. <br /><br />Um auf dein Problem zurückzukommen:<br /><br />Warum verwendest du exit? Die Ganze Sache ist doch in der letzten Funktion schon abgehandelt und somit fertig. <br /><br />Die Funktion form_check_data hat bei der if-Schleife einen Fehler (die else wird nicht geöffnet und die if nicht geschlossen. <br /><br />Beim genauen Durchschauen viel mir zudem auf, dass alles etwas durcheinander ist. <br /><br />Mein Tipp wäre hier einfach mal ein stink normales Gästebuch (ohne Datenbank) vom Quelltext her anzuschauen. <br /><br />Vielleicht kommen von Webmatze oder anderen ein paar BlogEinträge zu Formulardatenverarbeitung. <br /><br />Grüße<br />Cimme<br /><br />PS: vielleicht schreib ich da was übers Wochenende. :D]]>
		</description>
	</item>
	
		</channel>
	</rss>