Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Sprawdzanie użytwkonika z tym co jest w bazie
redelek
post 21.01.2009, 11:09:21
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Cześć,

Mam problem ze zrobieniem warunku dla sprawdzenia użytkownika który się rejestruje z użytkownikiem w bazie.
Mam takie warunki przy innych polach


  1. <?php
  2. if (strlen($uzytkownik)<3 or strlen($uzytkownik)>12 or empty($uzytkownik) or !eregi("^[a-zA-Z0-9_.]+$",$uzytkownik))
  3.      $error.="<p class=\"pole_info\">Pole { Użytkownik } musi mieć od 3 do 8
  4.                znaków bez polskich liter i spacji!</p>";
  5.      
  6.    if (strlen($haslo)<6 or strlen($haslo)>12 or empty($haslo) or !eregi("^[a-zA-Z0-9]+$",$haslo))
  7.    $error.= "<p class=\"pole_info\">Pole { Hasło } musi mieć od 6 do 12
  8.                znaków bez polskich liter i spacji!</p>";
  9.    
  10.    if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$",$email) or empty($email))
  11.    $error.="<p class=\"pole_info\">Pole { E-mail } nie został podany
  12.            prawidłowo!</p>";
  13.    if ( empty($imie) or !eregi("^[a-zA-ZąśółżźćńęĄŚÓŁŻŹĆŃĘ-]+$",$imie))
  14.      $error.="<p class=\"pole_info\">Pole { Imię } może
  15.            zawierać tylko znaki a-z A-Z i polski ogonki.</p>";
  16.    if ( empty($nazwisko) or !eregi("^[a-zA-ZąśółżźćńęĄŚÓŁŻŹĆŃĘ-]+$",$nazwisko))
  17.      $error.="<p class=\"pole_info\">Pole { Nazwisko } może zawierać tylko znaki a-z A-Z i polskie ogonki.</p>";
  18. ?>


To mi działa, ale chciałbym dodać kolejnego if który by połączył się do bazy i sprawdził czy taki użytkownik lub adres e-mail istnieje w bazie.
Połączyć się do bazy i wybrać dane to wiem . Nie chcę powtarzać tego samego zapytania co jest w przykładzie.

Macie może na to jakiś pomysł ?

Dzięki
Redelek


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
RafaelX
post 21.01.2009, 11:17:22
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 28
Dołączył: 2.01.2009

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


Cytat(redelek @ 21.01.2009, 11:09:21 ) *
Cześć,

Mam problem ze zrobieniem warunku dla sprawdzenia użytkownika który się rejestruje z użytkownikiem w bazie.
Mam takie warunki przy innych polach
  1. <?php
  2. if (strlen($uzytkownik)<3 or strlen($uzytkownik)>12 or empty($uzytkownik) or !eregi("^[a-zA-Z0-9_.]+$",$uzytkownik))
  3.      $error.="<p class=\"pole_info\">Pole { Użytkownik } musi mieć od 3 do 8
  4.                znaków bez polskich liter i spacji!</p>";
  5.      
  6.    if (strlen($haslo)<6 or strlen($haslo)>12 or empty($haslo) or !eregi("^[a-zA-Z0-9]+$",$haslo))
  7.    $error.= "<p class=\"pole_info\">Pole { Hasło } musi mieć od 6 do 12
  8.                znaków bez polskich liter i spacji!</p>";
  9.    
  10.    if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$",$email) or empty($email))
  11.    $error.="<p class=\"pole_info\">Pole { E-mail } nie został podany
  12.            prawidłowo!</p>";
  13.    if ( empty($imie) or !eregi("^[a-zA-ZąśółżźćńęĄŚÓŁŻŹĆŃĘ-]+$",$imie))
  14.      $error.="<p class=\"pole_info\">Pole { Imię } może
  15.            zawierać tylko znaki a-z A-Z i polski ogonki.</p>";
  16.    if ( empty($nazwisko) or !eregi("^[a-zA-ZąśółżźćńęĄŚÓŁŻŹĆŃĘ-]+$",$nazwisko))
  17.      $error.="<p class=\"pole_info\">Pole { Nazwisko } może zawierać tylko znaki a-z A-Z i polskie ogonki.</p>";
  18. ?>


To mi działa, ale chciałbym dodać kolejnego if który by połączył się do bazy i sprawdził czy taki użytkownik lub adres e-mail istnieje w bazie.
Połączyć się do bazy i wybrać dane to wiem . Nie chcę powtarzać tego samego zapytania co jest w przykładzie.

Macie może na to jakiś pomysł ?

Dzięki
Redelek

  1. <?php
  2. $wynik = połączenie z query("select jakis rekord from tabelka_userów where login ='$uzytkownik'");
  3.          if (!$wynik)
  4.            throw new Exception('Wykonanie zapytania nie powiodło się.');
  5.          if ($wynik->num_rows>0)
  6.            throw new Exception('Nazwa użytkownika zajęta.');
  7. ?>


to samo mozna z maile zrobić

mozesz zrobić sobie funkcje lacz()
  1. <?php
  2. function lacz()
  3. {
  4.   $db = new mysqli(host, user, pass, baza);
  5.   if (!$db)
  6.      throw new Exception('Połączenie z serwerem bazy danych nie powiodło się');
  7.   else
  8.      return $db;
  9. }
  10. ?>

i dać to tak
  1. <?php
  2. $conn = lacz();
  3. $wynik = $conn->query("select jakis rekord from tabelka_userów where login ='$uzytkownik'");
  4.          if (!$wynik)
  5.            throw new Exception('Wykonanie zapytania nie powiodło się.');
  6.          if ($wynik->num_rows>0)
  7.            throw new Exception('Nazwa użytkownika zajęta.');
  8. ?>
Go to the top of the page
+Quote Post
redelek
post 21.01.2009, 12:09:52
Post #3





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Dzięki o to chodziło.

Dzięki śliczne


--------------------
Pozdrawiam
Piotrek R
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: 19.07.2025 - 15:32