ragazzi sto esaurendo non riesco a sistemare sto script i files del controllo dei dati per il ricavato della password vengono controllati nel send.php poi viene spedita un email per l attivazione adesso a questa attivazione ho messo un form con tre campi d input , il primo per inserire l attuale password il secondo per dare la possibilita all utente di inserire la nuova password ma non riesco a venirne fuori e vi spiego il perche.
il significato dello script di attivazione e
Codice PHP:
if ($verita =="1")//e qui inizia l attivazione della password
e adesso al form per il cambiamento della nuova password ho messo anche la condizione che se e uno il form deve essere visivo se no da solò il messaggio d errore . adesso non so come mettere i controlli a questo form e far controllare se la password e giusta mi date una mano magari metto il codice
Codice PHP:
$DB = new DB();
session_start();
unset($_SESSION['nick']);
unset($_SESSION['email']);
// Si connette
$DB->connect();
//No need to change anything below ...
// Gets the date and time from your server
$date = date("d/m/Y H:i:s");
// Gets the IP Address
if ($_SERVER['REMOTE_ADDR'] == "")
{
$ip = "no ip";
}
else
{
$ip = gethostbyaddr($_SERVER['REMOTE_ADDR']);
}
// Gets the POST Headers - the Flash variables
$action = $_REQUEST['action'] ;
$nickname = $_REQUEST['nick'] ;
$m = $_REQUEST['email'] ;
$CONFIG['check_table'] = array(
"name" => "check_global",
"email" => "check_global"
);
function check_username($nickname,$m)
{
global $CONFIG;
$nickname = trim($nickname);
$m = trim($m);
if (($nickname == "")||($m == ""))
{return"I campi nome e email sono obbligatori!
";}
if (!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $m))
{return"Il seguente indirizzo email :[b]$m[/b]
E'composto da caratteri non ammessi!
";
}
else
{
//$query = @mysql_query("SELECT FROM utenti WHERE nick='$nickname' || email='$m'") or die("Errore nella query");
$query = mysql_query("SELECT *
FROM `utenti`
WHERE `nick` ='$nickname'
AND `email` = '$m' and `stato` = '1'
LIMIT 0 , 1");
if (@mysql_num_rows($query) == 0){ return"L' email[b] " .$_REQUEST['email']."[/b] e il seguente username [b]" .$_REQUEST['nick']."[/b]
Non corrispondono! ";}else{return"OK";}
if (@mysql_num_rows($query) != 0){ return" Controllo avenuto con successo ";}{return"OK";}
}
}
if ($action == "send")
{
//Innanzitutto controlliamo la var.le name:
$controllo = check_username($nickname,$m);
if ($controllo != "OK")
{
echo $controllo;
//Qui potresti anche far visualizzare una cosa del genere:
echo "
[url='$urlpatch/user/rememberpass.php']Ritorna alla registrazione[/url]";
}
else
{
/*dopo aver fatto i vari controlli iniziamo ad creare la password a random*/
for ($i=0;$i<=7;$i++) { $new_pass .= chr(rand(97, 122)); }
//echo"$new_pass
";//andranno cancellati solamente per testare lo script prima di criptare la password
$user_dati = " SELECT * FROM utenti
WHERE `nick` ='$nickname'
AND `email` = '$m' ";
$result = mysql_query($user_dati);
// controllo l'esito
if (!$result) {
die("Errore nella query $user_dati: " . mysql_error());
}
while($row = mysql_fetch_array($result))
{
$ragionesociale = $row['ragionesociale'];
$nome = $row['nome'];
$cognome = $row['cognome'];
$codicefiscale = $row['codicefiscale'];
$nazione = $row['nazione'];
$adress = $row['adress'];
$city = $row['city'];
$provincia = $row['provincia'];
$kap = $row['kap'];
$phone = $row['phone'];
$m = $row['email'];
$dat_iscrizione = $row['date'];
$date_ultimemod_user = $row['date_ultimemod_user'];
$numero_a_caso = $row['caso'];
}
require ("../includes/include.php");
mail ( "$adminaddress","informazioni",
"In data $date , \n
L'utente $nome $cognome\n
Ha fatto richiesta di una nuova password!
=========================================
".LOGIN_USER." $nickname
".EMAIL_USER." $m
".PHONE_USER." $phone
".DATE_ISCRIZIONE_USER." $dat_iscrizione
".DATE_ULTIMA_MODIFICA_USER." $date_ultimemod_user
=========================================
" );
//This sends a confirmation to your visitor
mail ("$m","Recupero password:",
"Salve $nome $cognome ,\n
Le inviamo la nuova password.\n
==============================
".LOGIN_USER." $nickname
".EMAIL_USER." $m
==============================
Nuova password: $new_pass
==============================
".DATE_ISCRIZIONE_USER." $dat_iscrizione
".DATE_ULTIMA_MODIFICA_USER." $date_ultimemod_user
==============================
==============================
ricevi questa email perche' hai richiesto una nuova password su $urlpatch .
La nuova password deve essere attivata. Per farlo devi cliccare sul link sottostante.\n"
.$urldelvostrosito."user/changepassword.php?user=$nickname&email=$m&check=$numero_a_caso
==============================
Saluti dallo Staff di $sitename
By
$siteaddress","FROM:$adminaddress ") ;
/*qui codifico la password*/
$new_pass = criptpass ($new_pass);
//echo"$new_pass
"; questa sara visualizzata solamente per testare
/*qui per testare lo script uso il valore insert in un altro database */
//$aggiorno_pass_utente = "INSERT INTO mailing (name,email) VALUES ('$name','$new_pass')";
$aggiorno_pass_utente = "UPDATE utenti SET pass= '$new_pass',`stato` = '0' , date_ultimemod_user ='".date('Y-m-d H:i:s')."' WHERE email ='$m' " ;
if (mysql_query($aggiorno_pass_utente))
{
echo "La vuova password l'è stata inviata nel suo indirizzo di posta elettronica
";
echo "<meta http-equiv=\"Refresh\" content=\"3; URL=".$_SERVER['PHP_SELF']."\">";
}
else
{
die(mysql_error());
}
// Chiude
$DB->disconnect();
}
}
Codice PHP:
#####################################################################################################################
//ATTIVAZIONE INDIRIZZO EMAIL
#####################################################################################################################
$DB = new DB();
$DB->connect();
$nickname = $_GET[user];
$m = $_GET[email];
$check_user = $_GET[check];
if($nickname){
$nickname = $_GET[user];
}
else
{$nickname = "1";}
if($m){
$m = $_GET[email];
}
else
{$m = "1";}
if(is_numeric($check_user)){
$check_user = $_GET[check];
}
else
{$check_user = "1";}
$controllo_utente = mysql_query ("SELECT *
FROM `utenti`
WHERE `email` = '$m'
AND nick ='$nickname'
LIMIT 0 , 1 ");
$verita = mysql_num_rows($controllo_utente);
if ($verita =="1")
{
$aggiorno_utente = mysql_query ("UPDATE `utenti` SET `stato` = '1' ,`date_ultimemod_user` ='".date('Y-m-d //H:i:s')."' WHERE `email` ='$m' ") ;
$user_dati = " SELECT * FROM utenti
WHERE `nick` ='$nickname'
AND `email` = '$m' ";
$result = mysql_query($user_dati);
// controllo l'esito
if (!$result) {
die("Errore nella query $user_dati: " . mysql_error());
}
while($row = mysql_fetch_array($result))
{
$nome = $row['nome'];
}
echo "Ciao [b]$nome[/b] la tua password e stata attivata ";
}
else
{
echo"La tua password è già attiva".mysql_error();
}
// Chiude
$DB->disconnect();
###########################################################################################################################
if ($verita =="1")
{
echo"<div id='formremember'>\n
";
echo"<FORM METHOD=POST ACTION='' name='test'>\n";
echo"<table id='rememberpass'>\n";
echo"<tr>\n";
echo"<td id='spacerremember'></td>\n";
echo"<td id='spacerremembertext'><label>33333</label></td>\n";
echo"<td><INPUT TYPE='password' NAME='pass'></td>\n";
echo"</tr>\n";
echo"<tr>\n";
echo"<td id='spacerremember'></td>\n";
echo"<td id='spacerremembertext'><label>33333</label></td>\n";
echo"<td><INPUT TYPE='password' NAME='newpsw'></td>\n";
echo"</tr>\n";
echo"<tr>\n";
echo"<td id='spacerremember'></td>\n";
echo"<td id='spacerremembertext'><label>33333</label></td>\n";
echo"<td><INPUT TYPE='password' NAME='confirmnewpsw'></td>\n";
echo"</tr>\n";
echo"<tr>\n";
echo"<td></td> <td></td>\n";
echo"<td><input name='submit' type='submit' value='Invia'> <input type='hidden' name='action' value='send'>";
echo"<input name='reset' type='reset' value='reset'></td>\n";
echo"</tr>\n";
echo" </table>\n";
echo"</FORM>\n";
echo"</div>\n";
}
else
{
mysql_error();
}