Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Funkcja rejestrująca użytkownika
szulcs2
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 5.03.2007

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


Mam taką funkcję
  1. <?php
  2. require_once('funkcje_bazy.php');
  3.  
  4. function rejestruj($nazwa_uz, $email, $haslo, $imie_uz)
  5. {
  6.  
  7. $lacz = lacz_bd();
  8.  
  9. $wynik = $lacz->query("select * from uzytkownicy where login='$nazwa_uz'"); 
  10. if (!$wynik)
  11.  throw new Exception('Wykonanie zapytania nie powiodło się.');
  12. if ($lacz->num_rows>0) 
  13.  throw new Exception('Nazwa użytkownika zajęta! Proszę wrócić i wybrać inną.');
  14.  
  15. $wynik = $lacz->query("insert into uzytkownicy (email, imie, login, haslo) values 
  16.  ('$email', '$imie_uz', '$nazwa_uz', sha1('$haslo') )");
  17. if (!$wynik)
  18. throw new Exception('Rejestracja w bazie danych niemożliwa. Proszę spróbować później');
  19.  
  20. return true;
  21. }
  22. ?>


W przypadku, gdy istnieje już dany login użytkownika, funkcja powinna zwrócić wyjątek, jednak ona dodaje usera o tym samym loginie do bazy.
Gdzie jest błąd w tym kodzie??
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A co w ogóle zwraca Twoja metoda $lacz->query?
Go to the top of the page
+Quote Post
szulcs2
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 5.03.2007

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


W zasadzie to chyba nic nie zwraca gdy próbuje ją wyechować. Ale zapytanie w mysql dziala dobrze.
Go to the top of the page
+Quote Post
pyro
post
Post #4





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  1. // moze tak?
  2.  
  3. <?php
  4. require_once('funkcje_bazy.php');
  5.  
  6. function rejestruj($nazwa_uz, $email, $haslo, $imie_uz)
  7. {
  8.  
  9. $lacz = lacz_bd();
  10.  
  11. $wynik = $lacz->query("select * from uzytkownicy where login='$nazwa_uz'"); 
  12. if (!$wynik)
  13.  throw new Exception('Wykonanie zapytania nie powiodło się.');
  14. if ($lacz->num_rows>0) 
  15. {
  16.  throw new Exception('Nazwa użytkownika zajęta! Proszę wrócić i wybrać inną.');
  17. }
  18. $wynik = $lacz->query("insert into uzytkownicy (email, imie, login, haslo) values 
  19.  ('$email', '$imie_uz', '$nazwa_uz', sha1('$haslo') )");
  20. if (!$wynik)
  21. throw new Exception('Rejestracja w bazie danych niemożliwa. Proszę spróbować później');
  22.  
  23. return true;
  24. }
  25. ?>
Go to the top of the page
+Quote Post

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: 26.08.2025 - 12:37