Aktives Mitglied
Hallo allerseits,
ich versuche gerade mit dem Buch "Codin´ for the Web" von Charles Wyke-Smith ein PHP-Kontaktformular hinzubekommen.
Da das Buch im Jahr 2007 veröffentlicht wurde und auf PHP4 basiert, ist meine erste Frage, ist der darin enthaltenen Inhalt überhaupt noch aktuell?
Vielleicht könnt ihr mir aber auch mit Links zu Tutorials helfen. Es geht mir darum, wie ich ein Kontaktformular (eventuell auch die Formulardaten eines Logins) mit PHP verschicke, diese sicher validiere und den Nutzer auf Fehler hinweise sowie das Vorgehen gegen Magic Quotes.
Das steht zwar alles in dem oben erwähnten Buch, nur bin ich mir halt nicht sicher, ob das noch aktueller Standard ist (ich hab hier auch mal was von Validierung mit jQuery gelesen).
Ich dake euch jedenfalls im Voraus.
Achja, das ist der Code, den ich bisher mit Hilfe des Buches geschrieben habe. Trotz der Validierung, ob etwas in den Feldern steht, wird das Formular versandt.
ich versuche gerade mit dem Buch "Codin´ for the Web" von Charles Wyke-Smith ein PHP-Kontaktformular hinzubekommen.
Da das Buch im Jahr 2007 veröffentlicht wurde und auf PHP4 basiert, ist meine erste Frage, ist der darin enthaltenen Inhalt überhaupt noch aktuell?
Vielleicht könnt ihr mir aber auch mit Links zu Tutorials helfen. Es geht mir darum, wie ich ein Kontaktformular (eventuell auch die Formulardaten eines Logins) mit PHP verschicke, diese sicher validiere und den Nutzer auf Fehler hinweise sowie das Vorgehen gegen Magic Quotes.
Das steht zwar alles in dem oben erwähnten Buch, nur bin ich mir halt nicht sicher, ob das noch aktueller Standard ist (ich hab hier auch mal was von Validierung mit jQuery gelesen).
Ich dake euch jedenfalls im Voraus.
Achja, das ist der Code, den ich bisher mit Hilfe des Buches geschrieben habe. Trotz der Validierung, ob etwas in den Feldern steht, wird das Formular versandt.
Code:
<?php
if ($_POST['gesendet']) {
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$firma = $_POST['firma'];
$email = $_POST['email'];
$telefon = $_POST['telefon'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
// Magic Quotes ausschalten, um Sonderzeichen bei Reload sichtbar zu machen
if ( get_magic_quotes_gpc() ){
$vorname = stripslashes($vorname);
$nachname = stripslashes($nachname);
$firma = stripslashes($firma);
$email = stripslashes($email);
$telefon = stripslashes($telefon);
$betreff = stripslashes($betreff);
$nachricht = stripslashes($nachricht);
}
// Validierung, ob Formularfelder leer sind
$fehler_nachricht=array();
if ($vorname=="") {
$fehler_nachricht[] ="Bitte geben Sie Ihren Vornamen ein";
}
if ($nachname=="") {
$fehler_nachricht[] ="Bitte geben Sie Ihren Nachname ein";
}
if ($email=="") {
$fehler_nachricht[] ="Bitte geben Sie Ihren Emailadresse ein";
}
if ($betreff=="") {
$fehler_nachricht[] ="Bitte geben Sie einen Betreff ein";
}
if ($nachricht=="") {
$fehler_nachricht[] ="Bitte geben Sie eine Nachricht ein";
}
foreach ($fehler_nachricht as $fehler) {
echo ("$fehler <br />");
}
// Angaben zur Zieladresse an die das Formular geschickt wird, inkl. Aufbau der Ausgabe in der Email und Antwort auf Website
$ziel_email="jb-dfw@gmx.de";
$email_betreff="Test des Formulars";
$email_hauptteil = "$vorname\n$nachname\n$firma\n$email\n$telefon\n$betreff\n$nachricht";
mail ($ziel_email, $email_betreff, $email_hauptteil);
print "Email versandt";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
<h3>Senden Sie eine Nachricht</h3>
<label for="vorname">Vorname*:</label> <br />
<input type="text" name="vorname" size="20" id="vorname" value="<?php echo $vorname ?>" />
<br />
<label for="nachname">Nachname*:</label> <br />
<input type="text" name="nachname" size="20" id="nachname" value="<?php echo $nachname ?>" />
<br />
<label for="nachname">Firma*:</label> <br />
<input type="text" name="firma" size="20" id="firma" value="<?php echo $firma ?>" />
<br />
<label for="email">Email*:</label> <br />
<input type="text" name="email" size="20" id="email" value="<?php echo $email ?>" />
<br />
<label for="email">Telefon*:</label> <br />
<input type="text" name="telefon" size="20" id="telefon" value="<?php echo $telefon ?>" />
<br />
<label for="betreff">Betreff*:</label> <br />
<input type="text" name="betreff" size="20" id="betreff" value="<?php echo $betreff ?>" />
<br />
<label for="nachricht">Geben Sie hier Ihre Nachricht ein*:</label> <br />
<textarea name="nachricht" rows="5" cols="20" id="nachricht"><?php echo $nachricht ?></textarea>
<br />
<input type="submit" name="gesendet" value="Senden" />
</form>