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
<?php
if (strlen($uzytkownik)<3 or
strlen($uzytkownik)>12 or
empty($uzytkownik) or
!eregi("^[a-zA-Z0-9_.]+$",$uzytkownik)) $error.="<p class=\"pole_info\">Pole { Użytkownik } musi mieć od 3 do 8
znaków bez polskich liter i spacji!</p>";
$error.= "<p class=\"pole_info\">Pole { Hasło } musi mieć od 6 do 12
znaków bez polskich liter i spacji!</p>";
if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$",$email) or
empty($email)) $error.="<p class=\"pole_info\">Pole { E-mail } nie został podany
prawidłowo!</p>";
if ( empty($imie) or
!eregi("^[a-zA-Z±¶ółżĽćńęˇ¦ÓŁŻ¬ĆŃĘ-]+$",$imie)) $error.="<p class=\"pole_info\">Pole { Imię } może
zawierać tylko znaki a-z A-Z i polski ogonki.</p>";
if ( empty($nazwisko) or
!eregi("^[a-zA-Z±¶ółżĽćńęˇ¦ÓŁŻ¬ĆŃĘ-]+$",$nazwisko)) $error.="<p class=\"pole_info\">Pole { Nazwisko } może zawierać tylko znaki a-z A-Z i polskie ogonki.</p>";
?>
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
<?php
$wynik = poł±czenie z query("select jakis rekord from tabelka_userów where login ='$uzytkownik'");
if (!$wynik)
throw new Exception('Wykonanie zapytania nie powiodło się.');
if ($wynik->num_rows>0)
throw new Exception('Nazwa użytkownika zajęta.');
?>
to samo mozna z maile zrobić
mozesz zrobić sobie funkcje lacz()
<?php
function lacz()
{
$db = new mysqli(host, user, pass, baza);
if (!$db)
throw new Exception('Poł±czenie z serwerem bazy danych nie powiodło się');
else
return $db;
}
?>
i dać to tak
<?php
$conn = lacz();
$wynik = $conn->query("select jakis rekord from tabelka_userów where login ='$uzytkownik'");
if (!$wynik)
throw new Exception('Wykonanie zapytania nie powiodło się.');
if ($wynik->num_rows>0)
throw new Exception('Nazwa użytkownika zajęta.');
?>