Ragazzi, potete indicarmi dove sbaglio?
Creo una funzione di genera password casuale e al momento dell'inserimento nel database della password, il campo corrispondente mi appare null, ovvero vuoto.
La funzione è corretta perchè con una echo mi stampa una password casuale.
Vi posto il codice, se gentilmente gli date un'occhiata:
<?php
// definisco mittente e destinatario della email
$nome_mittente = "Civic Sense";
$email_mittente = "pasqualelisi97@gmail.com";
// definisco il subject e il body della email
$email_oggetto = "Messaggio di prova";
$email_corpo="
<html>
<head>
<title>La sue credenziali per l'accesso a CivicSense sono:</title>
</head>
<body>
<p>E-mail: {$email}<br></p>
<p>Password: {$p}<br></p>
<p>Per accedere a CivicSense deve connettersi al sito:.<br></p>
<p>Cordiali Saluti,<br></p>
<p>CivicSenseAdmin</p>
</body>
</html>";
$dbhost="localhost";
$dbname="my_lisipcivicsense";
$dbuser="lisipcivicsense";
$dbpsw="";
$con = mysql_connect($dbhost, $dbname, $dbpsw);
mysql_select_db($dbname, $con);
// recupero i valori e li assegno alle variabili
$name = $_POST['name'];
$tipologia = $_POST['tipo'];
$email = $_POST['email'];
$nome_ente = "Bari"; //---VERRA PASSATO
$lung_pass = 5;
$flag = 1;
$name_control = mysql_query("SELECT Nome_gruppo FROM GruppiRisoluzione WHERE Nome_gruppo = '$name'");
if(mysql_num_rows($name_control)) {
$toinsert = "INSERT INTO GruppiEnte (Nome_ente, tipologia, Nome_gruppo, gruppo_abilitato)
VALUES ('$nome_ente', '$tipologia', '$name', '$flag')";
$toupdate = "UPDATE GruppiEnte SET gruppo_abilitato=0 WHERE Nome_ente='$nome_ente' AND tipologia = '$tipologia' AND Nome_gruppo NOT LIKE '$name'";
} else {
$toinsert = "INSERT INTO GruppiEnte (Nome_ente, tipologia, Nome_gruppo, gruppo_abilitato)
VALUES ('$nome_ente', '$tipologia', '$name', '$flag')";
$p = generaPassword($lung_pass);
$toinsertp = "INSERT INTO GruppiRisoluzione (Nome_gruppo, email_gruppo, psw)
VALUES ('$name', '$email', '$p')";
$toupdate = "UPDATE GruppiEnte SET gruppo_abilitato=0 WHERE Nome_ente='$nome_ente' AND tipologia = '$tipologia' AND Nome_gruppo NOT LIKE '$name'";
/*if (mail($email, $email_oggetto, $email_corpo, $email_headers)){
echo "Messaggio inviato con successo a " . $email_destinatario;
}else{
echo "Errore. Nessun messaggio inviato.";
}*/
}
//declare in the order variable
$result = mysql_query($toinsert); //order executes
if($result){
echo("<br>Inserimento avvenuto correttamente");
} else{
echo("<br>Inserimento non eseguito");
}
$result = mysql_query($toinsertp); //order executes
if($result){
echo("<br>Inserimento2 avvenuto correttamente");
} else{
echo("<br>Inserimento2 non eseguito");
}
$result = mysql_query($toupdate); //order executes
if($result){
echo("<br>Aggiornamento avvenuto correttamente");
} else{
echo("<br>Aggiornamneto non eseguito");
}
function generaPassword($lung_pass){
// Creo un ciclo for che si ripete per il valore di $lung_pass
for ($x=1; $x<=$lung_pass; $x++){
// Se $x è multiplo di 2...
if ($x % 2){
// Aggiungo una lettera casuale usando chr() in combinazione
// con rand() che genera un valore numerico compreso tra 97
// e 122, numeri che corrispondono alle lettere dell'alfabeto
// nella tabella dei caratteri ASCII
$mypass = $mypass . chr(rand(97,122));
// Se $x non è multiplo di 2...
}else{
// Aggiungo alla password un numero compreso tra 0 e 9
$mypass = $mypass . rand(0,9);
}
}
return $mypass;
}
?>