Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Tworzenie nowego hasła
#1
Kod PHP:
<?php 

Tworzymy klasę rozszerzającą dla klasy głównej.

Kod PHP:
<?php 
class AppClass extends Core
 
{

Metoda , która zostanie uruchomiona jako pierwsza po zainicjalizowaniu obiektu.
   

Kod PHP:
<?php 
public function AppStart()
  {
  global $Lang;

W pasku tytułu przeglądarki znajdzie się nazwa obecnej podstrony.
       
Kod PHP:
<?php 
$this
->AppTitle = $Lang['tit_reminder'];

Tworzymy nagłówek strony. 

Kod PHP:
<?php 
        $this
->AppBody .= '<h1>'.$Lang['tit_reminder'].'</h1>';
if(
$_POST['option'] == 'password')
  {

Jeżeli wybrano przypomnienie hasła , sprwdzamy , czy wszystkie pola zostały wypełnione , jeśli nie , wyświetlamy odpowiedni komunikat .
           

Kod PHP:
<?php 
if($_POST['user_email'] == "")
  {
  $this->AppBody .= $this->AppPrintWarning($Lang['null_fields']);
}
  else
  {

Z tabeli z użytkownikami wybieramy dane na jego temat.
               

Kod PHP:
<?php 
$SqlConfig
= 'SELECT user_id,user_email user FROM '.$this->DBPrefix.'user
    WHERE
    user_email = "'
.$this->AppDBSecure($_POST['user_email']).'"
    AND
    user_active = "y"
    '
;
    if(!$this->AppDBQuery($SqlConfig))
    {
    $this->AppBody .= $this->AppShowError('Query error'__FILE__,__LINE__,$SqlConfig);
    }
    $Result = $this->AppDBResult();
    $Rows = $this->AppDBHowMany();

Jeżeli liczba wyników jest równa jeden , można rozpocząć proces generowania nowego hasła.
               

Kod PHP:
<?php 
if($Rows == 1)
  {

Tworzymy tabelę , z której bedzie losowana wartość.
                   

Kod PHP:
<?php 
$ArrayToRand
= array(1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'e', 6 => 'f', 7 => 'g', 8 => 'h', 9 => 'i', 10 => 'j', 11 => 'k', 12 => 'l', 13 => 'm', 14 => 'n', 15 => 'o', 16 => 'p', 17 => 'q', 18 => 'r', 19 => 's', 20 => 't', 21 => 'u', 22 => 'w', 23 => 'x', 24 => 'y', 25 => 'z', 26 => '1', 27 => '2', 28 => '3', 29 => '4', 30 => '5', 31 => '6', 32 => '7', 33 => '8', 34 => '9', 35 => '0');
$SpecialCode = '';

Losujemy nowy ciąg znaków.
                   

Kod PHP:
<?php 
for($i=0;$i<24;$i++)
  {
  $SpecialCode .= $ArrayToRand[array_rand($ArrayToRand)];
}

Analizujemy dane użytkownika.


Kod PHP:
<?php 
$SqlConfig
= 'UPDATE '.$this->DBPrefix.'user
        SET
        user_special_code = "'
.$this->AppDBSecure($SpecialCode).'"
    WHERE
    user_email = "'
.$this->AppDBSecure($Result[0]['user_email']).'"
        '
;
        if(!$this->AppDBQuery($SqlConfig))
        {
    $this->AppBody .= $this->AppShowError('Query error'__FILE__,__LINE__,$SqlConfig);
        }

Informujemy komunikatem o poprawnym zakończeniu operacji.
                   
Kod PHP:
<?php 
$this
->AppBody .= $this->AppPrintSuccess($Lang['l1_a7_check_your_inbox']);

Tworzymy list email , który zostanie wysłany do użytkownika.
                   

Kod PHP:
<?php 
$ContentOfLetter
= $Lang['l1_a7_email'].$this->AppUrl.'index.php?app=generatepswd&user_id='.$Result[0]['user_id'].'&hashcode='.$SpecialCode.$Lang['l1_a7_email2'];
    $this->AppSendTo = $this->AppDBUnsecure($Result[0]['user_email']);
    $this->AppSendFrom = $this->DBConfigTable['admin_email'];
    $this->AppSendTopic = $Lang['l1_a7_email_topic'];
    $this->AppSendContent = $ContentOfLetter;
    $this->AppSendHeaders = 'txt';

Wysyłamy list.
                   
Kod PHP:
<?php 
$this
->AppSendEmail();

Tworzymy zmienną , która spowoduje ukrycie formularza.
                   

Kod PHP:
<?php 
$AppShowForm
= TRUE;
}
else
  {

W przypadku gdyby liczba rekordów była inna od jeden , wyświetlamy błąd.
                   

Kod PHP:
<?php 
$this
->AppBody .= $this->AppPrintWarning($Lang['l1_a7_no_account_not_active']);
}
}
}
if(!
$AppShowForm)
  {


Kiedy zmienna ma wartość FALSE , wyświetlamy formularz za pomocą metody.
           

Kod PHP:
<?php 
$this
->PasswordForm();
}
}
protected function
PasswordForm()
  {
  global $Lang;

Tworzymy formularz do przypominania hasła.

Kod PHP:
<?php 
$this
->AppBody .= '<center><form action="'.$this->AppUrl.'index.php" method="post"><table cellpadding="0" cellspacing="0" border="0"><tr><td class="cell_1">'.$Lang['l1_a7_get_your_email'].'</td><td class="cell_1"><input type="text" name="user_email" class="input_register" /></td><td class="cell_1"><input type="hidden" name="app" value="password" /><input type="hidden" name="option" value="password" /><td class="cell_1"><input type="submit" value="'.$Lang['rem_send_pass'].'" class="input_button_submit" /></td></tr></table></form></center>';
}
}
?>
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości