Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Sprawdzanie czy rekord jest już w bazie
StadiPL
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 11.05.2013

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


Witam po raz kolejny ;]
Postanowiłem dodać sobie możliwość sprawdzenia czy użykownik jaki chce się zarejestrować nie istnieje już w bazie oraz czy jego email nie został już użyty.
  1. //Oczywiście łączę się z bazą danych ;p
  2. $nickname_q = mysql_query("SELECT * FROM users WHERE nickname = '$nickname'") or die(mysql_error());
  3. $nickname_check = mysql_num_rows($nickname_q);
  4. $email_q = mysql_query("SELECT * FROM users WHERE email= '$email'") or die(mysql_error());
  5. $email_check = mysql_num_rows($email_q);
  6.  
  7. //Nieistotna część kodu
  8. else if ($nickname_check=1) {echo $existing_nickname;}
  9. else if ($email_check=1) {echo $extisting_email;}
  10. {
  11. echo 'Wykonanie skryptu ';
  12.  
  13. //na razie wartość id zmieniam ręcznie, ale dodam wkrótce dodam żeby automatycznie sczytywał największą wartość i dodawał o 1 wyższą
  14. $id="1";
  15.  
  16. $ins = @mysql_query("INSERT INTO users SET id='$id', nickname='$nickname', password='$password', email='$email' ");
  17. if ($ins) echo "OK"; else echo "LIPA";

Czemu nie działa poprawnie?

Ten post edytował StadiPL 12.05.2013, 04:28:25
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
StadiPL
post
Post #2





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 11.05.2013

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


No więc teraz ta część mojego kodu wygląda tak:
  1. $nickname_check=count($nickname);
  2. $email_check=count($email);
  3.  
  4. //Sprawdzenie warunków czy można dokonać rejestracji
  5. if(empty($nickname)){$no_nickname;}
  6. else if(empty($password) || empty($password_r)){echo $no_password;}
  7. else if($password != $password_r){echo $different_password;}
  8. else if(empty($email) || empty($email_r)){echo $no_email;}
  9. else if($email != $email_r){echo $different_email;}
  10. else if(strlen($nickname) < 3 || !preg_match('/^[A-Za-z0-9]+$/', $nickname)) {echo $bad_nickname;}
  11. else if(strlen($password) < 3 || !preg_match('/^[A-Za-z0-9]+$/', $password)) {echo $bad_password;}
  12. else if(!filter_var($email,FILTER_VALIDATE_EMAIL)){echo $bad_email;}
  13. else if($nickname_check==1) {echo $existing_nickname;}
  14. else if($email_check==1) {echo $extisting_email;}
  15. else {
  16. echo 'Wykonanie skryptu ';
  17.  
  18. $ins = @mysql_query("INSERT INTO users SET nickname='$nickname', password='$password', email='$email' ");
  19. if ($ins) echo "OK"; else echo "LIPA";
  20.  
  21. mysql_close($connection);
  22. }

I zawsze zwróci mi wartość $existing_nickname przeglądałem milion razy i nigdzie nie widze błędu. ktos mnie oswieci? ;]
Go to the top of the page
+Quote Post

Posty w temacie
- StadiPL   [MySQL][PHP]Sprawdzanie czy rekord jest już w bazie   12.05.2013, 04:27:58
- - Sobak   [PHP] pobierz, plaintext $nickname_check=1[PHP] po...   12.05.2013, 07:06:21
- - StadiPL   No więc teraz ta część mojego kodu wygląda tak: [P...   12.05.2013, 07:56:45
- - session   [PHP] pobierz, plaintext ("SELECT COUNT...   12.05.2013, 10:37:25
- - StadiPL   Próbowałem już tym sposobem. Problem musi leżeć w ...   12.05.2013, 10:45:36
- - session   Tak problem jest w tym, że funkcją count() zliczas...   12.05.2013, 10:48:27
- - StadiPL   Parse error: syntax error, unexpected 'SELECT...   12.05.2013, 11:01:19
- - session   [PHP] pobierz, plaintext $nickname_q = mysql_query...   12.05.2013, 11:07:00
- - StadiPL   Może zapodam po prostu najnowszą wersję całości, b...   12.05.2013, 11:16:11
- - session   Dlaczego nie zmienisz na to jak Ci napisałem ? Tw...   12.05.2013, 11:27:56
- - StadiPL   To nie zmieniłem na to co mi napisałeś? ;D Jak to ...   12.05.2013, 11:32:18
- - session   Zamień: [PHP] pobierz, plaintext $q1 = '(...   12.05.2013, 11:35:58
- - StadiPL   A więc pozmieniałem tak jak mówisz.. Gdy podaje da...   12.05.2013, 11:44:32
- - session   No nie bardzo jest to możliwe, albo istnieje już k...   12.05.2013, 11:59:04
- - StadiPL   YEEEAHH! ;] To byla zwykla !@#!@#...   12.05.2013, 12:17:09
- - session   "$extisting_email" ?   12.05.2013, 12:22:05
- - StadiPL   A tak jeszcze wracając na chwilkę, to lepsze będzi...   12.05.2013, 12:25:44
- - session   W jakim znaczeniu lepsze ? COUNT(*) jako komenda M...   12.05.2013, 12:33:35


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: 13.10.2025 - 13:38