Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235

    problema mysql_fetch_assoc

    ciao raga il mio problema è che il mysql_fetch_assco non prende tutta la password criptata con md5....

    non prende le ultime due eseguendo il codice

    codice:
     $user=($_GET["user"]);       
        $psw=md5($_GET['pass']);           
    echo $psw;    
      $query=mysql_query("SELECT password FROM users WHERE username='$user'");    
           if(mysql_num_rows($query)!=0)
    { 			$controlpsw=(mysql_fetch_assoc($query)); 			
    echo  "
    "." username corretto"; 		
     echo "
    ".$controlpsw['password'];          	
    	 if ($controlpsw==$psw){ 					
    	        echo "
    "."password ok"."
    "."Login effettuato con successo"; 				
    	} else {echo "
    "."password errata";} 			
    } else echo "hai sbagliato username";
    stampa questo

    4fc29ce125d3d71cdf11fc0ff20618b6
    username corretto
    4fc29ce125d3d71cdf11fc0ff20618
    password errata

    b6 non lo prende come mai cosa posso fare?

    grazie mille

  2. #2
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    problema risolto avevo messo variabile pasword in sql di max 30 caratteri mentra l'md5 mi restituisce 32 caratteri esadecimali
    scusate...

  3. #3
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    sorge un altro problema mi stmapa sempre password errata
    nonostante le due variabili di controllo che faccio stampare prima $controlpsw e $psw sono uguali

    come mai?

    l'uguaglianza di due array non va bene con
    codice:
     if ($controlpsw==$psw)
    ?????

  4. #4
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    problema risolto devo settare all'if

    if ($controlpsw['password']==$ceck2)

    avevo dimenticato ['password']


    mi rispondo da solo scusate per lo spazio occupato

  5. #5
    guarda che stai facendo una cosa del tutto inutile.

    SELECT password FROM users WHERE username='$user'

    e poi controllare se la password e' uguale ... ma fidati un po' di piu' del software.

    SELECT count(*) as tot FROM users
    WHERE username='$user' AND password = '$pwd')

    se $tot == 1 allora hai l'autenticazione

    == 1 e non != 0 perche' qualunque cosa che non sia zero e' diversa da zero.

    @ edit ... Altra cosa, non indicare mai se l'utente ha sbagliato la password o lo username. Di semplicemente "login errato, e micio micio, ciao ciao"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    sisi lo so grazie era solo per fare delle prove....
    il fatto invece del select è sicuramente più efficiente però in quella maniera come dici tu anche se non inserisco nè psw ne username il mysql_query esegue lo stesso e mi conta 1

    come faccio

  7. #7
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    codice:
    	$user=($_GET["user"]);     
    $pwd=md5($_GET['pass']); 	
    $query=mysql_query("SELECT count(*) as tot FROM users WHERE username='$user' AND password = '$pwd'"); 	
    $resultset=mysql_fetch_assoc($query); 	
    $prova=count($resultset); 		
    if( $prova==1){ 				
    	echo " autenticazione ok"; 			 	
    	}else echo "autenticazione ko"."\n".$prova;
    perchè $ prova è sempre 1??? sia che metto username e psw giuste o sbagliate o non le metto di niente....

  8. #8
    $prova = $resultset['tot'];


    Domanda. Perche' passi i dati sensibili via URL (GET) e non via POST?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    ok funziona great...
    il get mi era rimasto da prima
    ora metto il post
    grazie mille

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.