Quote Originariamente inviata da Alhazred Visualizza il messaggio
No, se metti * l'id già lo recuperi, però se gli altri campi non ti interessano è meglio mettere id invece che *, così ottimizzi un po' la query che ti restituisce solo ciò di cui hai bisogno risparmiando memoria.

Dopo la query dovresti mettere

$result = mysql_fetch_array($result);
$_SESSION['id'] = $result['id'];

in questo modo hai in sessione l'id dell'utente loggato

Comunque io per decidere se uno è l'amministratore non mi baserei sull'id, ma aggiungerei alla tabella un campo "permesso" in cui inserire un numero o un codice che poi interpreterai tu, per esempio:
25 identifica l'admin
11 identifica l'utente normale

meglio usare numeri "strani" per rendere difficili eventuali attacchi.

Inoltre con questo sistema puoi avere diversi livelli di accesso, non solo 2, e puoi decidere di far passare da un livello all'altro i vari utenti.
Uhm vediamo se ho capito bene:

codice:
$result =  mysql_query("SELECT id FROM user WHERE username = '$username' AND password = '$pass' ")or die(mysql_error); 
	   
	    $count = mysql_num_rows($result); 
		
		$res = mysql_fetch_array($res);
		$_SESSION['id'] = $res['id'];
		
		if($count == 1)
		{
		   
		   $_SESSION['login'] = $username; 
		   echo "Login eseguito con successo!";
		   
		   if ($_SESSION['id'] == '1') 
		   { 
		   
                   header("location: admin.php"); 
        
		   } 
		   else
		   {
		   
		   header("location: index.php"); 
           
		   }
Il problema è che mi collega sempre su index.php pur avendo id = 1