PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Kontaktformular/ Feldnamen werden nicht korrekt übergeben
Beitrag
<blockquote data-quote="silence12121" data-source="post: 1950449" data-attributes="member: 303574"><p>Hallo, ich habe ein Problem mit meinem Kontaktformular. </p><p></p><p>Im Prinzip rufe ich die Daten aus dem Formular ab, und als Fehlermeldung bekomme ich zurück, dass die Variablen nicht definiert sind, bzw. leer. Ich habe die Methode schon von Post auf Get geändert und die Daten überprüft. Sprich was der Browser an Script übergibt.</p><p></p><p>Ich hab die Namen mehrmals überprüft, und ich finde den Fehler leider nicht. Vielleicht könnte mir mal jemand auf die Sprünge helfen?</p><p></p><p>Hier das PHP-Script:</p><p>[PHP]</p><p><?php</p><p># Zuerst die Abfrage, ob an der URL "?senden" hängt</p><p> </p><p>if (isset($_GET['senden']))</p><p>{</p><p> foreach($_POST AS $key=>$value) ${$key}=trim($value);</p><p></p><p># Dann werden die Daten auf Vollständigkeit geprüft:</p><p> if (($name!='') && ($email!='') && ($nachricht!='')) </p><p> {</p><p> </p><p> # Dann werden Die Daten für die mail() Funktion in Variablen geschrieben</p><p> $an = "mailadress@domain.de";</p><p> $von = "Kontaktformular <$an>";</p><p> $betreff = "Nachricht von der Homepage";</p><p> $header = "From: $von\r\n";</p><p> $header .= "Subject: $betreff\r\n";</p><p> $header .= "Content-Type: text/html\r\n";</p><p> $header .= "MIME-Version: 1.0\r\n";</p><p> $msg = "Jemand hat dir eine Nachricht von der Homepage geschickt:</p><p> </p><p> Name: $name</p><p> Email: $email</p><p> ---- Nachricht: ----</p><p> $nachricht</p><p> --------------------";</p><p> </p><p> # Falls es beim Senden der Email einen Fehler gibt, wird dies dem Besucher signalisiert</p><p> if (mail($an, $betreff, $msg, $header))</p><p> {</p><p> $rueckgabe = '<span style="color: #008800;">Vielen Dank für Ihre Nachricht. Wir werden uns in kürze bei Ihnen melden.</span><br />';</p><p> }</p><p> else</p><p> {</p><p> $rueckgabe = '<span style="color: #cc0000;">Beim Senden der Email ist ein Fehler aufgetreten.</span><br />';</p><p> }</p><p> } </p><p> else </p><p> {</p><p> $rueckgabe = '<span style="color: #cc0000;">Bitte füllen Sie alle Felder, welche mit * markiert sind, aus.';</p><p> }</p><p>}</p><p>else</p><p>{</p><p>$rueckgabe = '';</p><p>}</p><p> </p><p>echo $rueckgabe;</p><p> </p><p>?></p><p>[/PHP]und hier der HTML-Code:</p><p></p><p>[HTML]</p><p><form action="<?php echo $_SERVER['PHP_SELF'];?>?senden" method="get" enctype="text/plain"></p><p> <table class="kontakt" width="200" border="1"></p><p> <tr></p><p> <td>Name: *</td></p><p> <td><input type="text" name="name" id="name"></td></p><p> </tr></p><p> <tr></p><p> <td>Mail: *</td></p><p> <td><input type="text" name="email" id="email"></td></p><p> </tr></p><p> <tr></p><p> <td colspan="2">Nachricht: *</td></p><p> </tr></p><p> <tr></p><p> <td colspan="2"><textarea name="nachricht" id="nachricht" cols="45" rows="5"></textarea></td></p><p> </tr></p><p> <tr></p><p> <td><input type="submit" name="senden" id="senden" value="senden"></td></p><p> <td><input type="reset" name="loeschen" id="loeschen" value="Löschen"></td></p><p> </tr></p><p></table></p><p>[/HTML]Ich würd echt nicht nachfragen, wenn ich nicht müsste. </p><p></p><p>Ich hab sogar schon versucht mir die Feldnamen auszugeben, aber irgendwie hat das auch nicht funktioniert. </p><p>[PHP]foreach($_POST as $key=>$value) echo 'key: "', $key, '" value: "', $value, '"';[/PHP]Ich bin dankbar für jede Hilfe. Danke schön!!!</p><p>Lieben Gruß</p><p>Michi</p></blockquote><p></p>
[QUOTE="silence12121, post: 1950449, member: 303574"] Hallo, ich habe ein Problem mit meinem Kontaktformular. Im Prinzip rufe ich die Daten aus dem Formular ab, und als Fehlermeldung bekomme ich zurück, dass die Variablen nicht definiert sind, bzw. leer. Ich habe die Methode schon von Post auf Get geändert und die Daten überprüft. Sprich was der Browser an Script übergibt. Ich hab die Namen mehrmals überprüft, und ich finde den Fehler leider nicht. Vielleicht könnte mir mal jemand auf die Sprünge helfen? Hier das PHP-Script: [PHP] <?php # Zuerst die Abfrage, ob an der URL "?senden" hängt if (isset($_GET['senden'])) { foreach($_POST AS $key=>$value) ${$key}=trim($value); # Dann werden die Daten auf Vollständigkeit geprüft: if (($name!='') && ($email!='') && ($nachricht!='')) { # Dann werden Die Daten für die mail() Funktion in Variablen geschrieben $an = "mailadress@domain.de"; $von = "Kontaktformular <$an>"; $betreff = "Nachricht von der Homepage"; $header = "From: $von\r\n"; $header .= "Subject: $betreff\r\n"; $header .= "Content-Type: text/html\r\n"; $header .= "MIME-Version: 1.0\r\n"; $msg = "Jemand hat dir eine Nachricht von der Homepage geschickt: Name: $name Email: $email ---- Nachricht: ---- $nachricht --------------------"; # Falls es beim Senden der Email einen Fehler gibt, wird dies dem Besucher signalisiert if (mail($an, $betreff, $msg, $header)) { $rueckgabe = '<span style="color: #008800;">Vielen Dank für Ihre Nachricht. Wir werden uns in kürze bei Ihnen melden.</span><br />'; } else { $rueckgabe = '<span style="color: #cc0000;">Beim Senden der Email ist ein Fehler aufgetreten.</span><br />'; } } else { $rueckgabe = '<span style="color: #cc0000;">Bitte füllen Sie alle Felder, welche mit * markiert sind, aus.'; } } else { $rueckgabe = ''; } echo $rueckgabe; ?> [/PHP]und hier der HTML-Code: [HTML] <form action="<?php echo $_SERVER['PHP_SELF'];?>?senden" method="get" enctype="text/plain"> <table class="kontakt" width="200" border="1"> <tr> <td>Name: *</td> <td><input type="text" name="name" id="name"></td> </tr> <tr> <td>Mail: *</td> <td><input type="text" name="email" id="email"></td> </tr> <tr> <td colspan="2">Nachricht: *</td> </tr> <tr> <td colspan="2"><textarea name="nachricht" id="nachricht" cols="45" rows="5"></textarea></td> </tr> <tr> <td><input type="submit" name="senden" id="senden" value="senden"></td> <td><input type="reset" name="loeschen" id="loeschen" value="Löschen"></td> </tr> </table> [/HTML]Ich würd echt nicht nachfragen, wenn ich nicht müsste. Ich hab sogar schon versucht mir die Feldnamen auszugeben, aber irgendwie hat das auch nicht funktioniert. [PHP]foreach($_POST as $key=>$value) echo 'key: "', $key, '" value: "', $value, '"';[/PHP]Ich bin dankbar für jede Hilfe. Danke schön!!! Lieben Gruß Michi [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ▲ = 7, ▼ = 3, ◇ = 2 und die Summe von ▲ und ▼ durch ◇ geteilt wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Kontaktformular/ Feldnamen werden nicht korrekt übergeben
Oben