Wyświetlanie błędu nie działa
LucKy_skiLL
06.02.2012
Mam taki kodzik, i ustawiłem sprawdzanie czy podany login i email jest zajęty, wpisuje login i rejestruje konto, wszystko jest dobrze, gdy rejestruj się ponownie na te same dane nie wyświetla mi się błąd, że login jest zajęty i w bazie tworzy się takie samo konto z takimi samymi danymi, proszę o poradę co tutaj zmienić.
<?php if($_POST["send"]==1){ //sprawdzanie czy formularz został wysłany $login = $_POST["login"]; $haslo = $_POST["haslo"]; $email = $_POST["email"]; $gg = $_POST["gg"]; if(empty($login) || empty($haslo) || empty($email) || empty($gg)) //oraz czy uzupełniono wszystkie dane if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($login."'"))))ShowForm('<div class="uwagaczer">Podany Login jest zajęty</div>'); // sprawdzanie czy login jest zajęty if(mysql_num_rows(mysql_query("select * from users where user_email='".htmlspecialchars($email."'"))))ShowForm('<div class="uwagaczer">Podany E-Mail jest zajęty</div>'); // sprawdzanie czy e-mail jest zajęty if(!is_numeric($gg)) { echo '<div class="uwagaczer">Numer GG Musi zawierać liczby</div>'; } else { mysql_query("insert into users values(NULL, '".htmlspecialchars($login)."', '".htmlspecialchars($haslo)."', '".htmlspecialchars($email)."', '".htmlspecialchars($gg)."')"); // zapisywanie rekordu do bazy echo '<div class="uwaga">Rejestracja przebiegła pomyślnie. Możesz teraz się zalogować</div>'; } } else ShowForm(); mysql_close(); //zamykanie połączenia z bazą ?>
Fili:P
06.02.2012
if(empty($login) || empty($haslo) || empty($email) || empty($gg)) //oraz czy uzupełniono wszystkie dane
Hmm jaki to ma sens ? ( wiem ze to sprawdza czy pola sa puste )
LucKy_skiLL
06.02.2012
Trochę zmieniłem kod proszę teraz o pomoc
<?php if($_POST["send"]==1){ //sprawdzanie czy formularz został wysłany $login = $_POST["login"]; $haslo = $_POST["haslo"]; $email = $_POST["email"]; $gg = $_POST["gg"]; if(empty($login)) echo '<div class="uwagaczer">Pole login nie może być puste</div>'; if(empty($haslo)) echo '<div class="uwagaczer">Pole hasło nie może być puste</div>'; if(empty($email)) echo '<div class="uwagaczer">Pole e-mail nie może być puste</div>'; if(empty($gg)) echo '<div class="uwagaczer">Pole gg nie może być puste</div>'; if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($login."'"))))ShowForm('<div class="uwagaczer">Podany Login jest zajęty</div>'); // sprawdzanie czy login jest zajęty if(mysql_num_rows(mysql_query("select * from users where user_email='".htmlspecialchars($email."'"))))ShowForm('<div class="uwagaczer">Podany E-Mail jest zajęty</div>'); // sprawdzanie czy e-mail jest zajęty if(!is_numeric($gg)) { echo '<div class="uwagaczer">Numer GG jest nieprawidłowy</div>'; } else { mysql_query("insert into users values(NULL, '".htmlspecialchars($login)."', '".htmlspecialchars($haslo)."', '".htmlspecialchars($email)."', '".htmlspecialchars($gg)."')"); // zapisywanie rekordu do bazy echo '<div class="uwaga">Rejestracja przebiegła pomyślnie. Możesz teraz się zalogować</div>'; } } else ShowForm(); mysql_close(); //zamykanie połączenia z bazą ?>
Leihto
06.02.2012
<?php
if($_POST["send"]==1)
{
$login = $_POST["login"];
$haslo = $_POST["haslo"];
$email = $_POST["email"];
$gg = $_POST["gg"];
if(empty($login))
{
$error++;
$blad .= '<div class="uwagaczer">Pole login nie może być puste</div>';
}
if(empty($haslo))
{
$error++;
$blad .= '<div class="uwagaczer">Pole hasło nie może być puste</div>';
}
if(empty($email))
{
$error++;
$blad .= '<div class="uwagaczer">Pole e-mail nie może być puste</div>';
}
if(empty($gg))
{
$error++;
$blad .= '<div class="uwagaczer">Pole gg nie może być puste</div>';
}
$log = mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($login)."'"));
if($log > 1)
{
$blad .= '<div class="uwagaczer">Podany Login jest zajęty</div>';
$error++;
}
$ema = mysql_num_rows(mysql_query("select * from users where user_email='".htmlspecialchars($email)."'"));
if($ema > 1)
{
$blad .= '<div class="uwagaczer">Podany E-Mail jest zajęty</div>';
$error++;
}
if(!is_numeric($gg))
{
$blad .= '<div class="uwagaczer">Numer GG jest nieprawidłowy</div>';
$error++;
}
if(!$error)
{
mysql_query("insert into users values(NULL, '".htmlspecialchars($login)."', '".htmlspecialchars($haslo)."', '".htmlspecialchars($email)."', '".htmlspecialchars($gg)."')"); // zapisywanie rekordu do bazy
echo '<div class="uwaga">Rejestracja przebiegła pomyślnie. Możesz teraz się zalogować</div>';
}
else
{
echo $blad;
}
}
mysql_close(); //zamykanie połączenia z bazą
?>
Przepraszam za brak tabulacji, ale ipb nie chce jej zapisać
Użytkownik Leihto edytował ten post 06.02.2012 20:58
LucKy_skiLL
06.02.2012
<?php
if($_POST["send"]==1)
{
$login = $_POST["login"];
$haslo = $_POST["haslo"];
$email = $_POST["email"];
$gg = $_POST["gg"];
if(empty($login))
{
$error++;
$blad .= '<div class="uwagaczer">Pole login nie może być puste</div>';
}
if(empty($haslo))
{
$error++;
$blad .= '<div class="uwagaczer">Pole hasło nie może być puste</div>';
}
if(empty($email))
{
$error++;
$blad .= '<div class="uwagaczer">Pole e-mail nie może być puste</div>';
}
if(empty($gg))
{
$error++;
$blad .= '<div class="uwagaczer">Pole gg nie może być puste</div>';
}
$log = mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($login)."'"));
if($log > 1)
{
$blad .= '<div class="uwagaczer">Podany Login jest zajęty</div>';
$error++;
}
$ema = mysql_num_rows(mysql_query("select * from users where user_email='".htmlspecialchars($email)."'"));
if($ema > 1)
{
$blad .= '<div class="uwagaczer">Podany E-Mail jest zajęty</div>';
$error++;
}
if(!is_numeric($gg))
{
$blad .= '<div class="uwagaczer">Numer GG jest nieprawidłowy</div>';
$error++;
}
if(!$error)
{
mysql_query("insert into users values(NULL, '".htmlspecialchars($login)."', '".htmlspecialchars($haslo)."', '".htmlspecialchars($email)."', '".htmlspecialchars($gg)."')"); // zapisywanie rekordu do bazy
echo '<div class="uwaga">Rejestracja przebiegła pomyślnie. Możesz teraz się zalogować</div>';
}
else
{
echo $blad;
}
}
mysql_close(); //zamykanie połączenia z bazą
?>
Przepraszam za brak tabulacji, ale ipb nie chce jej zapisać
Po użyciu tego, nie ma w ogóle polu w których wpisuje się dane do rejestracji.
Leihto
06.02.2012
Nie wiem jak wygląda ta funkcja to nie mogę zagwarantować że będzie działać
ShowForm();
LucKy_skiLL
06.02.2012
Ok jest, ale w dalszym ciągu tworzy się nowe konto mimo iż rejestruje o takim samym loginie, tylko user_id jest inne.
Mogę zarejestrować jedno konto o takich samych danych, drugiego już nie, jak to zmienic
Mogę zarejestrować jedno konto o takich samych danych, drugiego już nie, jak to zmienic
wlochen
06.02.2012
to chyba normalne że nie utworzysz usera o takich samych danych jeżeli chodzi o nick or email bo masz sprawdzanie czy takowy już w bazie istnieje jeżeli tak zwraca error jeżeli nei to rejestruje
LucKy_skiLL
06.02.2012
Ale nie o to chodzi, tworze twóch userów o nickach i emaila asd i nie blokuje, przy tworzeniu trzeciego o nicku i emailu asd działa.
G[o]Q
06.02.2012
sry ze psuje tutaj PROgramistom-'dedektywom' zabawe no ale
wyswietl sobie text zapytania i wrzuc je do pma a zobaczysz ze jest bledne przez to nie masz błędów
wyswietl sobie text zapytania i wrzuc je do pma a zobaczysz ze jest bledne przez to nie masz błędów
LucKy_skiLL
07.02.2012
sry ze psuje tutaj PROgramistom-'dedektywom' zabawe no ale
wyswietl sobie text zapytania i wrzuc je do pma a zobaczysz ze jest bledne przez to nie masz błędów
Więc jakie jest poprawne ?
sebul
08.02.2012
Używaj http://www.php.net/m....addslashes.php tego, chyba tylko to wystarczy.
Jakie problemy? ;]ze znakami specjalnymi zapytaj sebula on mial z tym problemy :PP