Tutorial instalare "recuperare parola" random

Despre programarea aplicațiilor web și nu numai, cu PHP, baze de date și altele.
Discutiile despre utilizarea si modificarea scripturilor se desfasoara in aria Webmaster.
Discuțiile despre proiectarea și optimizarea bazelor de date se desfășoară în aria Databases.
Avatar utilizator
CRONE
Fost Moderator

Fost Moderator
Mesaje: 1043
Membru din: 06 Aug 2013, 21:02
Aprecieri: 5  
Mulţumiri: 158  
Discord: Copiază ID
 Contact:
Medalii

Autor: IANIX Web 4.0
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">&nbsp;</td> <td width="280"><input type="submit" name="submit2" value="Recuperare parola" /></td></tr></table>
<br>
<br>
<br>										
	
			</form>
Observatie: Am ales aceste date de introdus deoarece toate HomePageurile necesita la inregistrare aceste date de creare cont, prin urmare ele vor fii procesate si vor raspunde cerintelor tale.

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> ";
} 
?>
Dupa cum observi, scriptul de comunicare si confirmare a operatiei contine 2 linii de conectare si functionare:

Cod: Selectaţi tot

include 'connectdb.php';
include 'functionare.php';
Prin urmare ele vor trebuii create astfel:
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 = '____';
?>
2. Al doilea este "functionare.php", cel care genereaza parola "random":

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;

} 
 ?>

Sper sa va placa, daca ati intampinat probleme nu ezitati sa postati. Multumesc.

Urmatoarea versiune va fii prin "e-mail" !
Avatar utilizator
mangaliotu
Nivel 1

Nivel 1
Mesaje: 98
Membru din: 04 Oct 2013, 22:50
Regat: Chunjo
Aprecieri: 102  
Mulţumiri: 19  
Medalii

Mersi
Avatar utilizator
CrazyWorld
Nivel 1

Nivel 1
Mesaje: 135
Membru din: 11 Aug 2013, 16:08
Server: Candy Longju
Regat: Jinno
Aprecieri: 2  
Mulţumiri: 7  
 Contact:
Medalii

Folositor :-bd
Unul care sa trimita parola in email sti cum se face?
Afișează semnătura
Avatar utilizator
Th3Dark4You
Nou Venit

Nou Venit
Mesaje: 25
Membru din: 20 Feb 2014, 12:24
Aprecieri: 0
Mulţumiri: 0
Medalii

Mersi
Avatar utilizator
J.Statham
Fost Designer

Fost Designer
Mesaje: 58
Membru din: 23 Apr 2014, 08:24
Server: -
Regat: Shinsoo
Aprecieri: 0
Mulţumiri: 4  
Medalii

Folositor, însă majoritatea homepage-urilor au deja instalată această ramură.
Imagine
Afișează semnătura
Avatar utilizator
maryo2708
Nou Venit

Nou Venit
Mesaje: 31
Membru din: 21 Feb 2014, 15:31
Server: Just4Metin
Regat: Jinno
Aprecieri: 0
Mulţumiri: 0
 Contact:
Medalii

salut, la $serverip = '____'; ce scriu si la $dbhost = '____'; ce scriu? fiindca sunt confuz, ma duce mintea sa pun ip-ul serverului la amandoua dar pe de o parte stiu sigur ca nu trebuie ip-ul la amandoua Multumesc mult
Răspunde
Răspunsuri
2
Vizualizări
352
Răspunsuri
5
Vizualizări
560
Răspunsuri
4
Vizualizări
370

Înapoi la “Tutoriale scripting”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator