Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problemy z PDO
GandiFly
post 16.07.2013, 20:31:07
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.06.2013

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


Witam. Tworzę swój skrypt rejestracji i logowania oparty na PDO i jest jeden problem.
Mam taki kod:

  1. $pass = sha1(md5($pass)); // Zahasuj hasło
  2.  
  3. // Sprawdź, czy użytkownik o podanym emailu i haśle isnieje w bazie danych
  4. $SQL = "SELECT COUNT(*) FROM users WHERE email = :email AND pass = :pass";
  5. $exists = $pdo -> prepare($SQL, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
  6. $exists -> bindValue(':email', $email, PDO::PARAM_STR);
  7. $exists -> bindValue(':pass', $pass, PDO::PARAM_STR);
  8. $exists -> execute();
  9. $count = $exists -> fetch(PDO::FETCH_ASSOC);
  10. if ($count == 0) {
  11. // Użytkownik nie istnieje w bazie
  12. echo '<p class="error">Użytkownik o podanym emailu i haśle nie istnieje.</p>';
  13. }
  14.  
  15. else {
  16. $sql = "SELECT * FROM `users` WHERE `email` = :email and `pass` = :pass and `status`=0";
  17. $query = $pdo -> prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
  18. $query -> bindValue(':email', $email, PDO::PARAM_STR);
  19. $query -> bindValue(':pass', $pass, PDO::PARAM_STR);
  20. $query -> execute();
  21. $RES = $query -> fetchColumn();
  22. // Jeżeli użytkownik zarejestrował się, a nie aktywował swojego konta, to wyświetla się komunikat
  23. if ($RES == 1) {
  24. echo '<p>Nie aktywowałeś jeszcze swojego konta. Aby to zrobić, wejdź na swojego maila, a następnie znajdź wiadmość z linkiem aktywacyjnym i aktywuj swoje konto</p>';
  25. }


Niestety ani nie sprawdza czy taki użytkownik istnieje (można się zalogować byle jakimi passami) ani nie sprawdza czy konto zostało aktywowane. Nie wiem w czym tkwi błąd. Żadne błędy nie wywalają.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
maly_swd
post 17.07.2013, 10:17:08
Post #2





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


if ($count == 0) {
na
if (count($count) == 0) {


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 20:36