Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Dziwny problem z rejestracją
Forum PHP.pl > Forum > Przedszkole
tomspec22
Witam
Mam skrypt rejestracji, dzisiaj się bawiłem nim w opcjach kodowania hasła, po zabawach przywróciłem go do postaci z przed zabaw i nagle nie działa .
Wywala błąd że wszystkie pola nie zostały wypełnione i nic się nie dzieje .
Dodam iż działał wyśmienicie wcześniej heh.

Oto skrypt:
  1. <?php
  2. include 'config.php';
  3. db_connect();
  4.  
  5. // sprawdzamy czy user nie jest przypadkiem zalogowany
  6. if(!$_SESSION['logged']) {
  7. // jeśli zostanie naciśnięty przycisk "Zarejestruj"
  8. if(isset($_POST['name'])) {
  9. // filtrujemy dane...
  10. $_POST['name'] = clear($_POST['name']);
  11. $_POST['password'] = clear($_POST['password']);
  12. $_POST['password2'] = clear($_POST['password2']);
  13. $_POST['e_mail'] = clear($_POST['e_mail']);
  14.  
  15. // sprawdzamy czy wszystkie pola zostały wypełnione
  16. if(empty($_POST['name']) || empty($_POST['password']) || empty($_POST['password2']) || empty($_POST['e_mail'])) {
  17. echo '<p><div id="error">Musisz wypełnić wszystkie pola.</p></div>';
  18. // sprawdzamy czy podane dwa hasła są takie same
  19. } elseif($_POST['password'] != $_POST['password2']) {
  20. echo '<p><div id="error">Podane hasła różnią się od siebie.</p></div>';
  21. // sprawdzamy poprawność emaila
  22. } elseif(filter_var($_POST['e_mail'], FILTER_VALIDATE_EMAIL) === false) {
  23. echo '<p><div id="error">Podany email jest nieprawidłowy.</p></div>';
  24. } else {
  25. // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email
  26. $result = mysql_query("SELECT Count(id) FROM `users` WHERE `name` = '{$_POST['name']}' OR `email` = '{$_POST['e_mail']}'");
  27. $row = mysql_fetch_row($result);
  28. if($row[0] > 0) {
  29. echo '<p><div id="error">Już istnieje użytkownik z takim loginem lub adresem e-mail.</p></div>';
  30. } else {
  31. // jeśli nie istnieje to kodujemy haslo...
  32. $_POST['password'] = codepass($_POST['password']);
  33. // i wykonujemy zapytanie na dodanie usera
  34. mysql_query("INSERT INTO `users` (`name`, `password`, `e_mail`) VALUES ('{$_POST['name']}', '{$_POST['password']}', '{$_POST['e_mail']}')");
  35. echo '';
  36. header("Location: login.php");
  37. }
  38. }
  39. }
  40.  
  41. // wyświetlamy formularz
  42. echo '<center>
  43. <div id="rejestracja"><form method="post" action="register.php">
  44. <p>
  45. Login:<br>
  46. <input type="text" value="'.$_POST['name'].'" name="name">
  47. </p>
  48. <p>
  49. Hasło:<br>
  50. <input type="password" value="'.$_POST['password'].'" name="password">
  51. </p>
  52. <p>
  53. Powtórz hasło:<br>
  54. <input type="password" value="'.$_POST['password2'].'" name="password2">
  55. </p>
  56. <p>
  57. E-mail:<br>
  58. <input type="text" value="'.$_POST['e_mail'].'" name="email">
  59. </p>
  60.  
  61.  
  62. <p>
  63. <div id="button1reg"><input type="submit" value="Zarejestruj"></div>
  64. </p>
  65. </form></div>';
  66. } else {
  67. echo '<p><div id="error">Jesteś już zalogowany, więc nie możesz stworzyć nowego konta.</p></div>
  68. <p>[<a href="index.php">Powrót</a>]</p>';
  69. }
  70.  
  71. db_close();
  72. ?>
nospor
Nagle nie działa.... Hmm, a moze jednak nie przywrociles go do dokładnego stanu, w ktorym dzialal i dlatego teraz "nagle" niedziała...

Z widocznych na szybko bledow, to jak sie otwiera jakis znacznik, np CENTER,to wypadaloby go zamknac.
SpiritCode
Pole email ma name "email" a z tego co widzę powinien nazywać się "e_mail"
tomspec22
"<center>" poprawiłem , dodam iż mam kopie sprzed kilu dni gdzie wszystko śmigało, wgrałem ją jako osobną na server i to samo, masakra jak to możliwe ?

"e_mail" jeden znaczek a tak wiele zdziałał he he smile.gif pozdrawiam i dziękuję za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.