Timp: 30 minute
Nivel: Mediu
Descriere: Genereaza o parola noua prin sistem "random", confirmand operatia de recuperare parola, acesta va genera o parola la intamplare !
Versiune: 1.0 / 3
Bun venit. Pentru a instala acest tip de script, va trebuii sa urmati cativa pasi si sa tineti cont de cateva observatii.
Pasul 1: Ca orice site, va fii nevoie sa alegi un loc personal si arbitrar, conform homepageului tau pentru a insera un "link" catre scriptul nostru de recuperare parola "random".
Pasul 2: Inserati scriptul prezentat mai tarziu intr-o pagina dorita.
Pasul 3: Creati legatura scriptului de inserare date, cu cel de confirmare a operatiei cerute, adica cea de schimbare a parolei.
Pentru inceput avem urmatorul script unde se introduc datele de cont, ce urmeaza a fii procesate, cu numele de "recparola.php":
Cod: Selectaţi tot
<table width="430" border="0"><tr><td width="180"><form action="__[link confirmare]__" method="post">
Nume utilizator</td>
<td width="280"><input type="text" name="user" size="20" /></td>
<tr><td width="180">Adresa de E-mail</td>
<td width="280"><input type="text" name="email" size="20" /></td></tr>
<tr><td width="180">Cod stergere caracter</td>
<td width="280"> <input type="text" name="delcode" size="10" /></td></tr>
<br>
<br>
<tr><td width="180"> </td> <td width="280"><input type="submit" name="submit2" value="Recuperare parola" /></td></tr></table>
<br>
<br>
<br>
</form>Mai departe va trebuii sa introducem in linia "<form action="__[link confirmare]__" method="post">" locatia unde se va afla scriptul de comunicare cu baza de date si confirmare a operatiei cerute.
Pentru ca scriptul anterior sa comunice cu baza de date, cream urmatorul script cu numele de "confparola.php":
Cod: Selectaţi tot
<?PHP
include 'connectdb.php';
include 'functionare.php';
$db = "account";
mysql_connect($dbhost, $dbuser, $dbpw) OR
die("Nu s-a putut conecta la baza de date.<br /> Eroare: ".mysql_error());
mysql_select_db($db) OR
die("Baza de date nu a putut fi accesata.<br /> Eroare: ".mysql_error());
$email = mysql_real_escape_string($_POST['email']);
$delcode = mysql_real_escape_string($_POST['delcode']);
$pw = GeneratePassword();
$user = $_POST['user'];
$sql = "SELECT password FROM account WHERE login = '$user' AND email = '$email' AND social_id = '$delcode'";
$result = mysql_query ($sql);
$menge = mysql_num_rows($result);
if ($menge == "1" ) {
$sql1 = "UPDATE account Set
password = PASSWORD('".$pw."')
WHERE login = '$user'";
$result2 = mysql_query ($sql1);
if ($result2 == true ) {
echo 'Noua parola este: ', $pw;
}
} else {
echo "Nu am putut procesa cu aceste date ! <a href="javascripthistory.back()"> Incearca din nou !</a> ";
}
?>Cod: Selectaţi tot
include 'connectdb.php';
include 'functionare.php';1. Primu este connectdb.php, el conecteaza scriptul cu baza de date si proceseaza datele:
Cod: Selectaţi tot
<?php
$serverip = '____';
$dbhost = '____';
$dbuser = 'root';
$dbpw = '____';
?>Cod: Selectaţi tot
<?php
function GeneratePassword($length = 8) {
$char_control = "";
$chars_for_pw = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$chars_for_pw .= "0123456789";
$chars_for_pw .= "abcdefghijklmnopqrstuvwxyz";
srand((double) microtime() * 1000000);
for($i=0;$i<$length;$i++) {
$number = rand(0, strlen($chars_for_pw));
$char_control .= $chars_for_pw[$number];
}
return $char_control;
}
?>
Urmatoarea versiune va fii prin "e-mail" !



