unico files che controlla e attiva l user

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$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<br>";}

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><br>E'composto da caratteri non ammessi!<br><br>";         }

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>  <br>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 "<BR><A HREF='$urlpatch/user/rememberpass.php'>Ritorna alla registrazione</A>"; } 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<BR>";//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<BR>"; 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<br >";  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<br><br>";  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<br><br>";  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!!!!          :)      ################# ###################################################################################################################################

?>

inviato 10 anni fa
roccochiolo
X 0 X

mica pretenderai che ci leggiamo tutto quel papiro di script :giveup:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

gianni   ciao  non pretendo niente    io comunque    ho dovuto postare   tutto quello script  in quanto per fare  capire quale potrebbe essere il problema  comunque  come puoi vedere  lo script e diviso in due  files  uno fa il controllo  e  crea la nuova password  e la  invia  all email dell utente   invece il secondo   attiva la password  e dovrebbe   dare la possibilita di  cambiarsi la password    sempre  se la password e  corretta    dammi na mano gianni plis   per te  sicuramente e come bere un caffe   nel senso che e facile  ciao

risposto 10 anni fa
roccochiolo
X 0 X

We  scusatemi mentre mi rileggevo lo script    mi sono accorto che ho postato  quello  senza   il controllo della password   lo posto solo quel pezzo     tra  venti minuti  scusate ancora

risposto 10 anni fa
roccochiolo
X 0 X

ecco l script  per il controllo della password  ragazzi so nbranato :D

###################################################################################################
######              QUESTO E IL CONTROLLO DELLA PASSWORD                                     ###### 
###################################################################################################


$DB = new DB();
session_start();
unset($_SESSION['email']);
unset($_SESSION['pass']);

// Si connette
    $DB->connect();
    $nickname = $_GET[user];
    $m = $_GET[email];
   

    $m =  $_POST['email'];
    $action =  $_REQUEST['action'];
    $pass = $_REQUEST['pass'];
   $newpsw = $_REQUEST['newpsw'];
   $confirmnewpsw = $_REQUEST['confirmnewpsw'];
   
 
     
$CONFIG['check_table'] = array(
"pass" => "check_global",
"newpsw" => "check_global",
"confirmnewpsw" => "check_global"
);
function check_username($pass,$newpsw,$confirmnewpsw)
{
global $CONFIG;


  $pass = trim(addslashes($_POST[pass]));
  $newpsw = trim(addslashes($_POST[newpsw]));
  $confirmnewpsw = trim(addslashes($_POST[confirmnewpsw]));
  
  
if(($pass=='') || ($newpsw=='')|| ($confirmnewpsw==''))
   {return"campi obbligatori";} 
   
   //if (preg_match("/^[0-9A-Z@]{6,20}$/i", $pass)){return"1campi obbligatori";} 
   //if (preg_match("/^[0-9A-Z@]{6,20}$/i", $newpsw)){return"2campi obbligatori";} 
   //if (preg_match("/^[0-9A-Z@]{6,20}$/i", $confirmnewpsw)){return"3campi obbligatori";}
   else
{
$pass = criptpass($pass);
$query = mysql_query("SELECT *
FROM `utenti`
WHERE `email` ='$m'
AND `pass` =  '$psw_per_db' and `stato` = '1'
LIMIT 0 ,1");
$ok_login = mysql_num_rows($query);


if($ok_login!=0)
{
$_SESSION[pass]= $psw_per_db;
echo "OK";
}
else
{
 echo "PASSWORD SBAGLIATA $name".mysql_error();

//if (@mysql_num_rows($query) == "0"){$_SESSION[pass]= $psw_per_db;  return"La password non corrisponde $pass ";}else{return"OK";}
//if (@mysql_num_rows($query) != "0"){$_SESSION[pass]= $psw_per_db;  return " Controllo avenuto con successo ";}
//{return"OK";}
}
}
}




   if ($action == "send") { 
//Innanzitutto controlliamo la var.le name: 
$controllo = check_username($pass,$newpsw,$confirmnewpsw); 

if ($controllo != "OK") 
{ 
echo $controllo; 
} 
else
{
echo"qui parte  l 'azione del controllo   ";

//Qui potresti anche far visualizzare una cosa del genere: 
//echo "<BR><A HREF='$urlpatch/user/rememberpass.php'>Ritorna alla registrazione</A>"; 
}  
}   
risposto 10 anni fa
roccochiolo
X 0 X

ciao gianni  l ho risolto il problema   adesso  fa il controlla ma   mi da un problema  con  i controlli  della lunghezza e del tipo di caratteri  perche     lo script  mi da il controllo della password gia finita    esempio    lui   dice  che  /if (preg_match("/^[0-9A-Z@]{6,20}$/i", $pass)){return"1campi obbligatori";} if (preg_match("/^[0-9A-Z@]{6,20}$/i", $newpsw)){return"2campi obbligatori";} if (preg_match("/^[0-9A-Z@]{6,20}$/i", $confirmnewpsw)){return"3campi obbligatori";}

La  password  puo contenere  i seguenti caratteri e puo essere  massimo 20 caratteri  adesso succede che lui la password la vede criptata   e mi da errore  cosa mi consigli   non apro un altra discussione perche   e la stessa   su lo stesso script  quindi   

poi  sai come ho risolto il problema   lo script  non capiva su che cosa si doveva  basare a fare il controllo  su quale email io ho fatto cosi   

    $query = mysql_query("SELECT * FROM `utenti` WHERE `pass` ='$pass' AND `email` =  '".$_GET['email']."' and `stato` = '1' LIMIT 0 ,1"); e ora va  ;D

risposto 10 anni fa
roccochiolo
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda