Nie podałeś kodu, ale strzelam, że jeśli usuniesz isset(), to otrzymasz błąd dotyczący nieistniejącego indexu. Najlepiej będzie jak pokażesz swój kod.
Nie deklaruję zmiennej do której przypisuję posta przed sprawdzeniem czy się zgadza. Dopiero po preg_matchu jeśli jest ok przypisuję ów zmienne. Więc błędu o indeksach nie ma.
if(preg_match('/^[a-zA-Z0-9]{5,15}$/',$_POST['login']) and preg_match('/^[a-zA-Z0-9]{10,15}$/',$_POST['haslo']) and preg_match('/^[a-zA-Z0-9]{5,15}$/',$_POST['pseudonim']) and preg_match('/^[a-zA-Z0-9]{10,15}$/',$_POST['haslo2']) and preg_match('/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/',$_POST['email']) and $_POST['haslo'] == $_POST['haslo2']) { $login = $_POST['login']; $haslo = md5($_POST['haslo']); $pseudonim = $_POST['pseudonim']; $email = $_POST['email']; $ip = $_SERVER['REMOTE_ADDR']; global $baza; $l = 0; $p = 0; $e =0; if(mysqli_num_rows(mysqli_query($baza, "SELECT login FROM uzytkownicy WHERE login = '$login'"))) { echo "Użytkownik o podanym loginie już istnieje.".'</br>'; $l++; } if (mysqli_num_rows(mysqli_query($baza, "SELECT pseudonim FROM uzytkownicy WHERE pseudonim = '$pseudonim'"))) { echo "Użytkownik o podanym pseudonimie już istnieje.".'</br>'; $p++; } if (mysqli_num_rows(mysqli_query($baza, "SELECT email FROM uzytkownicy WHERE email = '$email'"))) { echo "Użytkownik o podanym emailu już istnieje.".'</br>'; $e++; } if($l == 0 and $p == 0 and $e == 0) { if(mysqli_query($baza, "INSERT INTO `uzytkownicy` (`id`, `login`, `haslo`, `pseudonim`, `ip`, `email`, `premium`) VALUES (NULL, '$login', '$haslo', '$pseudonim', '$ip', '$email', '0')")) echo "Gratulacje. Zostałeś zarejestrowany."; else echo "Przykro nam. Coś poszło nie tak."; } } else echo "Wprowadziłeś złe dane lub hasła nie zgadzają się.";
A próbowałeś to odpalić? Oczywiście, że zwraca 'Undefined index'. Przypisz te parametry przed funkcją warunkową i tam sprawdź, czy istnieją:
$login = isset($_POST['login']) ? $_POST['login'] : null; ...
i przy else daj "{ ... }" Stosuj jeden zapis wszędzie, bo to co tam jest dopisane, to kiepska praktyka.
93,469 zapytań
142,404 odpowiedzi
322,715 komentarzy
62,852 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj