Kontaktformular Php

  • Hallo zusammen, ich bin gerade dabei ein Registrierungsformular für eine Website zu erstellen. Dieses läuft wie ein Kontaktformular und die Eingabe wird mir per Email zugeschickt. Ich bin fast fertig damit. Ich habe aber leider ein Problem beim Passwort wiederholen Feld. Obwohl ich zweimal das richtige Passwort eingebe, kommt immer die Fehlermeldung: Das Passwort fehlt bzw. stimmt nicht überein. Könnte sich das bitte jemand einmal anschauen. Ich habe das Problem fett markiert



    PHP
    1. // Ihre E-Mail-Adresse$mailto = "lukasvogel@googlemail.com";// Ihre Webseite (Startseite). Nach dem absenden der E-Mail// gelangt der Besucher &uuml;ber einen Link auf Ihre Startseite.$url = "http://lukas-vogel.comli.com/Index/login.html";// Fortgeschrittene Anwender kännen ab hier Änderungen vornehmen.error_reporting(0); // PHP Meldungen anzeigen (0/1)$eingabefehler = ""; // Bitte leer lassen!$name = isset($_POST['name']) ? $_POST['name'] : "";$mailfrom = isset($_POST['mailfrom']) ? $_POST['mailfrom'] : "";$betreff = isset($_POST['betreff']) ? $_POST['betreff'] : "";$nachricht = isset($_POST['nachricht']) ? $_POST['nachricht'] : "";$nachricht2 = isset($_POST['nachricht2']) ? $_POST['nachricht2'] : "";// Formular erstellen// Innerhalb des Formulars dürfen nur einfache Anführungszeichen verwendet werden!$formular = "<form action='" . $_SERVER['SCRIPT_NAME'] . "' method='post'><table> <tr><td colspan='2' class='pflichtfeld'><!-- Fehleranzeige --></td></tr> <tr class='hintergrund'> <td><label for='Name'>Name: <span class='pflichtfeld'>*</span></label></td> <td><input type='text' size='50' name='name' value='" . $name . "' id='Name'></td> </tr> <tr class='hintergrund'> <td><label for='Email'>E-Mail: <span class='pflichtfeld'>*</span></label></td> <td><input type='text' size='50' name='mailfrom' value='" . $mailfrom . "' id='Email'></td> </tr> <tr class='hintergrund'> <td><label for='Betreff'>gewünschter Benutzername: <span class='pflichtfeld'>*</span></label></td> <td><input type='text' size='50' name='betreff' value='" . $betreff . "' id='Betreff'></td> </tr> <tr class='hintergrund'> <td><label for='Nachricht'>gewünschtes Passwort: <span class='pflichtfeld'>*</span></label></td> <td><input type='password' size='50' name='nachricht' value='" . $nachricht . "' id='Nachricht'</td> </tr> <tr class='hintergrund'> <td><label for='Nachricht2'>Passwort wiederholen: <span class='pflichtfeld'>*</span></label></td> <td><input type='password' size='50' name='nachricht2' value='" . $nachricht2 . "' id='Nachricht2'</td> </tr> <tr class='hintergrund'> <th colspan='2'> <br><span class='pflichtfeld'>✲</span> <small>Bitte alle Pflichtfelder ausf&uuml;llen!</small> &nbsp; &nbsp; <input type='submit' name='sendung' value='Daten absenden'> </th> </tr></table></form>\n";// Wurde das Formular abgesendetif ($_SERVER['REQUEST_METHOD'] == "POST" || isset($_POST['sendung'])) { // Pflichtfelder überprüfen // Die Meldungen müssen hier eventuell angepasst werden. if (strlen($name) <= 2) $eingabefehler .= "&bull; Name fehlt!<br>"; if (filter_var($mailfrom, FILTER_VALIDATE_EMAIL) === false) $eingabefehler .= "&bull; Fehler in der E-Mail-Adresse!<br>"; if (strlen($betreff) <= 4) $eingabefehler .= "&bull; Der Benutzername " . ((strlen($betreff) == 0) ? " fehlt" : " ist zu kurz") . " (min. 5 Zeichen)!<br>"; if (strlen($nachricht) <= 5) $eingabefehler .= "&bull; Das Passwort " . ((strlen($nachricht) == 0) ? " fehlt" : " ist zu kurz") . " (min. 6 Zeichen)!<br>"; if (strlen($nachricht2) != $nachricht) $eingabefehler .= "&bull; Das Passwort " . ((strlen($nachricht2) == 0) ? " fehlt" : " stimmt nicht überein") . " <br>"; // Sind keine Eingabefehler vorhanden if ($eingabefehler == "") { // Diese Nachricht wird an Ihre E-Mail-Adresse gesendet. $text = " Benutzerregistrierung: Name: $name E-Mail: $mailfrom Benutzername: $betreff Passwort: $nachricht Passwort wiederholen: $nachricht2 "; // E-Mail versenden mb_internal_encoding("ISO-8859-2"); $Betreff = mb_encode_mimeheader($betreff, "ISO-8859-2", "Q"); $kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "ISO-8859-2", "Q") . "<" . $mailfrom . ">\nContent-Type: text/plain; Charset=ISO-8859-2;\n"; if (mail($mailto, $Betreff, $text, $kopfzeile)) { // Bestätigung der E-Mail echo "<p class='hintergrund danke'>" . "Vielen Dank, Ihre Anfrage wird überprüft. Sie erhalten eine Nachricht per E-mail<br><br>"; // Link zur Startseite echo "<a href='" . $url . "'>Weiter zur Startseite</a></p>"; } else { // Wenn die Nachricht nicht versendet werden konnte, // wird die E-Mail-Adresse für den direkten Kontakt eingeblendet. echo "<p class='hintergrund danke'>Beim Senden der Nachricht ist ein Fehler aufgetreten!<br>" . "Bitte wenden Sie sich direkt an: <a href='mailto:" . $mailto . "'>" . $mailto . "</a></p>"; } } else { // Eingabefehler und Formular ausgeben echo str_replace("<!-- Fehleranzeige -->", "<b>Die Nachricht wurde aus folgendem Grund nicht versendet:</b><br>" . $eingabefehler, $formular); }}else { // Formular ausgeben echo $formular;}?>


    Einmal editiert, zuletzt von Bandit ()

  • Also bitte, einfach mal die Augen aufmachen! Da fällt dir wirklich nichts auf:

    PHP
    1. if (strlen($nachricht2) != $nachricht)
  • Ja dann mach' das doch! Ich hoffe, du erwartest jetzt nicht, dass wir dir hier die Zeile korrigieren?!? Wenn du das nicht alleine kannst, dann lerne erst einmal die Grundlagen!!