Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rejestracja, walidacja pól
Forum PHP.pl > Forum > PHP
smolek
Dzień dobry. Mam pewien problem otóż napisałem skrypt rejestracji aleniewiadomo czemu za każdym razem wyskakuje mi że nie wypełniłem wszystkich pól jak w tym rarunku dałem insert into to w tabeli dodało wsztstkie dane prucz email. Oto pliki.
register.php
  1. <?
  2. include('functions.php');
  3. include('header.php'); 
  4. list($startingcash, $signups, $running) = getGameInfo();?>
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  8. <script src="md5.js"></script>
  9.  
  10. <script language="JavaScript">
  11.  
  12. function encrypt2()
  13. {
  14. var s = document.reg.Password1show.value;
  15. var s = hex_md5(s);
  16. document.reg.Password1.value = s;
  17. var s = document.reg.Password2show.value;
  18. var s = hex_md5(s);
  19. document.reg.Password2.value = s;
  20. }
  21. </script>
  22. <title>Dragster</title>
  23. <link rel="stylesheet" type="text/css" href="style.css" />
  24. </head>
  25. <body>
  26.  
  27. <div id="container">
  28. <div id="header">
  29.  
  30. <h1><a href="home.html"><span>Throttle - Win or Crash</span></a></h1>
  31. </div>
  32.  
  33. <div id="sidebar-left">
  34. <h2 id="crew"><span>The Crew</span></h2>
  35. <?PHP include('login.php'); ?>
  36. </div>
  37.  
  38. <div id="main">
  39. <h2 id="content"><span>content panel</span></h2>
  40. <?PHP
  41. if ($signups!="1")
  42. {
  43. echo("<p><font face='Arial, Helvetica, sans-serif' size='2'><b>Sorry but sign-ups are currently closed. Please come back again.</b></font></p>");
  44. }
  45. else if($running!="1")
  46. {
  47. echo("<p><font face='Arial, Helvetica, sans-serif' size='2'><b>Sorry but the game is currently down for maintance. Please come back again.</b></font></p>");
  48. }
  49. else
  50. {
  51. ?>
  52. <FORM ACTION="reg.php" METHOD="POST" NAME="reg">
  53. Login:<BR>
  54. <INPUT TYPE="text" NAME="Username"><BR>
  55. Hasło:<BR>
  56. <INPUT TYPE="password" NAME="Password1show"><BR>
  57. Powtórz hasło:<BR>
  58. <INPUT TYPE="password" NAME="Password2show"><BR>
  59. Adres email:<BR>
  60. <INPUT TYPE="text" NAME="email"><br>
  61. <INPUT TYPE="hidden" NAME="Password1">
  62. <INPUT TYPE="hidden" NAME="Password2">
  63. <INPUT TYPE="submit" NAME="submit" VALUE="Rejestruj" onClick="encrypt2()">
  64. </FORM>
  65. <?
  66. }
  67. ?>
  68. </div>
  69.  
  70.  
  71. <div id="footer">
  72. <?PHP include("footer.php"); ?>
  73. </div>
  74. </div>
  75. </body>
  76. </html>

a to reg.php
  1. <?
  2. include('header.php');
  3. include("functions.php");
  4. $username = $_POST["Username"];
  5. $password1 = $_POST["Password1"];
  6. $password2 = $_POST["Password2"];
  7. $email = $_POST["email"];
  8. connectdb();
  9. if ($username==|| $password1==|| $password2==|| $email==0)
  10. {
  11. $ico='Musisz wypełnić wszystkie pola!';
  12. }
  13. else
  14. {
  15. if ($password1!=$password2)
  16. {
  17. $ico='Hasła które podałeś nie są identyczne!';
  18. }
  19. else
  20. {
  21. $ml=mysql_num_rows(mysql_query("select * from users where email='$email'"));
  22. if ($ml > 0)
  23. {
  24. $ico='Taki email jest już zarezerwowany!';
  25. }
  26. else
  27. {
  28. $gracz=mysql_num_rows(mysql_query("select * from users where username='$username'"));
  29. if&#12288;($gracz > 0)
  30. {
  31. $ico='Taki login jest już zarezerwowany!';
  32. }
  33. else
  34. {
  35. $query=mysql_query("insert into users (user_id,username,password,email) values ('','$username','$password1','$email')");
  36. $rezultat=mysql_query($query);
  37. $ico='Konto zostało utworzone teraz możesz się zalogować!';&#12288; 
  38. }}}}
  39. ?>

I za żadne skarby nie mogę dojść czemu po drodze gubi mi zmienną $email. Pisze ponieważ ja już nie mam pomysłu co tu zepsułem. Może wy znajdziecie błąd. Z góry dziękuę i pozdrawiam.
b_chmura
  1. <?php
  2. if ($username==|| $password1==|| $password2==|| $email==0)
  3. ?>


zmien na

  1. <?php
  2. if(empty($username) or empty($password1) or empty($password2) or empty($email))
  3. ?>
wieprzucpp
no w sumie trochę dziwne. Wydaje się dobrze napisane. Nie wiem, dlaczego zmienna email ci ginie. Spróbuj zrobić ten skrypt bez javki. Zakodujesz hasła w pliku reg.php przy pomocy polecenia md5($zmienna). Może będzie chodzić, choć wątpię, by to było przyczyną gubienia zmiennej.

p.s.
  1. <?php
  2. if ($username==|| $password1==|| $password2==|| $email==0)
  3. ?>

ja bym to zapisał
  1. <?php
  2. if(empty($username) | empty($password1) | empty($password2) | empty($email))
  3. ?>

;]
dadexix
może jest coś z kodowaniem - baza<>skrypt - kodowania różne wtedy może uciąć ciąg znaków jeśli nie rozpoznaje znaku zakodowanego w innym charsecie....

jak byś zmienił @ na jakiś inny znak i sprawdził czy działa?
smolek
O patrzcie usunięcie javy całkowicie pomogło. Dzięki wieprzucpp
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.