Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Zmiana 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;



Sprawdzamy czy użytkownik jest zalogowany na konto administratora.


Kod PHP:
<?php 
if($this->AppSessionGetValue('admin_id') != "")
  {


Tworzymy nagłówek strony .
           

Kod PHP:
<?php 
$this
->AppBody .= '<h1>'.$Lang['ap_a4_change_pswd_header'].'</h1>';
$this->AppBody .= '<div class="heading_row"></div>';


W pasku tytułu wpisujemy informację , która będzie określała nasze obecne położenie .
           

Kod PHP:
<?php 
$this
->AppTitle = $Lang['ap_a4_change_pswd_header'];
if(
$_POST['change'] == 'yes')
  {


Kiedy formularz do zmiany hasła został wysłany , sprawdzamy , czy wszystkie pola zostały wypełnione . Jeżeli nie , wówczas musimy wyświetlić odpowiedni komunikat . 

               

Kod PHP:
<?php 
if($_POST['admin_pswd'] == "" OR $_POST['admin_pswd_old'] == "" OR $_POST['admin_pswd_old_rec'] == "")
  {
  $this->AppBody .= $this->AppPrintWarning($Lang['l1_a18_null_fields']);
}
else
  {


Teraz należy sprawdzić , czy nowe hasło pasuje do jego potwierdzenia .


Kod PHP:
<?php 
if($_POST['admin_pswd_old'] == $_POST['admin_pswd_old_rec'])
      {


Z tabeli , gdzie zapisane są dane administratora , wybieramy dane użytkownika , który obecnie jest zalogowany do panelu .
     

Kod PHP:
<?php 
$SqlConfig
= 'SELECT * FROM '.$this->DBPrefix.'admin WHERE admin_id = "'.$this->AppDBSecure($this->AppSessionGetValue('admin_id')).'"';
                if(!$this->AppDBQuery($SqlConfig))
                {
                $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
                }
                $Result = $this->AppDBResult();


Obecne hasło trzeba zakodować przy użyciu algorytmu MD5 i sprawdzić , czy pasuje ono do hasła zapisanego w bazie danych .
                       

Kod PHP:
<?php 
if(md5($_POST['admin_pswd']) == $this->AppDBUnsecure($Result[0]['admin_pswd']))
  {


Jeżeli wszystko się zgadza , możemy zaktualizować hasło użytkownika w bazie danych .


Kod PHP:
<?php 
$SqlConfig
= 'UPDATE '.$this->DBPrefix.'admin SET admin_pswd = "'.$this->AppDBSecure(md5($_POST['admin_pswd_old'])).'" WHERE admin_id = "'.$this->AppDBSecure($this->AppSessionGetValue('admin_id')).'"';
            if(!$this->AppDBQuery($SqlConfig))
                  {
                  $this->AppBody .= $this->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
                }


Wyświetlamy komunikat informujący o poprawnej operacji zmiany .
                           

Kod PHP:
<?php 
$this
->AppBody .= $this->AppPrintSuccess($Lang['ap_a5_new_pass_submited']);
}
else
  {

Informacja dla użytkownika , że jego hasło nie zgadza się z tym podanym w bazie danych .
                           

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


Wyświetlamy informację , że nowe hasło nie pasuje do jego potwierdzenia .
                       

Kod PHP:
<?php 
$this
->AppBody .= $this->AppPrintWarning($Lang['ap_a5_new_pass_dont_pass']);
}
}
}

Drukujemy tabelę zawierającą formularz .
           

Kod PHP:
<?php 
$this
->AppBody .= '<center>';
$this->AppBody .= '<form action="'.$this->AppUrl.'admin.php" method="post">';
$this->AppBody .= '<table cellpadding="0" cellspacing="0" border="0">';
$this->AppBody .= '<tr><td class="fb_row_2">'.$Lang['ap_a5_old'].'</td><td class="fb_row_2"><input type="password" name="admin_pswd" style="width: 450px;" /></td></tr>';
$this->AppBody .= '<tr><td class="fb_row_2">'.$Lang['ap_a5_new'].'</td><td class="fb_row_2"><input type="password" name="admin_pswd_old" style="width: 450px;" /></td></tr>';
$this->AppBody .= '<tr><td class="fb_row_2">'.$Lang['ap_a5_new_rec'].'</td><td class="fb_row_2"><input type="password" name="admin_pswd_old_rec" style="width: 450px;" /></td></tr>';
$this->AppBody .= '<tr><td class="fb_row_1"></td><td class="fb_row_1" style="text-align: right;"><input type="hidden" name="app" value="change_pswd" /><input type="hidden" name="change" value="yes" /><input type="submit" value="'.$Lang['ap_a5_change_button'].'" class="button_goto" /></td></tr>';
$this->AppBody .= '</table>';
$this->AppBody .= '</form>';
$this->AppBody .= '</center>';
}
else
  {


Jeżeli użytkownik nie posiada odpowiednich uprawnień , przekierowujemy go do strony głównej panelu , aby się zalogował .
           

Kod PHP:
<?php 
header
('location: '.$this->AppUrl.'admin.php');
}
}
}
?>
Odpowiedz


Skocz do:


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