Registrazione con password di tipo Random

MGbyte78

Nuovo Utente
6 Mag 2006
20
0
0
Salve a tutti, ho creato un form di registrazione dove l'utente per registrarsi deve scegliere una username ed una password. Io vorrei invece che inserisse solo una username ed un indirizzo email in quanto la password vorrei inviarla io. Che codice posso usare per creare una password di tipo RANDOM ed essere sicuro che l'utente non abbia la stessa di un'altro già registrato?
 
ciao, potresti creare una "sequenza" sul database in modo che le password vengano assegnate seguendo l'istruzione che gli hai dato..
io ad esempio per assegnare l'id uso una semlice sequenza che aumenta di uno il valore di ogni nuova registrazione per la password puoi inventare una sequenza che aumenta i numeri o e inserisce lettere..
 
Io per assegnare la ID uso phpmyadmin ed le assegno come proprietà "autoincremental" o qualcosa del genere ora non ricordo bene, comunque in questa maniera riesco a far avanzare di uno il valore della ID. Per quanto riguarda la password come potrei fare? Ci vorrebbe un comando che mi generasse nella pagina php un numero o una stringa casuale che venga successivamente in serita nel campo password del database, si potrebbe fare? Scusa se non ho capito il tuo metodo, puoi aiutarmi a comprendere meglio magari con qualche esempio?
 
Ciao.
La cosa è più semplice di quella che credi!
La stringa deve perforza essere alfanumerica o basta che sia numerica?
Se ti può bastare numerica, dà uno sguardo alla funzione rand().
 
Grazie, ho risolto così, penso che sia un buon metodo, correggimi se sbaglio:

<?
// Lunghezza della password a 15 caratteri
$lunghezza_pass = 15;

// Ciclo su ogni carattere della password
for ($i=1; $i<=$lunghezza_pass; $i++)
{
// Se $i è multiplo di 2...
if ($i % 2){

/* Aggiungo una lettera casuale usando chr()
in combinazione con rand() */

$pass_generata = $pass_generata . chr(rand(97,122));

// Se $x non è multiplo di 2...
}else{

// Aggiungo alla password un numero
// compreso tra 0 e 9

$pass_generata = $pass_generata . rand(0,9);
}
}

?>

<?
// Nella pagina form c'era solo il campo user da passare....
$user=$_POST['user'];

// Il nome dell'host (hostname) su cui si trova MySQL
$dbhost = "localhost";

// Il nome del nostro database
$dbname = "passwordrand";

// Il nostro nome utente (username)
$dbuser = "root";

// La nostra password
$dbpass = "";

//Installare la connessione al database
// Funzione mysql_connect()
$conn = mysql_connect($dbhost,$dbuser,$dbpass)
or die("Impossibile collegarsi al server MySQL.");

//selezionare il database
// Funzione mysql_select_db()
mysql_select_db($dbname,$conn)
or die("Impossibile selezionare il database $dbname");


//Inizio la query
$strsql = "select * from rand where passw='$pass_generata'";
$query = mysql_query($strsql)
or die ("Non riesco ad eseguire la query $query");

if(mysql_num_rows($query)>0)
{

//se la stringa è già presente nel database rigenero la password.................................................................................................................
// Lunghezza della password a 15 caratteri
$lunghezza_pass = 15;

// Ciclo su ogni carattere della password
for ($i=1; $i<=$lunghezza_pass; $i++)
{
// Se $i è multiplo di 2...
if ($i % 2){

/* Aggiungo una lettera casuale usando chr()
in combinazione con rand() */

$pass_generata = $pass_generata . chr(rand(97,122));

// Se $x non è multiplo di 2...
}else{

// Aggiungo alla password un numero
// compreso tra 0 e 9

$pass_generata = $pass_generata . rand(0,9);
}
}

//.......................................................................................................................................

}
else

{
$sql="Insert into rand values('','$user','$pass_generata')";
mysql_query($sql,$conn)
or die("no");
mysql_close($conn);
}
?>
 

Discussioni simili