Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] błąd $db->num_rows [PHP], Nie dziala sprawdzanie loginu a powinno.
Rafal_new_PHP
post 26.09.2008, 15:16:13
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 26.09.2008

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


Błąd $db->num_rows nie sprawdza czy istnieje w bazie Mysql login. Pomijane jest throw new Exception('Nazwa użytkownika zajęta — proszę wrócić i wybrać inną.');
echo 'Wykonanie zapytania nie powiodło się.'; Reszta działa okej. O to dokładny opis.

Kod
<?php
$login=$_POST['login'];
$haslo=$_POST['haslo'];
$mail=$_POST['mail'];
$imie=$_POST['imie'];
$pseldo=$_POST['pseldo'];
$rejestracja=$_POST['rejestracja'];


if (!$login || !$haslo || !$mail || !$imie || !$pseldo || !$rejestracja )
{
echo 'Nie podano wszystkich potrzebnych danych. </br>'
      . 'Wróć do strony rejestracji! Spróbuj ponownie';
exit;
}

if (!get_magic_quotes_gpc())
{
$login=addslashes($login);
$haslo=addslashes($haslo);
$mail=addslashes($mail);
$imie=addslashes($imie);
$pseldo=addslashes($pseldo);
}

@ $db = new mysqli('localhost', 'root', '', 'serwis');
if (mysqli_connect_errno())
{
echo 'Bład połaczenia z baza danych';
exit;
}
  $wynik2 = $db->query("select * from konto where login='$login'");
  if (!$wynik2)
{
     throw new Exception('Wykonanie zapytania nie powiodło się.');
   echo 'Wykonanie zapytania nie powiodło się.';
exit;
  
  
}
  if ($db->num_rows>0)
{
     throw new Exception('Nazwa użytkownika zajęta — proszę wrócić i wybrać inną.');
    echo 'Wykonanie zapytania nie powiodło się.';
exit;
  
}



$zapytanie ="insert into konto values ('".$login."', '".$haslo."', '".$mail."', '".$imie."', '".$pseldo."')";
$wynik = $db->query($zapytanie);
if ($wynik)
{
echo ' konto zarejestrowane ';
}




?>


Jeden kod juz naprawilem smile.gif tylko ten na gorze tongue.gif nie wiem jak.

Ten post edytował Rafal_new_PHP 26.09.2008, 16:19:22
Powód edycji: zmieniłem bbcode (cysiaczek)


--------------------
www.Pocwiczmy-razem.net
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cysiaczek
post 26.09.2008, 15:46:11
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Ad1.
Szkoda, że nie działa sad.gif Szkoda też, że nie szanujesz naszego czasu, bo gdybyś szanował, to podałbyś objawy owego "nie działania".

Ad2.
Ja mogę potwierdzić, że funkcji sesion_start() nie ma w PHP. Jest natomiast session_start(), której brak jest dość dziwny. Owszem, można skompilować php z dyrektywą --disable-session, ale używasz Windows z prekonfigurowanym oprogramowaniem WAMP, więc wątpię, aby nie było w nim obsługi sesji.
Posprawdzaj wszystko jeszcze raz.

Ad3.
http://pl2.php.net/manual/pl/function.filter-var.php
W pierwszy przykładzie masz metodę sprawdzania e-mail - innych się już nie stosuje.

Prosze jeszcze o zmianę tytułu tematu na taki, który mówi coś o problemie w nim poruszanym - jeśli tego nie zrobisz - zamknę temat.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
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: 30.07.2025 - 19:34