![]() |
![]() |
![]() ![]()
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 ![]() ![]() Ten post edytował Rafal_new_PHP 26.09.2008, 16:19:22
Powód edycji: zmieniłem bbcode (cysiaczek)
-------------------- www.Pocwiczmy-razem.net
|
|
|
![]() |
![]()
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 ![]() 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. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.07.2025 - 19:34 |