Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dlaczego ten kod nie działa?
Forum PHP.pl > Forum > Przedszkole
klex234
Po wciśnięciu przycisku wysyłającego strona wchodzi od nowa i nic.

Oto kod:
  1.  
  2. <?php
  3. /*
  4. * package: register and login system
  5. * author: Klex234(Jakub Salus)
  6. * Web Site: Jakub-Salus.cba.pl
  7.  
  8. */
  9. require 'config.php'; // połączenie z bazą danych
  10.  
  11.  
  12. if (isset($_POST['send'])) // jeżeli wysłano formularz to
  13. {
  14. $login = htmlspecialchars($_POST['login']); // zmienna z loginem
  15. $mail = htmlspecialchars($_POST['mail']); // zmienna z mail-em
  16. $mailp = htmlspecialchars($_POST['mailp']); // zmienna z powtorzeniem e-mail-a
  17. $pass = htmlspecialchars($_POST['pass']); // zmienna z haslem
  18. $passp = htmlspecialchars($_POST['passp']); // zmienna z powtórzonym hasłem
  19.  
  20. $errorlist = ''; // zmienna z listą błędów
  21.  
  22. if(!$login || !$mail || !$mailp || !$pass || !$passp) {$errorlist = 'Wypełnij wszystkie pola <br />';} // jeżeli jakieś pole będzie puste to
  23. if(mysql_num_rows(mysql_query("SELECT COUNT(*) FROM users WHERE login = ".$login.";"))!=0) {$errorlist = 'Ten login jest już używany przez inną osobę <br />';} // jeżeli istnieje taki sam login to
  24. if(mysql_num_rows(mysql_query("SELECT COUNT(*) FROM users WHERE email = ".$mail.";"))!=0) {$errorlist = 'Ten e-mail jest już używany przez inną osobę <br />';} // jeżeli istnieje taki mail to
  25. if($pass != $passp) {$errorlist = 'Hasła się nie zgadzają <br />';} // jeżeli hasłą się nie zgadzają to
  26. if($mail != $mailp) {$errorlist = 'E-mail-e się nie zgadzają <br />';} // jeżeli mail-e się nie zgadzają to
  27.  
  28. if($errorlist != '') // jeżeli na liście błędów coś będzie to
  29. {
  30. echo $errorlist; // wyświetl liste błędów
  31. }
  32. else // jeżeli nie to
  33. {
  34. mysql_query('INSERT INTO user login='.$login.' pass='.$pass.''); // zapisz dane do bazy
  35. }
  36. }
  37. else{
  38. ?>
  39. <form method="post" action="registermoje.php">
  40.  
  41.  
  42. <label for="login">Login:</label>
  43. <input type="text" maxlength="32" name="login"/>
  44.  
  45.  
  46. <label for="pass">Hasło:</label>
  47. <input type="password" maxlength="32" name="pass"/>
  48.  
  49.  
  50. <label for="passp">Powtórz hasło:</label>
  51. <input type="password" maxlength="32" name="passp"/>
  52.  
  53.  
  54. <label for="mail">E-Mail:</label>
  55. <input type="text" maxlength="255" name="mail"/>
  56.  
  57.  
  58. <label for="mailp">Powtóz E-Mail:</label>
  59. <input type="text" maxlength="255" name="mailp"/>
  60.  
  61. <input type="submit" value="Zarejestruj się" name="send" />
  62. </form>
  63. <?php
  64. }
  65. ?>
  66.  
  67.  


Wiem, nie jest to zbyt bezpieczny kod ale potem to poprawie. dry.gif
Daiquiri
I nic czyli co? W którym miejscu się "zatrzymałeś"? Czy masz działające połączenie z bazą,a także stosowne tabele i pola?

Przenoszę do przedszkola.
tolomei
Witaj.

- linia 23 - brak apostrofów wokół zmiennej $login,
- linia 24 - brak apostrofów wokół zmiennej $mail,
- linia 34 - brak apostrofów wokół zmiennej $login oraz $pass,

Ogólnie to zmienna $errorlist zawiera tylko ostatni błąd. Jeśli chcesz aby zawierała całą listę - przypisuj kolejne błędy za pomocą .= .

Daj sobie ten kod na początku głównego skryptu:

  1. ini_set('display_errors','1');


W ten sposób zobaczysz powiadomienia o błędach.

Pozdrawiam.
!*!
Cytat
Dlaczego ten kod nie działa?


Bo nie jest zbyt dobry? Gdzie go uruchamiasz? może zmień action="#" ? Poza tym średników w zapytaniu się nie używa.
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.