Was mache ich falsch? - Php und Sessions und Echo

  • Guten Abend,


    ich bin irritiert, was mache ich falsch?



    Wenn ich mich als David "einlogge", dann wird eine Session gesetzt, aber nicht eine Zweite. (Irgendeine, entweder username oder online. Es wird kein Echo Befehl ausgegeben.
    Wenn ich mich versuche als David M. einzuloggen, passiert das Gleiche wie gerade beschrieben.


    Jetzt ist die Frage, was mache ich falsch? Irgendwie funktioniert das nicht so, wie dass da in PHP steht.


    Ich hoffe jemand kann mir helfen. :)


    Viele Grüße
    Chris


    Gredsoft :>

    Einmal editiert, zuletzt von Chris ()

  • 1. Wählt er auch die richtige DB aus? Bzw. was steht in $db drinne?

    PHP
    $selecting = mysql_select_db($db);


    2. Hast du hier ein = zu viel

    PHP
    <form action="<?=$_SERVER['PHP_SELF']?>" method="post">


    zu

    PHP
    <form action="<?$_SERVER['PHP_SELF']?>" method="post">


    und 3. Wie kannst du David und David M. gleichzeitig heißen?
    d.h. du überprüft, ob David eingegeben wurde. Falls du ja, überprüft du auch noch, ob David M. eingegeben wurde. Für eine Sachen müsstest du dich dann dort schon entscheiden



    (Falls ich irgendwo falsch liege, pls verbessern)

  • d.h. du überprüft, ob David eingegeben wurde. Falls du ja, überprüft du auch noch, ob David M. eingegeben wurde. Für eine Sachen müsstest du dich dann dort schon entscheiden


    Ich möchte ja wissen, ob der User "David" ist. Wenn dies der Fall ist, werden die Sessions Online und Username gesetzt. Wenn dies geschehen ist, wird überprüft ob der User David M. ist, wenn dies der Fall ist, soll noch eine Session gesetzt werden.
    Ich hoffe, dass du jetzt verstehst was ich meine.


    Jedoch habe ich, wie ich gerade durch TutNichts erfahren habe, $username gar nicht definiert.

  • Is mir klar, dass du eine Session setzt, jedoch dürfte da doch noch nichts anderes drinne steht, als David, oder?


    :O - Ich glaube jetzt verstehe ich, was du mir vermitteln möchtest.


    Wäre es dann besser, wenn ich zwei Abfragen mache? Einmal mit David M. und einmal mit David?


  • Jetzt habe ich das so, jedoch wird sofort eine Session gesetzt, wenn ich die Seite aufrufe... -.-

  • Chris: Was genau sollen die folgenden Zeilen bezwecken?


    PHP
    echo 'Du bist als $username eingeloggt.';
                    $_SESSION['username'];
                    $_SESSION['online'];


    Übrigens kann man Variablen meines Wissens nur im "Text" darstellen, wenn man die doppelten Anführungszeichen verwendet.

  • Gredsoft - *entfernt von Chris*



    Funktioniert trotzdem immer noch nicht.... :(

  • meckert er hier nicht rum?

    PHP
    $_SESSION['online'] = yes;


    entweder du machst es so

    PHP
    $_SESSION['online'] = "yes";


    oder so

    PHP
    $_SESSION['online'] = true;


    Und was funktioniert denn jetzt genau nicht?


    Außerdem frage ich mich immernoch was hier "$db" drinne steht ;)?

  • Zeile 40: da sollte wohl "echo $_SERVER['PHP_SELF']" stehen. Denn ohne "echo" wird auch nix in den HTML-Code getan.
    Zeile 55: $_POST['sent'] wird in der Form nicht gesetzt.
    Zeile 63: § sollte wohl $ heißen.


    PHP
    <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">    Username:   <input type="text" name="username" size="20" />    Passwort:   <input type="passwort" name="passwort" size="20"/>    <input type="submit" name="submit" /></form><?php    $username   = $_POST['username'];    $pw         = $_POST['passwort'];    if(true /*isset($_POST['sent'])*/ )    {         if($username == "David" AND $pw == "test")            {                echo "Du bist als $username eingeloggt.";                $_SESSION['username'] = $username;                $_SESSION['online'] = true;            }        if($username == "David Mayer")            {                echo 'Du bist als Administrator online.';                $_SESSION["admin"] = true;            }    }

    4 Mal editiert, zuletzt von rinukkusu ()

  • Zeile 59:


    PHP
    echo 'Du bist als $username eingeloggt.';


    Das musst du so schreiben, sonst wird die Variable nicht ersetzt:


    PHP
    echo "Du bist als $username eingeloggt.";


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Guten Tag,


    leider wird immer, mit aufrufen der Seite, eine Session, bzw. ein Cookie gesetzt.
    Ich weiß leider nicht mehr weiter. Ich werde das System neu Anfangen. Wenn Probleme wieder auftauchen, werde ich mich melden.


    Ich bedanke mich für eure Unterstützung!


    Einen schönen Tag!


    Viele Grüße
    Chris


    //close

    Einmal editiert, zuletzt von Chris ()