Visualizzazione dei risultati da 1 a 3 su 3

Discussione: login e livello

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90

    login e livello

    codice:
    <?php //start session session_start(); require_once("configdb.php"); session_regenerate_id(TRUE);  //variabili per criptare in md5 = $passwordword=md5(htmlspecialchars( $_POST[password])); $login=htmlspecialchars($_POST['login']); $password=sha1(htmlspecialchars($_POST['password']));
    $query = "SELECT * FROM tabella1 WHERE login='".$login."' AND password='".$password."' AND liv = 'numero' AND activ== 'numero' LIMIT 0,1";  
    $result = mysql_query($query, $connect); 
     if(mysql_num_rows($result)) {  $row=mysql_fetch_array($result); //se è loggato creo la sessione $_SESSION['login'] = $login; $_SESSION['password'] = $password; 
     /*A QUESTO PUNTO L'UTENTE è LOGGATO E VALIDO NE ANALIZZO IL LIVELLO*/ switch($row['livello']) { 
    case X: 
    header("Location: indirizzo"); 
    break; 
    case X++: 
    header("Location: indirizzo");
     break;
    default: 
    header("Location: indirizzo");
     }
     } else { print("non sei un utente registrato quindi prima devi fare la registrazione!"); exit;  }   ?>
    Ciao a tutti, questo qui sopra è il codice che ho scritto in modo tale che con liv si possa definire se amministratore, utente semplice, utente speciale eccetera con activ se l'utente è attivo e quindi può accedere oppure se l'utente è stato disattivato perché magari ha subito un ban e cose del genere, naturalmente nel caso in cui il livello cambia bisogna portarlo ad un indirizzo diverso perché avrà diverse funzioni a disposizione

    Ora, purtroppo a me arriva direttamente alla parte dell'else con qualsiasi utente, come devo fare per fargli capire invece che deve andare da una parte o dall'altra in base all'opzione liv?
    Sia liv sia activ sono sistemati su eunum...

    Ringrazio tutti fin da ora per il cortese aiuto
    Seo Master alle prime keywords!

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Ciao,

    forse è un errore di copiatura, comunque nella query activ== 'numero' non è corretto scrivere ==, ma solo =.

    Poi prova a scrivere if (mysql_num_rows($result)!=0) al posto di if(mysql_num_rows($result)).


  3. #3
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    Ciao,

    dal codice qui sottostante, la query va a buon fine oppure ti da errore? In $row cosa ti esce? Se il contenuto è ok, togli l'exit e prosegui..., vai passo passo debuggando.

    Codice PHP:
    <?php 
    //start session 
    session_start(); 
    require_once(
    "configdb.php"); 
    session_regenerate_id(TRUE);  
    //variabili per criptare in md5

    $password md5(htmlspecialchars($_POST['password'])); 
    $login htmlspecialchars($_POST['login']); 
    $password sha1(htmlspecialchars($_POST['password']));
    $query "SELECT * FROM tabella1 WHERE login='".$login."' AND password='".$password."' AND liv = 'numero' AND activ= 'numero' LIMIT 0,1";  
    $result mysql_query($query$connect) or die(mysql_error());  

    $row mysql_fetch_array($result);
    echo 
    'Query: <PRE>'.print_r($rowtrue).'</PRE>'
    exit;

    if(
    mysql_num_rows($result)) 
    {  
         
    $row=mysql_fetch_array($result); 
         
         
    //se è loggato creo la sessione 
         
    $_SESSION['login'] = $login
         
    $_SESSION['password'] = $password
         
         
    /*A QUESTO PUNTO L'UTENTE è LOGGATO E VALIDO NE ANALIZZO IL LIVELLO */ 

        
    switch($row['livello']) { 
            case 
    1
                
    header("Location: indirizzo"); 
                break; 
            case 
    2
                
    header("Location: indirizzo");
                 break;
            default: 
                
    header("Location: indirizzo");
        }

    else 

        print(
    "non sei un utente registrato quindi prima devi fare la registrazione!"); 
        exit;  
    }   
    ?>

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 © 2024 vBulletin Solutions, Inc. All rights reserved.