Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Sprawdzanie danych użytkownika
darophp
post 3.08.2010, 19:30:15
Post #1





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

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


Gdzie robię błąd ?
  1. if ($register=="check") {
  2.  
  3. /**************************************************/
  4. /* sprawdzenie danych i dodanie uzytkownika */
  5. /**************************************************/
  6.  
  7. $id = htmlspecialchars(stripslashes(trim($_POST["id"])), ENT_QUOTES);
  8. $login = htmlspecialchars(stripslashes(trim($_POST["login"])), ENT_QUOTES);
  9. $password = htmlspecialchars(stripslashes(trim($_POST["password"])), ENT_QUOTES);
  10. $email = htmlspecialchars(stripslashes(trim($_POST["email"])), ENT_QUOTES);
  11. $phone = htmlspecialchars(stripslashes(trim($_POST["phone"])), ENT_QUOTES);
  12. $first_name = htmlspecialchars(stripslashes(trim($_POST["first_name"])), ENT_QUOTES);
  13. $last_name = htmlspecialchars(stripslashes(trim($_POST["last_name"])), ENT_QUOTES);
  14. $street = htmlspecialchars(stripslashes(trim($_POST["street"])), ENT_QUOTES);
  15. $number = htmlspecialchars(stripslashes(trim($_POST["number"])), ENT_QUOTES);
  16. $zip_code = htmlspecialchars(stripslashes(trim($_POST["zip_code"])), ENT_QUOTES);
  17. $city = htmlspecialchars(stripslashes(trim($_POST["city"])), ENT_QUOTES);
  18.  
  19. if (strlen($login)<3 or strlen($login)>32
  20. or !eregi("^[a-zA-Z0-9_.]+$",$login)) { $blad++;
  21. echo "<span style=\"color:red;\">Login musi mieć od 3 do 32 znaków bez polskich liter i spacji!</span><br />";
  22. } else {
  23. $wynik= mysql_query("SELECT * FROM users WHERE login='$login'");
  24. if (mysql_num_rows($wynik)<>0) { $blad++;
  25. echo "<span style=\"color:red;\">Login już został przez kogoś użyty !. Zaproponuj inny!</span><br />";
  26. }
  27. }
  28.  
  29. if (strlen($password)<6 or strlen($password)>50
  30. or !eregi("^[a-zA-Z0-9]+$",$password)) { $blad++;
  31. echo "<span style=\"color:red;\">Hasło musi mieć od 6 do 32 znaków bez polskich liter i spacji!</span><br />";
  32. }
  33.  
  34. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email)) { $blad++;
  35. echo "<span style=\"color:red;\">E-mail nie został podany prawidłowo!</span><br />";
  36. }
  37.  
  38. if ($blad=="0") {
  39. $code = uniqid(rand());
  40. $password_ins = md5($password);
  41. $wynik = mysql_query("INSERT INTO $mysql_tabela VALUES('$login', '$password_ins', '$code', 1, NOW(), '$email', '$phone', '$first_name', '$last_name', '$street', '$number', '$zip_code', '$city')");
  42. if ($wynik) {
  43. $list="
  44. Aby potwierdzić rejestracje kliknij w ciągu 48 godzin na adres:
  45. strona.pl/index.php?register=confirm&code=$code
  46. Jeżeli nie chcesz się rejestrować, zignoruj ten list.
  47. ";
  48. $twoj_adres = "darex@poczta.pl";
  49. mail($email, "Rejestracja", $list, "From: <$twoj_adres>");
  50. echo "<p>Aby dokończyć proces rejestracji odbierz e-mail</p>";
  51. }
  52. } else $page="register";
  53.  
  54. }
  55.  
  56. if ($page=="register") {
  57.  
  58. echo <<<KONIEC
  59. <form action="/index.php?page=register" method="post">
  60. <input type="hidden" name="register" value="check" />
  61. <table style="padding: 10px; padding-top: 5px;" >
  62.   <tr>
  63.   <td><p>Login: </p></td>
  64.   <td><input type="text" name="login" value="$login" /></td>
  65.   </tr>
  66.   <tr>
  67.   <td><p>Hasło: </p></td>
  68.   <td><input type="password" name="password" value="$password" /></td>
  69.   </tr>
  70. <p>...</p>
  71. <tr>
  72.   <td><br/><input type="submit" value="Zarejestruj się!" /></td>
  73. </tr>
  74. </table>
  75. </form>
  76. KONIEC;
  77. }


Gdy wpisze dane w formularzu jest ok nie wyskakują błędne komunikaty że nie poprawny login lub coś innego, ale nie przekierowuje mnie do dalszej strony gdzie pisze ze trzeba odebrać emaila .. (ten dalszy kod nie wstawiony)

Nie mam sił ...

Ten post edytował darophp 4.08.2010, 12:22:23
Powód edycji: [thek]: grrrr.... ile razy na tym forum ludziom trzeba pisaćPOPRAWNE bbcode :/ Poprawiłem bo wyglądało ch.jowo :)


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post 4.08.2010, 12:00:22
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Poprawiłem Ci z CODE na PHP... Patrz jaki od razu kwiatek wyszedł ze złym użyciem apostrofów, a ściślej ich nie escape'owaniem. Linia 45 i dalsze musisz sprawdzić bo Ci krecią robotę robi. Teraz widzisz czemu nikt do tej pory tego prostego błedu nie zauważył. Używaj poprawnych znaczników jak [ php ] czy [ html ] a nie [ code ] bo tylko utrudniasz sam sobie pomoc (oczywiście bez spacji mają być w środku znaczniki)


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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: 14.08.2025 - 22:55