Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][PDO] Rejestracja
Max Damage
post 19.08.2009, 19:08:49
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Cześć, czytałem trochę dziś o PDO i postanowiłem użyć go w skryptach. Nie jestem jednak pewny czy dobrze wszystko zrozumiałem i napisałem, więc dobrze by było gdyby ktoś to sprawdził i poprawił, bądź pokazał jak napisać to lepiej. Przykładowy kod: rejestracja.
  1. function rejestruj($nick,$haslo,$haslo2,$email){
  2. $lacz=lacz();
  3. if(strlen($nick)<6)
  4. throw new Exception('Za krotki nick.');
  5. $wynik=$lacz->prepare("SELECT nick FROM user WHERE nick=:nick");
  6. $wynik->bindValue(':nick',$nick,PDO::PARAM_STR);
  7. $ilosc=$wynik->execute();
  8. if(count($ilosc) > 0)
  9. throw new Exception('podany nick juz istnieje.');
  10. if(strlen($haslo)<6)
  11. throw new Exception('Za krotkie haslo.');
  12. if($haslo!=$haslo2)
  13. throw new Exception('Hasla nie sa takie same.');
  14. if(!preg_match("/^[a-zA-Z0-9.-]+@[a-zA_Z0-9.-]+[a-zA-Z0-9.-]+$/",$email))
  15. throw new Exception('Adres email jest niepoprawny');
  16. $wynik=$lacz->prepare("SELECT email FROM user WHERE email=:email");
  17. $wynik->bindValue(':email',$email,PDO::PARAM_STR);
  18. $ilosc=$wynik->execute();
  19. if(count($ilosc) > 0)
  20. throw new Exception('podany email juz istnieje.');
  21. $sql="INSERT INTO user (nick,haslo,email) VALUES (:nick,:haslo,:email)";
  22. $wynik=$lacz->prepare($sql);
  23. $wynik->bindValue(':nick',$nick,PDO::PARAM_STR);
  24. $wynik->bindValue(':haslo',$haslo,PDO::PARAM_STR);
  25. $wynik->bindValue(':email',$email,PDO::PARAM_STR);
  26. $wynik->execute();
  27. if($wynik)
  28. echo 'Rejestracja pomyslna.';
  29. }

Z tego co wyczytałem używając bindValue nie muszę już używać na zmiennych innych funkcji typu: stripslashes itp., ponieważ ona sama przed tym zabezpiecza. Może ktoś dokładniej sprecyzować jak to jest?


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 18:56