Kriege unverständliche Fehlermeldung Notice: Undefined index: email in ...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kriege unverständliche Fehlermeldung Notice: Undefined index: email in ...

    Hey leute!
    Hab mir ein PHP Buch gekauft und gelernt das ist bei mir rausgekommen ( siehe unten ) und ich stocken an einer Fehlermeldung!

    Quellcode

    1. //HTML ETC...
    2. if(isset($_POST['submit']) AND $_POST['submit']=='feedback'){
    3. $errors = array();
    4. if(!isset($_POST["email"],$_POST["text"]))
    5. $errors = "Bitte benutzen Sie das Formular aus dem Feedbackbereich!";
    6. }
    7. if(trim($_POST['email'])=='')
    8. $errors[]= "Bitte geben Sie eine e-mail Adresse ein.";
    9. elseif(strlen(trim($_POST['email'])) < 5)
    10. $errors[]= "Ihre Adresse muss mindestens 5 Zeichen lang sein!";
    11. elseif(!preg_match('§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§', trim($_POST['Email'])))
    12. $errors[]= "Ihre Email Adresse hat eine falsche Syntax.";
    13. if(trim($_POST['text'])=='')
    14. $errors[]= "Sie haben keinen Text angegeben!";
    15. if(count($errors)){
    16. echo "Ihre Nachricht konnte nicht an uns versendet werden!<br>\n".
    17. "<br>\n";
    18. foreach($errors as $error)
    19. echo $error."<br>\n";
    20. echo "<br>\n".
    21. "Zurück zur <a href=\"".$_SERVER['PHP_SELF']."\">Startseite</a>\n";
    22. }
    23. echo "<form ".
    24. " name=\"feedback\" ".
    25. " action=\"".$_SERVER['PHP_SELF']."\" ".
    26. " method=\"post\" ".
    27. " accept-charset=\"ISO-8859-1\">\n";
    28. echo "e-mail: ";
    29. echo "<input style=\"margin-left: 15px;\" title=\"email\" name=\"email\">";
    30. echo "<p>";
    31. echo "text: ";
    32. echo "<textarea cols=\"30\" rows=\"4\" style=\"margin-left: 58px;\" name=\"text\">Enter your comments here...</textarea>";
    33. echo "</p>";
    34. echo "<p>";
    35. echo "<input type=\"submit\" name=\"submit\" value=\"Senden\">";
    36. echo "<input type=\"reset\" value=\"Zurücksetzen\">\n";
    37. echo "</p>";
    38. echo "</form>";
    Alles anzeigen


    Fehlermeldung:

    Quellcode

    1. Notice: Undefined index: email in ...
    2. Notice: Undefined index: text in ...


    Wo liegt mein Fehler?
    Ich habe noch andere Scripte, bei denen ich genauso abfrage.
    Was mach ich Falsch???

    Freu mich schonmal auf Antworten!!!
    mfg SE
  • Naja, da versucht php halt, im Array $_POST auf den nicht existierenden Key "email" und "text" zuzugreifen.

    Ich würde mal sagen, dass du da mit dem if-Abfragen durcheinnander gekommen bist, und die schließende geschweifte Klammer in Zeile 9 eher in Zeile 28 stehen sollte.

    Ich hab das jetzt nicht getestet, aber so sollte das ganze ohne Notice (die halt eh nur eine NOTICE=>Anmerkung ist) klappen:

    PHP-Quellcode

    1. <?php
    2. if (isset($_POST['submit']) AND $_POST['submit'] == 'feedback') {
    3. $errors = array();
    4. if (!isset($_POST["email"], $_POST["text"]))
    5. $errors = "Bitte benutzen Sie das Formular aus dem Feedbackbereich!";
    6. if (trim($_POST['email']) == '')
    7. $errors[] = "Bitte geben Sie eine e-mail Adresse ein.";
    8. elseif (strlen(trim($_POST['email'])) < 5)
    9. $errors[] = "Ihre Adresse muss mindestens 5 Zeichen lang sein!";
    10. elseif (!preg_match('§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§', trim($_POST['Email'])))
    11. $errors[] = "Ihre Email Adresse hat eine falsche Syntax.";
    12. if (trim($_POST['text']) == '')
    13. $errors[] = "Sie haben keinen Text angegeben!";
    14. if (count($errors)) {
    15. echo "Ihre Nachricht konnte nicht an uns versendet werden!<br>\n" .
    16. "<br>\n";
    17. foreach ($errors as $error)
    18. echo $error . "<br>\n";
    19. echo "<br>\n" .
    20. "Zurück zur <a href=\"" . $_SERVER['PHP_SELF'] . "\">Startseite</a>\n";
    21. }
    22. }
    23. echo "<form " .
    24. " name=\"feedback\" " .
    25. " action=\"" . $_SERVER['PHP_SELF'] . "\" " .
    26. " method=\"post\" " .
    27. " accept-charset=\"ISO-8859-1\">\n";
    28. echo "e-mail: ";
    29. echo "<input style=\"margin-left: 15px;\" title=\"email\" name=\"email\">";
    30. echo "<p>";
    31. echo "text: ";
    32. echo "<textarea cols=\"30\" rows=\"4\" style=\"margin-left: 58px;\" name=\"text\">Enter your comments here...</textarea>";
    33. echo "</p>";
    34. echo "<p>";
    35. echo "<input type=\"submit\" name=\"submit\" value=\"Senden\">";
    36. echo "<input type=\"reset\" value=\"Zurücksetzen\">\n";
    37. echo "</p>";
    38. echo "</form>";
    Alles anzeigen
    Jan Thurau
    Software and Systems Engineer
    janthurau.de

    [Blockierte Grafik: http://www.pageheroes.com/media/image/pageheroes_logo.png] - We get your page working!