←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

PHP
Wyświetlanie błędu nie działa

  • +
  • -
LucKy_skiLL - zdjęcie 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ą
?>
Odpowiedz

  • +
  • -
Fili:P - zdjęcie 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 )
Odpowiedz

  • +
  • -
LucKy_skiLL - zdjęcie 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ą
?>
Odpowiedz

  • +
  • -
Leihto - zdjęcie 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
Odpowiedz

  • +
  • -
LucKy_skiLL - zdjęcie 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.
Odpowiedz

  • +
  • -
Leihto - zdjęcie Leihto 06.02.2012

Nie wiem jak wygląda ta funkcja to nie mogę zagwarantować że będzie działać :)
ShowForm();
Odpowiedz

  • +
  • -
LucKy_skiLL - zdjęcie 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 :D
Odpowiedz

  • +
  • -
wlochen - zdjęcie 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
Odpowiedz

  • +
  • -
LucKy_skiLL - zdjęcie 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.



Dołączona grafika
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie 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
Odpowiedz

  • +
  • -
LucKy_skiLL - zdjęcie 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 ?
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 07.02.2012

ze znakami specjalnymi zapytaj sebula on mial z tym problemy :PP
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 08.02.2012

Używaj http://www.php.net/m....addslashes.php tego, chyba tylko to wystarczy.

ze znakami specjalnymi zapytaj sebula on mial z tym problemy :PP

Jakie problemy? ;]
Odpowiedz