Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd podczas rejestracji...
Forum PHP.pl > Forum > Gotowe rozwiązania
hub3rt
Mam taki skrypt:
  1. <?php
  2. $xxhaslo=md5($haslo);
  3. $at=&#092;"@\";
  4. if(ereg($at, $mail))
  5. {
  6. echo&#092;"<html>
  7. <head>
  8. <meta http-equiv=&#092;"Content-Type\\" content=\"text/html; charset=iso-8859-2\">
  9. <title></title>
  10. <STYLE type=&#092;\"text/css\">
  11. TD.regScriva { font-family:verdana; font-size:10pt; font-weight:bold; color:white;}
  12. INPUT {border-width:thin; border-color:#5885B1; color:#8F2030; line-height:12px; font-size:12px; height:20px; width:60px; border-style:groove; }
  13. TD.vaerde {font-family:verdana; font-size:10pt; font-weight:bold; color:#ffcc33}
  14. </STYLE>
  15. </head>
  16. <body text=white>
  17. <table border=0 width=400 bgColor=#c01c24 cellPadding=10 cellSpacing=2 align=center>
  18. <tr>
  19. <td colSpan=Class=regScriva bgColor=#90151B height=30 align=center>POTWIERD&not; DANE:</td>
  20. </tr><tr>
  21. <td width=180 bgColor=#90151B CLASS=regScriva align=right>Twój login:</td>
  22. <td width=30></td>
  23. <td CLASS=vaerde>$login</td>
  24. </tr><tr>
  25. <td CLASS=regScriva bgColor=#90151B align=right>Twoje hasło:</td>
  26. <td width=30></td>
  27. <td CLASS=vaerde>$haslo</td>
  28. </tr><tr>
  29. <td CLASS=regScriva bgColor=#90151B align=right>Twoje imię:</td>
  30. <td width=30></td>
  31. <td CLASS=vaerde>$imie</td>
  32. </tr><tr>
  33. <td CLASS=regScriva bgColor=#90151B align=right>Płeć:</td>
  34. <td width=30></td>
  35. <td CLASS=vaerde>$plec</td>
  36. </tr><tr>
  37. <td CLASS=regScriva bgColor=#90151B align=right>Miejsce zamieszkania:</td>
  38. <td width=30></td>
  39. <td CLASS=vaerde>$miasto</td>
  40. </tr><tr>
  41. <td CLASS=regScriva bgColor=#90151B align=right>Twój e-mail:</td>
  42. <td width=30></td>
  43. <td CLASS=vaerde>$mail</td>
  44. </tr><tr>
  45. <td colSpan=3 bgColor=#90151B align=center><form action=\"tack.php3\" method=\"post\">
  46. <INPUT type=hidden Value=$login name=login>
  47. <INPUT type=hidden Value=$xxhaslo name=xxhaslo>
  48. <INPUT type=hidden Value=$imie name=imie>
  49. <INPUT type=hidden Value=$plec name=plec>
  50. <INPUT type=hidden Value=$miasto name=miasto>
  51. <INPUT type=hidden Value=$mail name=mail>
  52. <input type=&#092;\"submit\" value=\"OK\">
  53. <input type=&#092;\"button\" onClick=javascript:history.back() value=\"POPRAW\">
  54. </form></td>
  55. </tr>
  56. </table>
  57.  
  58. </body>
  59. </html>&#092;";
  60. }
  61. else
  62. {
  63. echo(&#092;"<html>
  64. <head>
  65. <meta http-equiv=&#092;"Content-Type\" content=\"text/html; charset=iso-8859-2\">
  66. <title></title>
  67. <STYLE type=&#092;\"text/css\">
  68. TD.regScriva { font-family:verdana; font-size:10pt; font-weight:bold; color:white;}
  69. { font-family:verdana; font-size:10pt; font-weight:bold; letter-spacing:2px; color:#ffcc00; text-decoration:underline }
  70. </STYLE>
  71. </head>
  72. <body bgColor=#6699cc>
  73. <table border=0 cellPadding=40 cellSpacing=0 align=center>
  74. <tr>
  75. <td class=regScriva>Wpisałeś błędne dane...</td>
  76. </tr><tr>
  77. <td align=center><A href=javascript:history.back()>powrot</A></td></tr></table></body></html>&#092;");
  78. }
  79. ?>

jest to skrypt rejestracji wchodzący w skład systemu logowania i kiedy chcę sie zarejestrowac wypelniajac wszystkie pola (moim zdnaiem winksmiley.jpg ) poprawnie to zawsze pojawia sie blad "Wpisales bledne dane...". Dlaczego skrypt nie dziala poprawnie. Wpisuje wszystko jak trzeba a on zawsze pokazuje blad. Mysle ze jest blad w tresci skryptu...rposze o pomoc przy rozwiazaniu tego problemu...
Vertical
Jeśli to ma być zwykły skrypt rejestracyjny, to ja bym to zrobił raczej w dwóch skryptach i przy okazji zainstalował MySQL-a, bo takie żeczy się robi w SQL-u... jeśli już go zainstalujesz, możesz napisać skrypt podobny do tego:
SKRYPT1.php:

  1. <html>
  2. <?php
  3. //definicja funkcji:
  4. function print_form() {
  5. ?>
  6. <form action = \"rejestracja.php\" method = \"POST\">
  7. <p>Nick: <input type = \"text\" name = \"nick\">
  8. <br>Login: <input type = \"text\" name = \"login\">
  9. <br>Hasło: <input type = \"password\" name = \"passwd1\">
  10. <br>Potwierdź hasło: <input type = \"password\" name = \"passwd2\">
  11. <p><input type = \"submit\" name = \"submit\" value = \"Zarejestruj się!\">
  12. <p><font color = \"#FFFFFF\"><b>Status:</b><font color = \"#C0C0C0\">
  13. </form>
  14. <font color = \"#FF0000\">
  15. <?
  16. }
  17. print_form();
  18. if(isset($_POST['submit'])):
  19. $nick = $_POST['nick'];
  20. $login = $_POST['login'];
  21. $passwd1 = $_POST['passwd1'];
  22. $passwd2 = $_POST['passwd2'];
  23. endif;
  24. if(isset($_POST['submit']) && ($nick == &#092;"\")):
  25. print(&#092;"<p>Musisz wpisać swój <b>nick</b>.n\");
  26. endif;
  27. if(isset($_POST['submit']) && ($login == &#092;"\")):
  28. print(&#092;"<p>Musisz wpisać swój <b>login</b>.n\");
  29. endif;
  30. if(isset($_POST['submit']) && ($passwd1 == &#092;"\")):
  31. print(&#092;"<p>Musisz wpisać swoje <b>hasło</b>.n\");
  32. endif;
  33. if(isset($_POST['submit']) && ($passwd2 == &#092;"\")):
  34. print(&#092;"<p>Wpisz potwierdzenie <b>hasła</b>.n\");
  35. endif;
  36. if(isset($_POST['submit']) && ($passwd1 != $passwd2)):
  37. print(&#092;"<p><b>Hasło</b> i jego potwierdzenie muszą być takie same!n\");
  38. endif;
  39. ?>
  40. <font color = \"#FF0000\">
  41. <?
  42. $db = mysql_connect(&#092;"localhost\", \"root\");
  43. mysql_select_db(&#092;"baza\", $db);
  44. $login = $_POST['login'];
  45. $sql = &#092;"SELECT * FROM tabela WHERE login = '\". $login .\"'\";
  46. $result = mysql_query($sql);
  47. if (mysql_num_rows($result) > 0) echo &#092;"Twój login jest już zajęty!\";
  48. ?>
  49. <font color = \"#C0C0C0\">
  50. <?
  51. if(isset($_POST['submit']) && ($passwd1 == $passwd2) && ($nick != &#092;"\") && ($login != \"\") && (mysql_num_rows($result) <= 0)):
  52. print(&#092;"<h3>Oto twoje dane:</h3>n\");
  53. print(&#092;"<p>Nick: <b>$nick</b>n\");
  54. print(&#092;"<p>Login: <b>$login</b>n\");
  55. print(&#092;"<p>Hasło: <b>*****</b>n\");
  56. $db = mysql_connect(&#092;"localhost\", \"root\");
  57. mysql_select_db(&#092;"baza\", $db);
  58. $sql = &#092;"INSERT INTO tabela VALUES (
  59.  '$nick', '$login', '$passwd1')&#092;";
  60. mysql_query($sql);
  61. endif;
  62. ?>
  63. </html>

Ten skrypt nakaże interpreterowi, żeby zapisał dane podane w zmiennych $login, $nick i $passwd1 do tabeli "tabela" w bazie "baza"

SKRYPT2.php:
  1. <? //To jest skrypt sprawdzający login ?>
  2. <html>
  3. <?php
  4. //definicja funkcji
  5. function print_form() {
  6.  ?>
  7.  <center>
  8.  <form action = \"login.php3\" method = \"POST\">
  9.  <font color = \"#FFFFFF\">
  10.  <h3>Zaloguj się:</h3>
  11.  <font color = \"C0C0C0\">
  12.  <p>Login: <br><input type = \"text\" name = \"login\">
  13.  <br>Hasło: <br><input type = \"password\" name = \"passwd1\">
  14.  </center>
  15.  </form>
  16.  <?
  17. }
  18. if(isset($_POST['submit'])):
  19.  $db = mysql_connect(&#092;"localhost\", \"root\");
  20. if(!$db):
  21. ?>
  22. <center>
  23. <?
  24. print(&#092;"<h2>Błąd z połączeniem się do bazy danych!</h2>n\");
  25. ?>
  26. </center>
  27. <?
  28. else:
  29. mysql_select_db(&#092;"baza\", $db);
  30. endif;
  31. $login = $_POST['login'];
  32. $sql = &#092;"select * from tabela where login = '$login'\";
  33. $result = mysql_query($sql);
  34. $row_count = mysql_num_rows($result);
  35. if($row_count == 0):
  36. print_form();
  37. ?>
  38. <font color = \"#FF0000\">
  39. <center>
  40. <h3>Niewłaściwy login!</h3>
  41. </center>
  42.  <font color = \"#C0C0C0\">
  43.  <?
  44. else:
  45.  $podpis = $_POST['podpis'];
  46.  if($podpis == &#092;"\"):
  47.  print_form();
  48.  ?>
  49.  <font color = \"#FF0000\">
  50.  <center>
  51.  <?
  52.  print(&#092;"<p>Podpisz się!n\");
  53.  ?>
  54.  </center>
  55.  <font color = \"#FF0000\">
  56.  <?
  57.  else:
  58. $passwd1 = $_POST['passwd1'];
  59. $row = mysql_fetch_array($result);
  60. if($passwd1 != $row[&#092;"passwd\"]):
  61.  print_form();
  62.  ?>
  63.  <font color = \"#FF0000\">
  64.  <center>
  65.  <?
  66.  print(&#092;"<p>Nieprawidłowe hasło!n\");
  67.  ?>
  68.  </center>
  69.  <font color = \"#C0C0C0\">
  70.  ?>
  71.  </center>
  72.  <?
  73. endif;
  74. endif;
  75. endif;
  76. else:
  77.  print_form();
  78. endif;
  79. ?>
  80. </html>

Na końcu możesz zawsze dać ciasteczko, które będzie pokazywało, że użytkownik jest zalogowany:
  1. <?php
  2. setcookie(&#092;"login\", \"$login\", 0);
  3. ?>

W jeszcze innym skrypcie możesz dać komendę sprawdzającą, czy ciasteczko jest w przeglądarce... zresztą, o ciasteczkach przeczytasz w manualu... Jeśli Ci nie pomogłem, to sorry, ale spróbuj to zrobić w SQL-u. A poza tym, to strasznie coś namieszałeś w tym skrypcie... spróbuj dawać więcej spacji i TAB-ów, wtedy skrypt będzie przejrzystszy...
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-2024 Invision Power Services, Inc.