Fehlermeldung bei Anmeldeformular!

  • Hallo,

    ich habe mir ein Anmeldeformular mit PHP gebastelt. Aber nun habe ich das problem das ich immer eine Fehlermeldung erhalte, nachdem ich das Formular abgeschickt habe. Es steht immer dort: "Es müssen alle Felder ausgefüllt werden", obwohl ich das gemacht habe.

    Da ich ein wenig daran rumgebastelt und sogar ein Formularfeld gelöscht habe, könnte es vielleicht daran liegen?

    Hier ist Code (Achtung, habe nur eine Muster Mailadresse eingefügt):



    Würde mich über Hilfe sehr freuen und bedanke mich recht herzlich!!!

  • musst am besten alle felder rausnehmen, bzw alle codezeilen die
    was mit diesem message feld zu tun haben..

    z.b.

    PHP
    !empty($_POST['message']) &&

    oder die zuweisung

    PHP
    $nachricht     = nl2br(stripslashes(htmlspecialchars($_POST['message'])));

    da nun das feld $nachricht fehlt, ebenfalls danach suchen und entfernen...

  • Zitat von sweet77


    ich habe mir ein Anmeldeformular mit PHP gebastelt.


    Warum schreibst du das, wenn du es ganz offensichtlich nicht selber geschrieben hast?

    in folgender Zeile das rot unterlegte löschen:

    Code
    if(!empty($_POST['name']) && !empty($_POST['email']) [COLOR=red]&& !empty($_POST['message'])[/COLOR]  && !empty($_POST['street'])  && !empty($_POST['city']) && !empty($_POST['birthday']) && !empty($_POST['fan']) && !empty($_POST['member']))

    Edit: nich ganz, driver ;)
    Die eine Zeile reicht schon :)
    Da das error_reporting offensichtlich aus ist, kann auch diese Zuweisung drinne bleiben


    Einmal editiert, zuletzt von jojo87 (28. März 2009 um 11:48) aus folgendem Grund: driver war schneller :)

  • @ jojo

    für das korrekte eintragen reichts, stimmt.
    für nen sauberen code würd ich allerdings den
    restlichen codemüll ebenfalls entfernen...

    (prüfung kommt übrigen mehrfach vor)

  • für nen sauberen Code gehört mehr als die Hälfte gelöscht bzw. neu geschrieben und in Funktionen ausgelagert ;)
    Zudem sollte diese Zuweisung nicht gelöscht, sondern in

    PHP
    $nachricht = nl2br(stripslashes(htmlspecialchars($_POST['member'])));


    geändert werden, da die Textarea einfach verschoben wurde ;)


  • Hallo Jojo und Driver,

    danke für eure Hilfe. Oh ich habe mich wohl falsch ausgedrück! ich wollte sagen das ich es nach meinen Wünschen verändert habe und nicht komplett selbst geschrieben habe :) !!!

    Ich werde es mal ausprobieren und hoffe das ich das hinbekomme :)

  • Hallo,

    ich habe das nun ausprobiert und es funktioniert mit dem senden.Allerdings werden folgende Formulare in der Mail an mich nicht angezeigt:

    Straße:
    Ich bin Fan, weil:
    Fan seit:


    Könntet ihr mir noch mal behilflich sein was ich dort eingeben muss damit ich es auch in der Mail erhalte? Danke!!!

  • Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.