myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Problem mit PHP Code (https://mygully.com/showthread.php?t=4544822)

Lord_Draco 23.08.16 17:38

Problem mit PHP Code
 
Hallo,

ich hab auf meiner Website ein Kontakt Formular mit HTML erstellt. Das ganze was dort eingegeben wird, wird an eine php Datei weitergegeben. Die Überprüft dann mithilfe einer if Abfrage ob die Felder alle befüllt sind oder nicht. Wenn sie befüllt sind soll die E-Mail verschickt werden, wenn nicht kommt eine Fehlermeldung.

Mein Problem: Auch wenn die Felder befüllt sind kommt die Fehlermeldung...

Die HTML-Seite:
<p>
</p><p>
</p><form method="post" action="kontakt.php">
<p><label for="vorname">Name:</label> <br>
<input id="name" name="name">&nbsp;<br>
<label for="email">Ihre E-Mail-Adresse:</label><br>
<input id="email" name="email">&nbsp;<br>
<label id="betreff" for="betreff">Betreff:</label><br>
<input id="betreff" name="betreff">&nbsp;<br>
<label for="nachricht">Ihre Nachricht:</label><br>
<textarea id="nachricht" style="HEIGHT: 106px; WIDTH: 291px" rows="1" cols="1" name="nachricht"></textarea>&nbsp;&nbsp;<br>
<input id="submit" type="submit" value="Abschicken" name="submit"><br>&nbsp;</p></form>

Die kontakt.php:

<?php

$name = $_POST['name'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];


$an = 'hier steht meine Mail adresse';
$betreff = "Kontaktformularnachricht | $betreff | $name ";


if ((!empty($name))&&(!empty($email))&&(!empty($betre ff))&&(!empty($nachricht))) {

mail($an, $betreff, $nachricht, 'From:' . $email);

echo 'Ihre Kontaktnachricht wurde zugestellt. Sie werden bald möglichst eine Antwort erhalten. <a href="index.html">Zurück</a>';
}
else {
echo 'Sie müssen alle Felder ausfüllen. <a href="kontakt.html">Zurück</a>';
}
?>

Was mache ich falsch ?

nichdiemama 23.08.16 21:43

Ist das Leerzeichen bei "betreff" in der Zeile
if ((!empty($name))&&(!empty($email))&&(!empty($betre ff))&&(!empty($nachricht))) {
beabsichtigt?

bommel77 26.08.16 13:44

Moin,

du überprüfst die Felder ja nur auf Inhalt, dies kann man auch ohne PHP tun. So zum Beispiel: <input type="text" name="usrname" required>
Das required ist hier die Lösung.

Gruß

Haggi94 30.08.16 13:55

Zitat:

Zitat von bommel77 (Beitrag 28869490)
dies kann man auch ohne PHP tun. So zum Beispiel: <input type="text" name="usrname" required>

Kann man machen, sollte man aber nicht. Manche Browser unterstützen das required Attribut nicht und ansonsten kann man z.B. in Chrome auch mit den Browser-Tools das required aus dem DOM entfernen und das Formular trotzdem abschicken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.