Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
everth
post 3.08.2010, 19:41:22
Post #2





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Prawdopodobnie w implementacji.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
darophp
post 3.08.2010, 19:57:54
Post #3





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

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


a możesz wyoślić ... o co dokładniej chodzi

nie ma przecież nałożonych filtrów


--------------------
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
everth
post 3.08.2010, 20:05:47
Post #4





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Rzuciłem okiem na pierwsze linijki i dałem ci link do manuala dzięki któremu powinieneś to zrobić w miarę po ludzku (i z mniejszym prawdopodobieństwem błędu). No chyba że znajdziesz kogoś kto za ciebie zanalizuje ten kod i poda rozwiązanie, ja nie mam wystarczających umiejętności niestety.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
darophp
post 3.08.2010, 21:01:29
Post #5





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

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


No to może się ktos taki znajdzie bo siedzę na tym parę dobrych godzin ...

Bardzo potzrbuję, żeby działał mi ten skrypt. Mogę prosić o pomoc winksmiley.jpg questionmark.gif

Ten post edytował darophp 3.08.2010, 21:01:00


--------------------
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
Wicepsik
post 3.08.2010, 21:04:12
Post #6





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. $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')") or die(mysql_error());
dodaj mysql_error do tej linijki tak jak ci pokazalem


--------------------
Go to the top of the page
+Quote Post
darophp
post 4.08.2010, 10:57:25
Post #7





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

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


Dalej się nic nie zmieniło, sprawdzałem na połączenie z bazą .. ale jest. Jakieś pomysły ?


Stanęło w miejscu, jest jak było. dry.gif

Ten post edytował darophp 4.08.2010, 10:57:21


--------------------
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
thek
post 4.08.2010, 12:00:22
Post #8





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
darophp
post 4.08.2010, 12:24:11
Post #9





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

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


W składni nie ma problemu, bo to właśnie BBCode utworzył sobie linka, i psuje zamieszczony kod ;P
wacko.gif wacko.gif wacko.gif

Ten post edytował darophp 4.08.2010, 12:24:49


--------------------
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
thek
post 4.08.2010, 12:29:28
Post #10





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




W takim razie masz byka jeśli chodzi o zmienną $blad. Lepiej sprawdź ją i IF ją obsługujący smile.gif


--------------------
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
darophp
post 4.08.2010, 12:48:16
Post #11





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

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


Usunąłem cudzysłowy $blad==0 (zanim zakładałem temat też ich nie było (chyba dlatego ze jest mysql error)) i nareszcie jest jakiś błąd:
Cytat
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES('darex', 'f3b5ad382791fd0c57a26b194d0e8e4c', '7434711574c595222ee9a3', 1,' at line 1


No i ten błąd Column count doesn't match value count at row 1 ale zaraz sprawdze czy nie za mało kolumn ..

Ten post edytował darophp 4.08.2010, 12:45:10


--------------------
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
thek
post 4.08.2010, 12:51:12
Post #12





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




Skoro tam, to sobie wyechuj całe zapytanie lub chociaż zmienną $mysql_tabela bo na nią wskazuje błąd. Może jest pusta?


--------------------
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
darophp
post 4.08.2010, 12:58:07
Post #13





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

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


Jest udało się ... zapomniałem wstawić $id = mysql_insert_id(); i dopisać w zapytaniu '$id'.
No i narescie wyskoczył komunikat zeby odebrać emaila, a email odszedł. Dziękuje za pomoc winksmiley.jpg


--------------------
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

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: 27.06.2025 - 15:45