Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Aree private

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    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.

  2. #2
    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
    ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.