Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: problemino di login...

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

    problemino di login...

    Ciao a tutti,
    l'iscrizione dell'utente avviene in modo perfetto criptando la password in SHA1, fin qui nulla da riscontrare, il problema è quando si fa il login perché non mi trova l'utente, io ho fatto così:

    <?php require_once ("class_connect_db.php"); //start session session_start(); session_regenerate_id(TRUE); //variabili per criptare in md5 = $pwsword=md5(htmlspecialchars( $_POST[pws])); $nick = htmlspecialchars($_POST['nick']); $pws = sha1(htmlspecialchars($_POST['pws'])); $query="SELECT nick, pws, livello FROM utenti WHERE nick='".$nick."' AND pws='".$pws."'"; $result = mysql_query($query, $connect); $num_rows = mysql_fetch_array($result); if ($num_rows>0) { //se è loggato creo la sessione $_SESSION['nick'] = $nick; $_SESSION['pws'] = $pws; /*A QUESTO PUNTO L'UTENTE è LOGGATO E VALIDO NE ANALIZZO IL LIVELLO*/ switch($num_rows['livello']) { case 5: header("Location: http://sito/master/home.php"); break; case 7: header("Location: http://sito/admin/home.php"); break; default: header("Location: http://sito/utenti/home.php"); } } else { print("non sei un utente registrato quindi prima devi fare la registrazione!"); exit; } ?>
    Il vero problema è che invece di farmi tutta l'analisi per definire quale tipo di utente mi ritrovo, mi manda subito al punto Che devo fare la registrazione, secondo voi dove si trova l'errore?
    Seo Master alle prime keywords!

  2. #2
    Guarda quello che hai postato!

    Usa gli appositi tag per il codice ed una corretta identazione p.f.
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    Ti chiedo scusa, hai perfettamente ragione!

    Codice PHP:
    <?php require_once ("class_connect_db.php"); 
    //start session session_start(); 
    session_regenerate_id(TRUE); 
    $nick htmlspecialchars($_POST['nick']); 
    $pws sha1(htmlspecialchars($_POST['pws']));
    $query="SELECT nick, pws, livello FROM utenti WHERE nick='".$nick."' AND pws='".$pws."'"$result mysql_query($query$connect); 
    $num_rows mysql_fetch_array($result); 
    if (
    $num_rows>0) { 
    //se è loggato creo la sessione 
    $_SESSION['nick'] = $nick
    $_SESSION['pws'] = $pws/*A QUESTO PUNTO L'UTENTE è LOGGATO E VALIDO NE ANALIZZO IL LIVELLO*/
    switch($num_rows['livello']) { 
    case 
    5header("Location: [url]http://sito/master/home.php[/url]"); break; 
    case 
    7header("Location: [url]http://sito/admin/home.php[/url]"); break; 
    default: 
    header("Location: [url]http://sito/utenti/home.php[/url]"); 


    else { print(
    "non sei un utente registrato quindi prima devi fare la registrazione!");
    exit;

    ?>
    Ecco, adesso è sistemato nel modo giusto, però nonostante tutto ogni volta che la guardo non riesco proprio a capire dove sia l'errore...
    Seo Master alle prime keywords!

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    Se esiste allora creò la sessione...
    Seo Master alle prime keywords!

  6. #6
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    per contare i record penso che tu debba fare così

    anzichè

    Codice PHP:
    $num_rows mysql_fetch_array($result); 
    devi far così

    Codice PHP:
    $num_rows mysql_num_rows($result); 

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    Originariamente inviato da torrone
    per contare i record penso che tu debba fare così

    anzichè

    Codice PHP:
    $num_rows mysql_fetch_array($result); 
    devi far così

    Codice PHP:
    $num_rows mysql_num_rows($result); 


    Provato a fare anche questa prova adesso che mi hai suggerito questo metodo, ma purtroppo non funziona, mi dà sempre lo stesso errore...
    Seo Master alle prime keywords!

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    Secondo me il tutto deriva dal fatto che lo Switch in realtà non funziona, potrebbe darsi che questo è dovuto al fatto che la password non è inserita come index all'interno del db?
    Seo Master alle prime keywords!

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Visto che sei in fase di debug, procedi uno step alla volta. Ad esempio, ora come ora non controlli se la query va a buon fine:

    prova con qualcosa del genere:
    Codice PHP:
    $result mysql_query($query$connect) or die (mysql_error()."
    "
    .$query); 
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    90
    Nulla, evidentemente viene fatto anche perché ricollegarsi si collega visto che comunque non mi dà nessun errore, il record all'interno della tabella viene registrato e tutto sembra a posto, il problema è che ogni volta mi dice che non sono un utente registrato e via...

    Effettivamente anche a me sembra che non faccia la query almeno visto così a occhio
    Seo Master alle prime keywords!

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.