codice:################################################################################ #------------------------------------------------------------------------------# # logout #------------------------------------------------------------------------------# ################################################################################ function Logout($user) { $cookie = explode("|", base64_decode($user)); $result = mysql_query("SELECT password FROM ".$prefix."_users WHERE username='$cookie[1]'"); $row = mysql_fetch_array($result); $pass = $row['password']; if ($cookie[2] == $pass && $pass != "") { return $cookie; } else { unset($user); unset($cookie); } setcookie("user"); $user = ""; header("Location: users.php"); } ################################################################################ #------------------------------------------------------------------------------# # Register #------------------------------------------------------------------------------# ################################################################################ function Register(){ include("header.php"); register_form(); include("footer.php"); } function register_form(){ global $username, $password, $email, $fullname, $user_taken_err, $email_taken_err; echo "<center><font class=\"title\">Form di registrazione</font></center> \n"; echo "<center>I campi con l'asterisco (*) sono obbligatori. <form name=\"RegisterForm\" method=\"POST\" action=\"users.php\" onsubmit='return CheckRegisterForm(RegisterForm)'> <table align=\"center\" border=\"1\" width=\"400\" id=\"table1\" cellpadding=\"2\" bordercolor=\"#C0C0C0\"> <tr> <td width=\"100\" align=\"right\">Username:</td> <td><input type=\"text\" name=\"username\" size=\"18\" value=\"$username\"> * $user_taken_err</td> </tr> <tr> <td align=\"right\">Password:</td> <td><input type=\"password\" name=\"password\" size=\"18\" value=\"$password\"> *</td> </tr> <tr> <td align=\"right\">Email:</td> <td><input type=\"text\" name=\"email\" size=\"27\" value=\"$email\"> * $email_taken_err</td> </tr> <tr> <td align=\"right\">Nome completo:</td> <td><input type=\"text\" name=\"fullname\" size=\"27\" value=\"$fullname\"></td> </tr> <tr> <td></td> <td> <input type=\"hidden\" name=\"maa\" value=\"do_Register\"> <input type=\"submit\" value=\"Registra\"></td> </tr> </table></form>"; } function do_Register(){ global $db, $prefix, $username, $password, $email, $fullname, $user_taken_err, $email_taken_err; global $site_name, $site_email, $site_url; $username = mysql_real_escape_string($_POST['username']); $password = mysql_real_escape_string($_POST['password']); $email = mysql_real_escape_string($_POST['email']); $fullname = mysql_real_escape_string($_POST['fullname']); //this function will check fields incase of javascript not working. if((!$username) || (!$password) || (!$email)){ if(trim(empty($username))){ } if(empty($password)){ } if(trim(empty($email))){ } //print the error message and load the form. include("header.php"); echo "<center><font class=\"error\">Errore: Controlla se hai inserito tutti i dati.</font></center>\n"; register_form(); include("footer.php"); exit(); } /*--nothing empty? lets do the register-------------------------------------------------------------*/ $sql_email_check = mysql_query("SELECT email FROM ".$prefix."_users WHERE email='$email'"); $sql_username_check = mysql_query("SELECT username FROM ".$prefix."_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)){ //define error message for usage in multi plces. $exist_msg= "<font class=\"error\">(Già registrato!.)</font>"; if($email_check > 0){ $email_taken_err = $exist_msg; unset($email); } if($username_check > 0){ $user_taken_err = $exist_msg; unset($username); } //if the username or email already been taken load the form and print errors. include("header.php"); register_form(); include("footer.php"); exit(); } $md5_password = md5($password); $result = mysql_query("INSERT INTO ".$prefix."_users ( username,password,email,fullname) VALUES('$username','$md5_password','$email','$fullname')") or die ("Error in registration sql:". mysql_error()); $subject = "I tuoi dati di accesso su $site_name"; $message = " Benvenuti su $site_name Conserva questa mail perchè contiene i tuoi dati di accesso. Le informazione del tuo account sono le seguenti: ---------------------------- Username: $username Password: $password ---------------------------- Il tuo account è ora attivo. Puoi usarlo per accedere al nostro sito: $site_url Ti preghiamo di non dimenticare la password poichè nel nostro database degli utenti risulta criptata e quindi non possiamo comunicartela. Se dovessi dimenticarla puoi chiederne una nuova, tramite il form dedicato; in questo caso al termine della procedura ti sarà inviata tramite e-mail. Grazie per esserti registrato. -- - $site_name $site_url Questa mail è stata generata automaticamente dal nostro database. Ti preghiamo di non rispondere alla suddetta poichè non ci giungerà nessun tuo messaggio"; if(!mail($email,$subject,$message, "FROM: $site_name <$site_email>")){ die ("Impossibile inviare la e-mail di registrazione. Si prega di contattare lo staff ($site_email)"); }else{ include("header.php"); echo "registrazione effettuata!"; login_form(); include("footer.php"); } } ################################################################################ #------------------------------------------------------------------------------# # Forgot Password #------------------------------------------------------------------------------# ################################################################################ function Forgot_pwd_form(){ global $error_msg; echo "<center><font class=\"title\">Mandami una nuova password</font> <form method='POST' action='users.php'> <table border='0' cellpadding='4'> <tr> <td bgcolor='#E2E2E2'>Username:</td> <td bgcolor='#E2E2E2'><input type='text' name='username' size='11'></td> </tr> <tr> <td bgcolor='#E2E2E2'>Email:</td> <td bgcolor='#E2E2E2'><input type='text' name='email' size='11'></td> </tr> <tr> <td></td> <td> <input type='hidden' name='maa' value='do_Forgot_pwd'> <input type='submit' value='Send password'></p> </td> </tr> </table><center>$error_msg</center> </form>"; } function Forgot_pwd(){ global $user, $prefix, $db; include("header.php"); Forgot_pwd_form(); include("footer.php"); } function do_Forgot_pwd(){ global $user, $prefix, $db, $email, $username, $error_msg, $site_name ,$site_email, $site_url; $username = mysql_real_escape_string($_POST['username']); $email = mysql_real_escape_string($_POST['email']); $result = mysql_query("SELECT * FROM ".$prefix."_users WHERE username='$username' AND email='$email'"); $check = mysql_num_rows($result); if($check == 1){ function new_pwd() { $chars = "abchefghjkmnpqrstuvwxyz0123456789"; srand((double)microtime()*1000000); $i = 0; while ($i <= 7) { $num = rand() % 33; $tmp = substr($chars, $num, 1); $pwd = $pwd . $tmp; $i++; } return $pwd; } $new_pwd = new_pwd(); $md5_password = md5($new_pwd); $sql = mysql_query("UPDATE ".$prefix."_users SET password='$md5_password' WHERE email='$email'"); $subject = "New password"; $message = " Salve $username, Hai ricevuto questa e-mail perchè hai richiesto una nuova password per il tuo account su $site_name. Qui sotto trovi le credenziali di accesso. -------------------------- Username: $username Password: $new_pwd -------------------------- Puoi effettuare il login da qui: $site_url Puoi tranquillamente modificare la password tramite la pagina dedicata al tuo account. Per ogni problema rivolgiti al webmaster. -- -Grazie $site_name Questa mail è stata generata automaticamente dal nostro database. Ti preghiamo di non rispondere alla suddetta poichè non ci giungerà nessun tuo messaggio"; mail($email,$subject,$message, "FROM: $site_name <$site_email>"); include("header.php"); echo "La tua nuova password ti è stata mandata via mail."; echo " attendere prego..."; include("footer.php"); }else{ include("header.php"); Forgot_pwd_form(); echo "<center><font class=\"error\">Errore: username/email errati</font></center> "; include("footer.php"); } } ################################################################################ #------------------------------------------------------------------------------# # a switch for switching between functions #------------------------------------------------------------------------------# ################################################################################ switch ($maa){ case "Forgot_pwd": Forgot_pwd(); break; case "do_Forgot_pwd": do_Forgot_pwd(); break; case "Register": Register(); break; case "do_Register": do_Register(); break; case "Logout": Logout($user); break; case "Login": Login(); break; case "do_login": do_login(); break; Default: index($user); Break; } ?>