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:
class AppClass extends Core
  



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

Kod PHP:
public function AppStart()
  {
  global $Lang



Sprawdzamy czy użytkownik jest zalogowany na konto administratora.


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


Tworzymy nagłówek strony .
           

Kod 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:
$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:
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:
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:
$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:
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:
$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:
$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:
$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:
$this->AppBody .= $this->AppPrintWarning($Lang['ap_a5_new_pass_dont_pass']);
}
}


Drukujemy tabelę zawierającą formularz .
           

Kod 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:
header('location: '.$this->AppUrl.'admin.php');
}
}
}
?>
Odpowiedz


Skocz do:


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