ciao sto continuasndo a modificare quello script per l invio della password adesso il problema e questo io lo script l ho inserito tutto dentro ad un files all inizio fa i controlli dell user e dell email se trova questi dati inserisce una password criptata e invia l email all utente adesso pero nell email ho messo anche il link per l attivazione e nel form che sono due ho messo una condizione del tipo se verita e uguale ad 1 fai vedere il form di cambio password se non e uno, mostra il form dell controllo pero sia quando e 1 o 0 mida su tutto i controlli del form di controllo email vi posto il codice magari ci date un occhiata e mi date qualche vostro parere o mi dite cosa sbaglio
come posso dividere gli script ? cosa mi consigliate? ciao
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"Compilare i campi $value
";}
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/sendtest.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();
}
}//
#####################################################################################################################
//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' ") ;
}
else
{
mysql_error();
}
// Chiude
$DB->disconnect();
###########################################################################################################################
## ##
##qui dice se verita che equivale al controllo del database a il valore 1 ##
##fa visualizzare il form per il cambio password se no mi da quello per il controllo ##
## ##
###########################################################################################################################
if ($verita =="1")
{
echo " $nickname $m $check_user
e corretto lo script qui dovrebbe iniziare la procedura di cambio password";
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='spacerrememberpass'><label>Password</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='spacerrememberpass'><label>nuova Password</label></td>\n";
echo"<td><INPUT TYPE='password' NAME='newpass'></td>\n";
echo"</tr>\n";
echo"<tr>\n";
echo"<td id='spacerremember'></td>\n";
echo" <td id='spacerrememberpass'><label>Conferma password</label></td>\n";
echo"<td><INPUT TYPE='password' NAME='confirmnewpass'></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
{
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>name</label></td>\n";
echo"<td><INPUT TYPE='text' NAME='nick'></td>\n";
echo"</tr>\n";
echo"<tr>\n";
echo" <td id='spacerremember'></td>\n";
echo" <td id='spacerremembertext'><label>email</label></td>\n";
echo"<td><INPUT TYPE='text' NAME='email'></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";
}
###################################################################################################################################
#################//QUI CERCHERO DI FARE IL CONTROLLO PER L INSERIMENTO DELLA NUOVA PASSWORD!!!! :) #################
###################################################################################################################################
?>