Aiuto creazione reinvio password utenti

CIMO

Nuovo Utente
8 Apr 2007
18
0
0
Ciao a tutti ho un problema con la creazione di un reinvio password da parte degli utenti

Questo e' il mio file register.php
Codice:
<?

include 'db.php';

if(!eregi("^[a-z]{5,15}$",$first_name)){
echo "Nome non valido ";
echo "<a href=\"./join_form.php\">Torna</a>";
exit;
}

if(!eregi("^[a-z]{5,15}$",$last_name)){
echo "Cognome non valido ";
echo "<a href=\"./join_form.php\">Torna</a>";
exit;
}

if (!eregi( "^[_\.0-9a-z-][email protected]([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$email_address)){
echo "E-mail non valida ";
echo "<a href=\"./join_form.php\">Torna</a>";
exit;
}

if(!eregi("^[0-9a-z]{4,10}$",$username)){
echo "Username non valido ";
echo "<a href=\"./join_form.php\">Torna</a>";
exit;
}

// Define post fields into simple variables
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_address = $_POST['email_address'];
$username = $_POST['username'];

/* Lets strip some slashes in case the user entered
any escaped characters. */

$first_name = stripslashes($first_name);
$last_name = stripslashes($last_name);
$email_address = stripslashes($email_address);
$username = stripslashes($username);

/* Let's do some checking and ensure that the user's email address or username
 does not exist in the database */

 $sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");
 $sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'");

 $email_check = mysql_num_rows($sql_email_check);
 $username_check = mysql_num_rows($sql_username_check);

 if(($email_check > 0) || ($username_check > 0)){
 	if($email_check > 0){
 		echo "<strong>La tua E-mail risulta gia' registrata nel nostro database. Inserisci una diversa E-mail!<br />";
 		unset($email_address);
 	}
 	if($username_check > 0){
 		echo "L' Username risulta gia' registrato nel nostro database. Inserisci un diverso Username!<br />";
 		unset($username);
 	}
 	include 'join_form.php'; // Show the form again!
 	exit();  // exit the script so that we do not create this account!
 }

/* Everything has passed both error checks that we have done.
It's time to create the account! */

/* Random Password generator.
http://cimo.altervista.org/file_reg.../passRandom.php

We'll generate a random password for the
user and encrypt it, email it and then enter it into the db.
*/

function makeRandomPassword() {
  bla bla =P
}

$random_password = makeRandomPassword();

$db_password = md5($random_password);

// Enter info into the Database.
$info2 = htmlspecialchars($info);
$sql = mysql_query("INSERT INTO users (first_name, last_name, email_address, username, password, info, signup_date, decrypted_password)
		VALUES('$first_name', '$last_name', '$email_address', '$username', '$db_password', '$info2', now(), '$random_password')") or die (mysql_error());

if(!$sql){
	echo 'Errore nel creare il tuo account!! Contatta il WebMaster.';
} else {
	$userid = mysql_insert_id();
	$activatepath = "activate.php?id=$userid&code=$db_password";
	// Let's mail the user!
	$subject = "Richiesta registrazione $sitename";
	$message = "$first_name $last_name,
	Hai inviato la registrazione su $sitepath

	Per attivare il tuo account, clicca qui: $sitepath$activatepath

	I tuoi dati:
	Username: $username
	Password: $random_password
	
	CONSERVA QUESTI DATI XCHE' PER LA TUA PRIVACY E QUELLA DEGLI ALTRI I DATI SONO CRIPTATI!!

	Grazie!
	WebMaster, $sitename

	Questa E-mail viene generata automaticamente quindi non rispondere!";

	mail($email_address, $subject, $message, "From: $sitename <$adminemail>\nX-Mailer: PHP/" . phpversion());
	
	echo 'La tua richiesta e' stata inviata alla tua E-mail controlla!';
}
?>

E questo e' il mio file rec.php
Codice:
<?php

include 'db.php';

$message="Ciao $username_check,\n ecco i dati di accesso che hai richiesto:\n
nick: $username\n
password: $random_password\n
A presto!!\n
Staff di $nomesito.\n\n\n\n\n";

mail($email_address, $subject, $message, "From: $sitename <$adminemail>\nX-Mailer: PHP/" . phpversion());

/* Let's do some checking and ensure that the user's email address or username
 does not exist in the database */

$sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");

if(email_check >0){
echo "<html>
<head>
<meta http-equiv=\"refresh\" content=\"3;url=./index.htm\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">
</head>
<body>
<div align=\"center\" class=tit>I dati richiesti sono stati inviati a $email_address</div>
</body>
</html>";
}else{
echo "Si è verificato un errore<br>non è stato possibile inviare i dati richiesti a $email_address";
}
?>

Voglio che quando mi sono registrato e tutto .. mettiamo per caso un fulmine che mi colpisce mentre sto' cac... al bagno mi dimentico la pass ke ho trovato nell'e-mail che mi e' stata inviata e voglio richiederla nuovamente e essere inviata alla mia e-mail

Be' ho fatto questi due file...ma nn va'...dove sbaglio aiutami ti prego voglio capire davvero e risolvere!!

E poi ho notato che nel db quando mi registro la mia e-mail viene tagliata?!!?
Codice:
email_address -> '[email protected]'

Mi date una mano? tnx =)
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Per l'email che viene tagliata probabilmente hai un campo varchar troppo piccolo, tutto qui!

Per il recupero: hai bisogno della filosofia del funzionamento dello script o del codice?
 

CIMO

Nuovo Utente
8 Apr 2007
18
0
0
Di un bell'aiuto!!! =D

Questo e' il mio file register.php
Codice:
<?

include 'db.php';

if(!eregi("^[a-z]{5,15}$",$first_name)){
echo "Nome non valido ";
echo "<a href=\"./join_form.php\">Torna</a>";
exit;
}

if(!eregi("^[a-z]{5,15}$",$last_name)){
echo "Cognome non valido ";
echo "<a href=\"./join_form.php\">Torna</a>";
exit;
}

if (!eregi( "^[_\.0-9a-z-][email protected]([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$email_address)){
echo "E-mail non valida ";
echo "<a href=\"./join_form.php\">Torna</a>";
exit;
}

if(!eregi("^[0-9a-z]{4,10}$",$username)){
echo "Username non valido ";
echo "<a href=\"./join_form.php\">Torna</a>";
exit;
}

// Define post fields into simple variables
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_address = $_POST['email_address'];
$username = $_POST['username'];

/* Lets strip some slashes in case the user entered
any escaped characters. */

$first_name = stripslashes($first_name);
$last_name = stripslashes($last_name);
$email_address = stripslashes($email_address);
$username = stripslashes($username);

/* Let's do some checking and ensure that the user's email address or username
 does not exist in the database */

 $sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");
 $sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'");

 $email_check = mysql_num_rows($sql_email_check);
 $username_check = mysql_num_rows($sql_username_check);

 if(($email_check > 0) || ($username_check > 0)){
     if($email_check > 0){
         echo "<strong>La tua E-mail risulta gia' registrata nel nostro database. Inserisci una diversa E-mail!<br />";
         unset($email_address);
     }
     if($username_check > 0){
         echo "L' Username risulta gia' registrato nel nostro database. Inserisci un diverso Username!<br />";
         unset($username);
     }
     include 'join_form.php'; // Show the form again!
     exit();  // exit the script so that we do not create this account!
 }

/* Everything has passed both error checks that we have done.
It's time to create the account! */

/* Random Password generator.
http://cimo.altervista.org/file_reg.../passRandom.php

We'll generate a random password for the
user and encrypt it, email it and then enter it into the db.
*/

function makeRandomPassword() {
  bla bla =P
}

$random_password = makeRandomPassword();

$db_password = md5($random_password);

// Enter info into the Database.
$info2 = htmlspecialchars($info);
$sql = mysql_query("INSERT INTO users (first_name, last_name, email_address, username, password, info, signup_date, decrypted_password)
        VALUES('$first_name', '$last_name', '$email_address', '$username', '$db_password', '$info2', now(), '$random_password')") or die (mysql_error());

if(!$sql){
    echo 'Errore nel creare il tuo account!! Contatta il WebMaster.';
} else {
    $userid = mysql_insert_id();
    $activatepath = "activate.php?id=$userid&code=$db_password";
    // Let's mail the user!
    $subject = "Richiesta registrazione $sitename";
    $message = "$first_name $last_name,
    Hai inviato la registrazione su $sitepath

    Per attivare il tuo account, clicca qui: $sitepath$activatepath

    I tuoi dati:
    Username: $username
    Password: $random_password
    
    CONSERVA QUESTI DATI XCHE' PER LA TUA PRIVACY E QUELLA DEGLI ALTRI I DATI SONO CRIPTATI!!

    Grazie!
    WebMaster, $sitename

    Questa E-mail viene generata automaticamente quindi non rispondere!";

    mail($email_address, $subject, $message, "From: $sitename <$adminemail>\nX-Mailer: PHP/" . phpversion());
    
    echo 'La tua richiesta e' stata inviata alla tua E-mail controlla!';
}
?>

Questo e' il file rec

Codice:
<?

include 'db.php';

/* Let's do some checking and ensure that the user's email address or username
does not exist in the database */

$sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");
$email_check = mysql_num_rows($sql_email_check);

if($email_check > 0){
echo "<html>
<head>
<meta http-equiv=\"refresh\" content=\"3;url=./index.htm\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">
</head>
<body>
<div align=\"center\" class=tit>I dati richiesti sono stati inviati a $email_address</div>
</body>
</html>";
}else{
echo "Si è verificato un errore<br>non è stato possibile inviare i dati richiesti a $email_address";
}
$message="Ciao $username_check,\n ecco i dati di accesso che hai richiesto:\n
nick: $username\n
password: $random_password\n
A presto!!\n
Staff di $nomesito.\n\n\n\n\n";

mail($email_address, $subject, $message, "From: $sitename <$adminemail>\nX-Mailer: PHP/" . phpversion());
?>

Quando vado per inserire l'e-mail mi dice ke nn e' possibile esegurire l'operazione...Nn calcola l'email di striscio..eppure le va' a salvare nel db?!?!

Ho notato ke in questo pezzo di codice dove verifica se nel db ci sono usernmane e password gia' registrati ( e quindi nega la registrazione se gia' esistenti ) l'username mi funziona ma l'e-mail no...e' allora ho pensato ke nn le va' a cercare proprio nel database...e mi sembra strano xche' e' uguale come l'username ma cambiano solo le variabili ma nn funziona...
Uff aiutatemi vi prego nn so' piu' dove sbattere la testa...

Codice:
$sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");
 $sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'");

 $email_check = mysql_num_rows($sql_email_check);
 $username_check = mysql_num_rows($sql_username_check);

 if(($email_check > 0) || ($username_check > 0)){
     if($email_check > 0){
         echo "<strong>La tua E-mail risulta gia' registrata nel nostro database. Inserisci una diversa E-mail!<br />";
         unset($email_address);
     }
     if($username_check > 0){
         echo "L' Username risulta gia' registrato nel nostro database. Inserisci un diverso Username!<br />";
         unset($username);
     }
     include 'join_form.php'; // Show the form again!
     exit();  // exit the script so that we do not create this account!
 }
Tnx =)
 
Ultima modifica:

CIMO

Nuovo Utente
8 Apr 2007
18
0
0
Ho risolto tutto ho riffatto tutto d'accapo e ora va'....
L'unica cosa e' il codice di restituzione della password se viene dimenticata...
Invia l'e-mail e tutto ma le variabili .. nada...
Come faccio per richiamarle visto che stanno nel file reg.php
Questo e' il codice della restituzione password...
Help tnx =)
Codice:
<?

include 'db.php';

$sql_email_check = mysql_query("SELECT email FROM utenti WHERE email='$email'");
$email_check = mysql_num_rows($sql_email_check);

$sql_username_check = mysql_query("SELECT username FROM utenti WHERE username='$username'");
$username_check = mysql_num_rows($sql_username_check);

if($email_check > 0){
echo "<html>
<head>
<meta http-equiv=\"refresh\" content=\"3;url=./login.php\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">
</head>
<body>
<div align=\"center\" class=tit>I dati richiesti sono stati inviati a $email</div>
</body>
</html>";
}else{
echo "Si è verificato un errore<br>non è stato possibile inviare i dati richiesti a $email";
}

$soggetto = "Richiesta password dimenticata $nomesito";
$messaggio="Ciao $username,\n ecco i dati di accesso che hai richiesto:\n
nick: $username_\n
password: $password_random\n
A presto\n
Staff di $nomesito.\n\n\n\n\n";

mail($email, $soggetto, $messaggio, "From: $nomesito <$emailadmin>\nX-Mailer: PHP/" . phpversion());

?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Aiuto creazione menu mancante WordPress 0
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
P [PHP] aiuto creazione login PHP 16
T Aiuto creazione database elementare MS Access 2
francesco7 Aiuto! Creazione di una tabella in MySql PHP 2
R Aiuto creazione php PHP 0
F Aiuto creazione sito web HTML e CSS 2
G Creazione nuovo database! AIUTO! MySQL 3
Sevenjeak [Vb.net 2010] Aiuto creazione tack manager personalizzato .NET Framework 4
Sevenjeak Aiuto: creazione righello per editor Java 0
R richiesta aiuto da neofita per creazione sito web HTML e CSS 1
C Creare logo per un sito web [era: Aiuto per creazione logo] Webdesign e Grafica 2
S [Vb.net] Aiuto nella creazione di una ricorsione .NET Framework 1
S aiuto per creazione/modifica template HTML e CSS 7
T Cerco Web master per aiuto nella creazione di sito web flash Offerte e Richieste di Lavoro e/o Collaborazione 2
M aiuto creazione sito PHP 4
P joomla: visualizzazione webcam dopo pagamento [era:Creazione sito particolare. Aiuto] Joomla 5
P Aiuto Creazione Chat particolare HTML e CSS 10
O aiuto creazione pagina login PHP 9
M Aiuto creazione slide immagini interattivo Ajax 4
S Aiuto con creazione script richiesta nome utente e password PHP 2
SolidSnake4 aiuto creazione template a 4 colonne HTML e CSS 8
B Aiuto creazione modulo preventivo Javascript 1
K Aiuto Creazione Url dinamici Classic ASP 1
M Aiuto.....creazione menu!!!! HTML e CSS 4
Roob Aiuto per Creazione Wireless Lan Casalinga Reti LAN e Wireless 2
S Aiuto! Creazione di grafici PHP 1
G Aiuto creazione database Database 0
D aiuto per creazione pagine web con collegamenti a modello predefinito HTML e CSS 2
M cercasi aiuto nella creazione di un filamto in flash Flash 4
P Aiuto per rendere un Bot Telegram Privato PHP 0
M Un aiuto da chi ha apple Mac e Software 0
P Richiesta di aiuto Presentati al Forum 1
A Aiuto per pagina php PHP 0
M Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
I Aiuto php Dependent Lookup PHP 0
R Aiuto con le query MS Access 2
M AIUTO ESERCIZIO JAVA Javascript 1
G Aiuto con htaccess e rewriterule PHP 0
T cercasi aiuto per file d1 (open-edge db) Database 0
M Aiuto con inserimento immagini WordPress 6
D aiuto schermata photoshop Photoshop 0
L Aiuto per programma web php/mySQL PHP 2
A Aiuto php colore diverso PHP 10
C Aiuto compiuto scuola PHP/MySQL PHP 2
G Insert into select - Aiuto MySQL 0
I Aiuto bash linux Programmazione 1
F Aiuto java script Javascript 2
R Cerco aiuto Offerte e Richieste di Lavoro e/o Collaborazione 7
I Aiuto query MySQL 8

Discussioni simili