Hallo,
ich bin ein totaler Anfänger und beginne nun mit dem Buch PHP 5 und MySQL 4 von Markt und Technik meine ersten Schritte zu machen.
Ich wollte das Formularscript selber probieren und testen aber scheitere daran, ich erhalte weder eine Meldung ob das Formular abgeschickt wurde noch ob es einen Fehler gab, die EMails kommen auch nicht an.
Hier mein Script:
<html>
<head>
<title>Kontaktformular</title>
</head>
<body>
wie man sieht, habe ich es orginal übernommen und wollte es einfach ausprobieren und bei gelingen für mich anpassen.
Kann mir jemand helfen? Bitte
ich bin ein totaler Anfänger und beginne nun mit dem Buch PHP 5 und MySQL 4 von Markt und Technik meine ersten Schritte zu machen.
Ich wollte das Formularscript selber probieren und testen aber scheitere daran, ich erhalte weder eine Meldung ob das Formular abgeschickt wurde noch ob es einen Fehler gab, die EMails kommen auch nicht an.
Hier mein Script:
<html>
<head>
<title>Kontaktformular</title>
</head>
<body>
PHP-Code:
<?php
//Mit $sent==1 wird getestet,ob das Formular abgeschickt wurde
if ($_POST[sent]==1)
{
//Testen, ob alle Felder ausgefüllt wurden
//und gegebenenfalls Fehlermeldungen ausgeben
//und $sent löschen, damit das Formular erneut angezeigt wird
if (!$_POST[vorname]) {echo 'Bitte geben Sie einen Vornamen ein <br>';unset($_POST[sent]);}
if (!$_POST[nachname]) {echo 'Bitte geben Sie Ihren Nachnamen ein <br>'; unset($_POST[sent]);}
if (!$_POST[email]) {echo 'Bitte geben Sie Ihre E-Mail-Adresse ein<p>'; unset($_POST[sent]);}
//Testen, ob alle Felder ausgefüllt wurden.
//Wenn ja, die E-Mail vorbereiten und verschicken
If($vorname AND $nachname AND $email)
{
//Den Nachrichtentext der E-Mail für eine HTML-Mail zusammenbauen
$message="<html><body>";
$message.="<p>Vorname: ";
$message.=$_POST[vorname];
$message.="<br>Nachname: ";
$message.=$_POST[nachname];
$message.="<br>E-Mail. ";
$message.=$_POST[email];
$message.="<br><b>";
$message.=$_POST[rank];
$message.="</b></p></body></html>";
//Den Header der E-Mail erstellen
$header="\n Content-Type: text/html";
//Die E-Mail versenden.
//Wenn kein Fehler auftritt, wird eine Erfolgsmeldung ausgegeben,
//andernfalls eine Fehlermeldung
if(mail("xxx@gmx.net", "Eine E-Mail von meiner Webseite", $message, $header))
{
//Erfolgsmeldung ausgeben
echo "Ihre Informationen wurden übermittelt";
}
else
{
//Fehlermeldung ausgeben
echo "Die Informationsübermittelung ist fehlgeschlagen, bitte versuchen Sie es später noch einmal.";
//$sent löschen, damit das Formular erneut angezeigt wird
unset($_POST[sent]);
}
}//schließende Klammer für If($vorname AND $nachname AND $email)
}//schließende Klammer für If($sent==1)
//Das Formular anzeigen, wenn $sent nicht existiert.
//Dies ist der Fall, wenn die Seite das erste Mal aufgerufen wird,
//oder wenn $sent oben bei einem Fehler gelöscht wird.
if(!$_POST[sent])
{
?>
<form action="<?php echo $PHP_SELF; ?>" method=post>
<!--Verstecktes Feld um zu Testen,-->
<!--ob das Formular aufgerufen werden soll oder nicht-->
<!-- mit htmlentities Sonderzeichen umwanden-->
<input type=hidden name=sent value=1>
Vorname <br><input type=Text name="vorname" value="<?php echo htmlentities($_POST[vorname]);?>" size=20><br>
Nachname <br><input type=Text name="nachname" value="<?php echo htmlentities($_POST[nachname]);?>" size=20><p>
E-Mail <br><input type=text name="email" value="<?php echo htmlentities($_POST[email]);?>" size=30><p>
<h4>Wie hat Ihnen das Spiel gefallen?</h4><p>
<select size=1 name="rank">
<Option value="keine Angabe">keine Angabe</option>
<Option value="sehr gut">sehr gut</option>
<Option value="gut"> gut</option>
<Option value="nicht so gut">nicht so gut</option>
</select>
<input type=submit name="submit" value="abschicken">
</form>
<?php
}//schließende Klammer für If(!$sent)
//Wichtig: Diese Klammer muss in einem php-Teil stehen
?>
</body>
</html>
Kann mir jemand helfen? Bitte
Kommentar