Formular korrekt?

  • Es gibt mir bei diesem bisherigen verfassten script immer nur hallo aus. ich komm nicht auf den fehler, meldungen gibt er keine aus. seht ihr irgendwo ein logikfehler. were nätt


    Es ist noch nicht fertig, aber im Tutorial sieht der dozent ein formular, ich bekomme aber nur Hallo ausgegeben und kein Formular

  • PHP
    echo "Sie sind eingeloggt"; 
        $_SESSION['eingeloggt'] = TRUE;
        $_SESSION['user'] = $user;
    PHP
    echo "Hallo".$_SESSION['user'];

    </span></span>

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Nabend, danke für deinen Post! Ich habe es mal so abgeändert, ich komme allerdings nicht mehr auf Formularseite zurück. Und jetzt muss ich noch den elseteil programmieren oder?

  • wenn du zurück willst: logout-button, oder eine zusätzliche GET-Variable, die du abfragen kannst

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Dankeschön, hab mich schon schlau gemacht. Dank PHP.net session_destroy();

    Herzlichen Dank für die promte Hilfe und einen schönen Abend noch.

  • Eins müsste ich noch wissen, bevor ich weiterbastle . Wie mache ich es das wenn man die hauptseite aufruft, keine meldungen das user id und passwort fehlen kommen, das wäre klasse. Und dann verswuche ich es noch abzusichern


    Und wenn es eine Möglichkeit die vielen if abfragen anders zu regeln, immer raus damit.

  • Hallo, ich habe bereits einige Teile umgebaut, will hier auch nichts vorgkaut bekommen aber komme nicht weiter. Geb mir aber Mühe. ich bekomme die ersten 3 echos nicht ausgegeben

    grübel....

  • Ich habe den code nochmal mit empty überarbeitet:

  • danke dir dodo, hast mir echt schon viel Hilfe geleistet. Habs so gelernt das die variableninhalte dem variablennamen zugewiesen werden. von daher müsste man die doch therotisch über den variablennamen ansprechen können. Na gut gleich mal umcoden. Danke nochmal

  • Ich muss nochmal fragen, er gibt mir keinen Parse Fehler oder so aus, das habe ich schon ganz gut drauf, aber so ganz klappt es immer noch nicht.

    :(

  • erste PHP-Zeile sollte während der Entwicklung immer Folgendes sein:

    PHP
    error_reporting(E_ALL);

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • erste PHP-Zeile sollte während der Entwicklung immer Folgendes sein:

    PHP
    error_reporting(E_ALL);


    Xampp :) und hatte doch geschrieben das es kein Parsefehler ist. Nur die Zeilen Username und Passwort fehlt erscheinen im eingeloggten Zustand immer noch :(

  • PHP
    if($user == "user1" || $pass == "passwort3" XOR $user == "user2" || $pass == "passwort4")

    Muss man das verstehen? wenn user einen wert ODER das passwort den wert hat soll xy passieren NICHT-ODER ... öh?
    meintest du das vielleicht so?

    PHP
    if($user == "user1" && $pass == "passwort3" || $user == "user2" && $pass == "passwort4")

    Deine isset() abfragen machen wenig Sinn. Wenn die Variable gesetzt ist, soll eine Fehlermeldung ausgegeben werden, das es fehlt?
    Wenn schon dann mit

    PHP
    if(empty($_POST['xy']) echo "xy fehlt.";

    Die Felder werden immer mitübergegeben, mit isset kannst du überprüfen ob ein bestimmter Button gedrückt wurde. Textinputs werden immer beim Absenden abgeschickt und sind damit immer gesetzt(auch wenn sie leer sind).

    /p.s. Nicht zu vergessen, dass der "eingelogt" status einfach per session variable zu speichern schon Fahrlässig ist...

    Einmal editiert, zuletzt von Grevas (19. Januar 2010 um 23:50)

  • Hallo danke für deine antwort, stehe ich auf dem schlauch.

    Wenn ich jetzt index.php aufrufe steht automatisch username und passwort fehlt, logge ich mich ein steht username und passwort fehlt und hallo user2.

    Macht mich ganz kirre. aber bin schon ganz schön weiter gekommen. isset, empty ect.... :)

  • /p.s. Nicht zu vergessen, dass der "eingelogt" status einfach per session variable zu speichern schon Fahrlässig ist...

    Na was muss ich dann tun, ich kanns noch nicht besser. hey moment mal das habe ich so in einem kurs der vhs gelernt. ernsthaft. das war erst letztes jahr im sommer :(

    werde mir mal den login von quake.net anschauen.

  • Dein Script macht genau das, was du verlangst. Wenn $_POST['user'] nicht gesetzt ist, kommt die Nachricht. Mach vorher ne Abfrage (die das ganze umschließt), die überprüft ob das Formular überhaupt gesendet wurde.

    Dafür musst du dem submit-input noch n Namen verpassen..

    HTML
    <p><input type="submit" value="Senden" name="gesendet" /></p>

    und in PHP

    PHP
    if(isset($_POST['gesendet'])) {
    
    
    ...
    
    
    }
  • Na was muss ich dann tun, ich kanns noch nicht besser. hey moment mal das habe ich so in einem kurs der vhs gelernt. ernsthaft. das war erst letztes jahr im sommer :(

    werde mir mal den login von quake.net anschauen.


    Könntest du freundlicherweise wenn du nochmal Zeit hast, mir schreiben wie man es anstelle macht. Event. mit Cookies?

  • Eine von mehreren Möglichkeiten: