Login: Session wird nicht gespeichert

creativeheadz

Erfahrenes Mitglied
Hallo,

ich habe eine Klasse mit folgender Login Funktion:

PHP:
 function login($email, $password){
 
  $value = "COUNT(USER_ID)";
 
  $sql = "SELECT $value 

			FROM user 
			
			WHERE EMAIL='".htmlentities($email)."' && PWD='".htmlentities(md5($password))."'";
 
   $query = mysql_query($sql);
  
   $count = mysql_fetch_row($query);

    if($count[0] > 0){
	
	 $value = "*";
	 
     $query = mysql_query($sql);
	 
	   while($user = mysql_fetch_object($query)){
	
	   $user_id		 = $user->USER_ID; 
	   
	   $user_status	 = $user->STATUS;
	
	   }
	   
	   	    
	   if($user_status == 1){
		
		 // ERROR : USER NOCH NICHT AKTIVIERT
		
		}else{
		
		  $_SESSION['user_id']	= $user_id;	  
		  
		  header('Location: home.tpl');
		
		}
  
    }else{
	
	 header('Location: signup.tpl');
  
    }
 
 }

Leider wird die User ID nicht in der Session gespeichert. Was mache ich falsch?

Gruß
 
item: Du musst nicht das $sql 2 mal hintereinander mit mysql_query() öffnen. Einmal reicht.

item: Ist die Session gestartet?

item: Kommt der Code in den entsprechenden Schleifen-Abschnitt wo die userid der Session zugewiesen wird?
 
Bist du sicher, dass dein Test in die folgende Schleife rein kommt?
Ansonsten prüf das mal mit einem echo()
PHP:
        }else{
        
          $_SESSION['user_id']    = $user_id;      
          
          header('Location: home.tpl');
        
        }
 
Hm, also wenn ich es so schreibe dann klappt's... nur jetzt hab ich wieder 2 queries drin :/

PHP:
 function login($email, $password){
 
  $value = "COUNT(USER_ID)";
 
  $sql = "SELECT $value 

			FROM user 
			
			WHERE EMAIL='".htmlentities($email)."' && PWD='".htmlentities(md5($password))."'";
 
   $query = mysql_query($sql);
  
   $count = mysql_fetch_row($query);

    if($count[0] > 0){
	
	 $value = "*";
	 
	 $sql = "SELECT $value 

			FROM user 
			
			WHERE EMAIL='".htmlentities($email)."' && PWD='".htmlentities(md5($password))."'";
	 
	 $query = mysql_query($sql);
	 
	   while($user = mysql_fetch_object($query)){
	
	    $user_id		 = $user->USER_ID; 
	   
	    $user_status	 = $user->STATUS;
	
	   }
	   
	   	    
	   if($user_status == 1){
		
		 // ERROR : USER NOCH NICHT AKTIVIERT
		
		}else{
		
		  $_SESSION['user_id']	= $user_id;
		
		}
  
    }else{
	
	 header('Location: signup.tpl');
  
    }
 
 }
 
Zurück