jo: SESSION username setzen

Ich probiere $_SESSION['username'] zu setzen. Ich sehe, dass ich ein Cookie mit password habe, aber keines mit username.

Hier ein Auszug aus dem Login Script:

if ($_POST['Submit']=='Login')  
{  
$md5pass = md5($_POST['password']);  
$sql = ("SELECT userid,username,password FROM users WHERE  
            username = '".$_POST['username']."' AND  
            password = '".$md5pass."'  
   AND user_activated='1'");  
  
$result = mysql_query($sql) or die (mysql_error());  
$num = mysql_num_rows($result);  
$fetch = mysql_fetch_object($result);  
$userid = $fetch->userid;  
$username = $fetch->username;  
  
  
    if ( $num != 0 ) {  
        // A matching row was found - the user is authenticated.  
    list($userid,$password,$username) = mysql_fetch_row($result);  
  
    // this sets variables in the session  
    setcookie('userid', $userid, strtotime("+1 month"));  
    setcookie('password', $md5pass, strtotime("+1 month"));  
    setcookie('username', $username, strtotime("+1 month"));  
 $_SESSION['username']= $username;  
 $_SESSION['password']= $md5hash;  
 $_SESSION['userid']= $userid;  
  
  
...  
}
  1. Hallo,

    1.) Das hier würde ich mit == 1 machen:
    if ( $num != 0 ) {

    2.) Prüfe doch mal, was $username für einen Output hat, evtl. bekommt die Var. keinen Datensatz, was du aber wegen 1.) nicht mitbekommst...

    Gruß, Thomas

  2. Hello,

    Ich probiere $_SESSION['username'] zu setzen. Ich sehe, dass ich ein Cookie mit password habe, aber keines mit username.

    Um session-Variablen nuthe n zu können, musst Du auch eine Session starten.

    Gleich am Anfang jedes Scriptes ein Session_Start()
    http://www.php.net/manual/en/function.session-start.php
    sorgt automatisch für alles.

    Wenn das nicht klappt, dan frag nochmal :-)

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. Hi,

    Ich probiere $_SESSION['username'] zu setzen. Ich sehe, dass ich ein Cookie mit password habe, aber keines mit username.

    Was haben Session*inhalte* denn mit Cookies zu tun?

    // this sets variables in the session
        setcookie('userid', $userid, strtotime("+1 month"));
        setcookie('password', $md5pass, strtotime("+1 month"));
        setcookie('username', $username, strtotime("+1 month"));

    Nein, das setzt keine Werte in der Session.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Ich habe das auf ==1 probiert, mit session_start() und die Ausgabe von $username. Bei den ersten beiden ist nichts passiert, beim letzteren kam der gewünschte Benutzername heraus.

      $_SESSION hat was mit Sessions zu tun. Die Cookies braucht man da nicht, war aber ein Versuch von mir.