Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Inserire password a random in mysql

    Ho una tabella con circa 800 registrati e vorrei popolare il campo password con dei valori a random. Per fare questo mi sono avvalso di una funzione per la creazione di password casuali che funziona, il problema è che inserita nel ciclo while non mi va ad inserire valori diversi ma una stringa uguale per tutti gli utenti.
    Non capisco perchè non funziona, il codice è questo:
    codice:
    $sql1="SELECT id FROM agg_associati";
    	$result1 = mysql_query($sql1, $conn) or die('Could not look up user information; ' . mysql_error());
    	while ($row1 = mysql_fetch_array($result1)) {
    		function PasswordCasuale($lunghezza=8){
    			$caratteri_disponibili ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
    			$password = "";
    			for($i = 0; $i<$lunghezza; $i++){
    				$password = $password.substr($caratteri_disponibili,rand(0,strlen($caratteri_disponibili)-1),1);
    			}
    			return $password;
    		}
    		$pass=PasswordCasuale();
    		$sql2="UPDATE agg_associati SET pass = '".$pass."'";
    		mysql_query($sql2, $conn) or die(mysql_error() . "
    " . $sql2);
    	}
    echo "terminato";
    Non mi funziona nemmeno l'echo final

  2. #2
    Io comunque avrei scritto il programma cosi:

    [PHP]
    Function PasswordCasuale($lunghezza=8){
    $caratteri_disponibili = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz1234567890";
    $password = "";
    for($i = 0; $i<$lunghezza; $i++){
    $password = $password.substr($caratteri_disponibili,rand(0,str len($caratteri_disponibili)-1),1);
    }
    return $password;
    }

    ******* programma principale ***********


    $sql1="SELECT id FROM agg_associati";
    $result1 = mysql_query($sql1, $conn) or die('Could not look up user information; ' . mysql_error());
    while ($row1 = mysql_fetch_array($result1)) {
    $pass=PasswordCasuale();
    $sql2="UPDATE agg_associati SET pass = '".$pass."'";
    mysql_query($sql2, $conn) or die(mysql_er

  3. #3
    Avevo provato a mettere la funzione esterna e la pagina faceva molta più fatica. Poi ho riprovato a portarla fuori ed oltre a fare meno fatica mi legge anche l'echo. Mistero...
    Comunque ho capito cos'è che non andava, era l'update finale che lo faceva su tutti perchè mancara il where id. Praticamente generava 800 password per poi memorizzarle tutte insieme, ecco perchè era così lento.

  4. #4
    Si, proprio come ti avevo detto nell'altro post...

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.