Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] logowanie PDO
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Jak powinno wyglądać logowanie oparte o PDO?
  1. try
  2. {
  3. $pdo = new PDO(''.DB_TYPE.':host='.DB_HOST.';dbname='.DB_NAME.'', ''.DB_LOGIN.'', ''.DB_PASS.'', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
  4. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  5. $stmt = $pdo -> prepare('SELECT login, pass FROM users WHERE login=:login AND pass=:password LIMIT 1');
  6. $stmt -> bindValue(':login', $_POST['login'], PDO::PARAM_STR);
  7. $stmt -> bindValue(':password', $_POST['password'], PDO::PARAM_STR);
  8. $stmt -> execute();
  9.  
  10. $user=$stmt-> fetch();
  11. $stmt -> closeCursor();
  12. //print_r($user);
  13. if(!$user['login'] && !$user['pass'] || $user['login'] != $_POST['login'] && $user['pass'] != $_POST['password']){echo 'nie działa';}else{echo 'login i hasło się zgadzają';}
  14.  
  15. }
  16. catch(PDOException $e)
  17. {
  18. echo 'Błąd połączenia: ' . $e->getMessage();
  19. }


Napisałem coś takiego, jednak niejestem pewien co do sprawdzenia czy login i hasło istnieją, a jeśli tak to czy są takie same jak te podane przez POST... i mam problem z wielkością liter, obecnie jeśli w bazie mam login "admin" i hasło "test", to po wysłaniu danych "Admin", "Test" zostane zalogowany...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 04:53