- Registriert
- 24.06.07
- Beiträge
- 466
Hallo! Bis vor Kurzem war ich noch jemand, der sich ein Kontaktformular über einen Anbieter erstellte. Ich fand jedoch die Werbung immer doof. Nun habe ich mich ein wenig mit PHP beschäftigt und mein eigenes kleines Kontaktformular erstellt - Dies möchte ich euch nun zeigen.
Zuerst solltet ihr euch erstmal euer Kontaktformular in Forme von html erstellen. Dies kann man wenn man will auch mit einem wysiwyg-Editor machen. Beispiel:
Unser Formular sieht nun so aus:
Jetzt müssen wir eine "Form-Action" reinbringen. Wir benutzen die POST-Methode:
Die PHP-Datei "senden.php" erstellen wir gleich noch. Zwischen das "form"-Tag muss nun das HTML-Formular:
Die Html-Datei ist nun fertig. Speichert sie unter einem beliebigen Namen ab.
Nun müssen wir uns an die PHP-Datei "senden.php", über die das Formular versendet und gecheckt wird, heran machen. Diese sieht folgendermaßen aus:
Wir fangen an, und eröffnen diese mit dem PHP-TAG:
Nun müssen wir den Inhalt, der in das Kontaktformular geschrieben wurde, mittels einer Variable für jedes Feld (In diesem Fall: Name, Email, Nachricht) abfragen. Da wir die POST-Methode verwenden, ist das demnach:
Hierfür sind nämlich die zuvor vergebenen Feldnamen wichtig. Wenn man also beispielsweise noch andere Felder haben möchte, muss man sie 1. in die HTML-Datei einfügen und ihnen einen Namen zuteilen und 2. in der PHP-Datei eine Variable in Forme von "$feldname = $_POST["feldname"];" erstellen.
Nun kommen wir zu den Bedingungen. Es darf natürlich nicht sein, dass jemand das Formular leer abschickt. Deshalb dürfen wir das Absenden nur möglich machen, wenn 1. Alle Felder ausgefüllt sind und 2. die kleine Matheaufgabe (Schutz vor Spam) stimmt.
Folgendes geben wir ein, damit überprüft wird, ob in den Feldern etwas eingetragen wurde.
Wie man unschwer erkennen kann, werden hier alle unsere 4 Felder auf Inhalt überprüft. Wenn also eines der Felder KEINEN Inhalt hat, wird automatisch eine Fehlermeldung ausgegeben: "echo". Das "or" sagt nur, dass wenn beispielsweise Name und Nachricht Inhalt haben, aber Email kein Inhalt hat, trotzdem die Fehlermeldung ausgegeben wird.
So sieht unsere PHP-Datei also momentan aus:
Jetzt müssen wir überprüfen, ob die Matheaufgabe richtig gelöst wurde (In diesem Tutorial 5+1):
"elseif" hat hier den Effekt, dass wenn nicht alle Felder ausgefüllt wurden, und obendrein die Matheaufgabe falsch gelöst wurde nicht zwei Fehlermeldungen erscheinen, sondern erstmal nur eine. "$spam!="6")" bedeutet, dass wenn die Zahl NICHT 6 ist, die Fehlermeldung (echo) ausgegeben wird.
So sieht unsere PHP-Datei also jetzt aus:
Nun haben wir alle Bedingungen definiert. "if" oder "elseif" = Bedingung. Wenn also die Matheaufgabe gelöst wurde und alle Felder ausgefüllt wurden, kann das Formular verschickt werden. Wie folgt:
"else" sagt uns nun: AHA! Alle Bedingungen wurden erfüllt, jetzt kann die Mail verschickt werden. Wir bilden die Variablen "mail_empfaenger", "mail_absender", "betreff" und "text". Dann verschicken wir diese Variablen mit dem "mail"-Befehl. Alles was ich in diesem Code groß geschrieben habe, muss du nun nur noch durch deine Sachen ersetzen. "echo" gibt bei erfolgreichem Versand eine Meldung aus. Diese kannst du auch anpassen, wie du möchtest.
Unsere PHP-Datei sieht nun so aus:
Zum Schluss schließen wir das PHP-TAG noch ab:
..und die PHP-Datei ist fertig:
Diese speichern wir nun unter "senden.php" ab. Jetzt laden wir die PHP, sowie die HTML-Datei auf unseren Server. Wenn wir nun die HTML-Datei aufrufen, das Kontakt ausfüllen und abschicken, sollte es einwandfrei funktionieren.
Ich hoffe ich habe bei meinem ersten Tutorial nicht allzu große Fehler gemacht. Ich habe vor zwei Tagen mit PHP angefangen. Wenn ihr Lust habt könnt ihr es ja mal probieren und mir Feedback geben.
Zuerst solltet ihr euch erstmal euer Kontaktformular in Forme von html erstellen. Dies kann man wenn man will auch mit einem wysiwyg-Editor machen. Beispiel:
Es ist nun wichtig, die einzelnen Felder zu benennen. Das Feld indem der Nutzer seinen Namen eingeben muss nennt ihr einfach "name", das indem der Nutzer seine Email eintragen muss nennt ihr "email" und so weiter. Das sieht dann so aus:<p>Name: <br />
<input type="text" name="textfieldName" size="24" /></p>
<p>Email:<br />
<input type="text" name="textfieldName" size="24" /></p>
<p>Nachricht:<br />
<textarea name="textareaName" rows="4" cols="40"></textarea></p>
<p>Spamschutz: 5+1<br />
<input class="dsR1" type="text" name="spam" size="4" /></p>
Wichtig ist, dass wir ein Feld mit einer einfachen Matheaufgabe erstellen, um einen Spamschutz zu erhalten. Ich habe in diesem Fall einfach "5+1" benutzt. Nun müssen wir einen Absenderbutton und wahlweise auch einen "Zurücksetzen"-Button hinzufügen:<p>Name: <br />
<input type="text" name="name" size="24" /></p>
<p>Email:<br />
<input type="text" name="email" size="24" /></p>
<p>Nachricht:<br />
<textarea name="nachricht" rows="4" cols="40"></textarea></p>
<p>Spamschutz: 5+1<br />
<input class="dsR1" type="text" name="spam" size="4" /></p>
Code:
<p><button name="buttonName" type="submit">Senden</button> <button name="buttonName" type="reset">Zurücksetzen</button></p>
Code:
<p>Name: <br />
<input type="text" name="name" size="24" /></p>
<p>Email:<br />
<input type="text" name="email" size="24" /></p>
<p>Nachricht:<br />
<textarea name="nachricht" rows="4" cols="40"></textarea></p>
<p>Spamschutz: 5+1<br />
<input class="dsR1" type="text" name="spam" size="4" /></p>
[B]<p><button name="buttonName" type="submit">Senden</button> <button name="buttonName" type="reset">Zurücksetzen</button></p>[/B]
Code:
<form action="senden.php" method="post"></form>
Code:
[B]<form action="senden.php" method="post">[/B]<p>Name: <br />
<input type="text" name="name" size="24" /></p>
<p>Email:<br />
<input type="text" name="email" size="24" /></p>
<p>Nachricht:<br />
<textarea name="nachricht" rows="4" cols="40"></textarea></p>
<p>Spamschutz: 5+1<br />
<input class="dsR1" type="text" name="spam" size="4" /></p>
<p><button name="buttonName" type="submit">Senden</button> <button name="buttonName" type="reset">Zurücksetzen</button></p>[B]</form>[/B]
Nun müssen wir uns an die PHP-Datei "senden.php", über die das Formular versendet und gecheckt wird, heran machen. Diese sieht folgendermaßen aus:
Wir fangen an, und eröffnen diese mit dem PHP-TAG:
Code:
<?php
Code:
$name = $_POST["name"];
$email = $_POST["email"];
$nachricht = $_POST["nachricht"];
$spam = $_POST["spam"];
Nun kommen wir zu den Bedingungen. Es darf natürlich nicht sein, dass jemand das Formular leer abschickt. Deshalb dürfen wir das Absenden nur möglich machen, wenn 1. Alle Felder ausgefüllt sind und 2. die kleine Matheaufgabe (Schutz vor Spam) stimmt.
Folgendes geben wir ein, damit überprüft wird, ob in den Feldern etwas eingetragen wurde.
Code:
if ($name=="" or $email=="" or $nachricht=="" or $spam=="")
{
echo "Du hast nicht alle Felder ausgefüllt! ";
}
So sieht unsere PHP-Datei also momentan aus:
Code:
<?php
$name = $_POST["name"];
$email = $_POST["email"];
$nachricht = $_POST["nachricht"];
$spam = $_POST["spam"];
if ($name=="" or $email=="" or $nachricht=="" or $spam=="")
{
echo "Du hast nicht alle Felder ausgefüllt! ";
}
Code:
elseif ($spam!="6")
{
echo "Du hast die Matheaufgabe falsch gelöst! ";
}
So sieht unsere PHP-Datei also jetzt aus:
Code:
<?php
$name = $_POST["name"];
$email = $_POST["email"];
$nachricht = $_POST["nachricht"];
$spam = $_POST["spam"];
if ($name=="" or $email=="" or $nachricht=="" or $spam=="")
{
echo "Du hast nicht alle Felder ausgefüllt! ";
}
elseif ($spam!="6")
{
echo "Du hast die Matheaufgabe falsch gelöst! ";
}
Code:
else
{
$mail_empfaenger="DEINEEMAIL";
$mail_absender="ABSENDER";
$betreff="BETREFF";
$text="Name: $name \n
Email: $email \n
Nachricht: $nachricht";
mail($mail_empfaenger, $betreff, $text,"from:$mail_absender");
echo "Danke für die Kontaktanfrage. Ich werde diese so schnell wie möglich bearbeiten.";
}
Unsere PHP-Datei sieht nun so aus:
Code:
<?php
$name = $_POST["name"];
$email = $_POST["email"];
$nachricht = $_POST["nachricht"];
$spam = $_POST["spam"];
if ($name=="" or $email=="" or $nachricht=="" or $spam=="")
{
echo "Du hast nicht alle Felder ausgefüllt! ";
}
elseif ($spam!="6")
{
echo "Du hast die Matheaufgabe falsch gelöst! ";
}
else
{
$mail_empfaenger="DEINEEMAIL";
$mail_absender="ABSENDER";
$betreff="BETREFF";
$text="Name: $name \n
Email: $email \n
Nachricht: $nachricht";
mail($mail_empfaenger, $betreff, $text,"from:$mail_absender");
echo "Danke für die Kontaktanfrage. Ich werde diese so schnell wie möglich bearbeiten.";
}
Code:
?>
Code:
<?php
$name = $_POST["name"];
$email = $_POST["email"];
$nachricht = $_POST["nachricht"];
$spam = $_POST["spam"];
if ($name=="" or $email=="" or $nachricht=="" or $spam=="")
{
echo "Du hast nicht alle Felder ausgefüllt! ";
}
elseif ($spam!="6")
{
echo "Du hast die Matheaufgabe falsch gelöst! ";
}
else
{
$mail_empfaenger="DEINEEMAIL";
$mail_absender="ABSENDER";
$betreff="BETREFF";
$text="Name: $name \n
Email: $email \n
Nachricht: $nachricht";
mail($mail_empfaenger, $betreff, $text,"from:$mail_absender");
echo "Danke für die Kontaktanfrage. Ich werde diese so schnell wie möglich bearbeiten.";
}
?>
Ich hoffe ich habe bei meinem ersten Tutorial nicht allzu große Fehler gemacht. Ich habe vor zwei Tagen mit PHP angefangen. Wenn ihr Lust habt könnt ihr es ja mal probieren und mir Feedback geben.
Zuletzt bearbeitet: