Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem ze skryptem rejestracji
--Major--
post
Post #1





Goście







Witam. Postanowiłem sprawdzić swoje siły przy skrypcie rejestracji.

Otóż moje postanowienia są takie:
4 pola:
- Login
- Hasło
- Powtórz hasło
- Email

*Sprawdzanie czy pola nie są puste. (działa)

*Sprawdzanie czy hasła są identyczne. (działa)

*W przypadku poprawnej rejestracji wyświetla "Zarejestrowano poprawnie" nad formularzem. (nie działa)

*W przypadku niepowodzenia wyświetla "Błąd. Proszę spróbować za kilka sekund" nad formularzem. (nie działa)

*No i oczywiście jeżeli wszystkie pola są wypełnione dodaj rekordy do bazy. (nie działa)

Szyfrowanie hasła dodam później (IMG:style_emoticons/default/smile.gif) Tak samo sprawdzanie czy login i hasło już istnieje w bazie.

Kod rejestracji:

  1. <?php
  2.  
  3. include('../conf.php');
  4.  
  5. $login = $_POST['login'];
  6. $haslo = $_POST['haslo'];
  7. $haslo2 = $_POST['haslo2'];
  8. $email = $_POST['email'];
  9. $dodaj = $_POST['dodaj'];
  10. $zero = "";
  11. $jeden = "1";
  12.  
  13. if ($dodaj === $jeden) {
  14.  
  15. if ($login === $zero) {
  16. $no_login = '<font color="red">Podaj login!</font>';
  17. }
  18.  
  19. if ($haslo === $zero) {
  20. $no_haslo = '<font color="red">Podaj Hasło!</font>';
  21. }
  22.  
  23. if ($email === $zero) {
  24. $no_email = '<font color="red">Podaj Email!</font>';
  25. }
  26.  
  27. if ($haslo !== ($haslo2)) {
  28. $rozne = '<font color="red">Hasła się różnią!</font>';
  29. }
  30.  
  31. if ($login !== $zero && $haslo !== $zero && $email !== $zero) {
  32. $zapytanie = "INSERT INTO `users` (`user_id`, `login`, `haslo`, `email`) VALUES ('', '$login', '$haslo', '$email')";
  33. $idzapytania = mysql_query($zapytanie);
  34. }
  35.  
  36. if ($idzapytania) {
  37. $dodano = '<font color="green">Zarejestrowano poprawnie!</font>';
  38. }
  39. else {
  40. if (!isset($no_login) && ($no_haslo) && ($no_email)) {
  41. $nie_dodano = '<font color="red">Błąd! Spróbuj ponownie za kilka sekund :)';
  42. }
  43. }
  44. }
  45. ?>
  46. <!--/////////////////////////////////////////////////////////-->
  47. <table>
  48. <form action="register.php" method="post">
  49. <tr>
  50. <td>
  51. <?php
  52. if (isset($dodano)) {
  53. echo $dodano;
  54. }
  55.  
  56. if (isset($nie_dodano)) {
  57. echo $nie_dodano;
  58. }
  59. ?>
  60. </td>
  61. </tr>
  62. <tr>
  63. <td>
  64. LOGIN:
  65. </td>
  66. <td>
  67. <input type="text" name="login" />
  68. </td>
  69. <?php
  70. if (isset($no_login)) {
  71. echo '<td>';
  72. echo $no_login;
  73. echo '</td>';
  74. }
  75.  
  76. ?>
  77. </tr>
  78. <!--////////////////////////////////////////////////////////-->
  79. <tr>
  80. <td>
  81. HASŁO:
  82. </td>
  83. <td>
  84. <input type="password" name="haslo" />
  85. </td>
  86. <?php
  87. if (isset($no_haslo)) {
  88. echo '<td>';
  89. echo $no_haslo;
  90. echo '</td>';
  91. }
  92.  
  93. if (isset($rozne)) {
  94. echo '<td>';
  95. echo $rozne;
  96. echo '</td>';
  97. }
  98. ?>
  99. </tr>
  100. <!--/////////////////////////////////////////////////////////-->
  101. <tr>
  102. <td>
  103. POWTÓRZ HASŁO:
  104. </td>
  105. <td>
  106. <input type="password" name="haslo2" />
  107. </td>
  108. </tr>
  109. <!--/////////////////////////////////////////////////////////-->
  110. <tr>
  111. <td>
  112. EMAIL:
  113. </td>
  114. <td>
  115. <input type="text" name="email" />
  116. <input type="hidden" name="dodaj" value="1" />
  117. </td>
  118. <?php
  119. if (isset($no_email)) {
  120. echo '<td>';
  121. echo $no_email;
  122. echo '</td>';
  123. }
  124. ?>
  125. </tr>
  126. <tr><td><button type="submit">Rejestruj</button></td></tr>
  127. </form>
  128. </table>


Podejrzewam że mam pomieszaną kolejność IF'ów i coś się żre z czymś, jednak nie mogę rozwikłać co takiego (IMG:style_emoticons/default/smile.gif)
Pomożecie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
olszam
post
Post #2





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


Ja się zastanawiam czy dałoby się uprościć tą rejestrację ze sprawdzaniem i nie lepiej byłoby pisać po if jeszcze elseif albo else jakby coś się źle zrobiło to wtedy można łatwiej wyczaić gdzie się popełniło błąd, mnie nie raz uratowało to że dopisywałem else do warunku jak coś było w do zrobienia, no i szybciej szło poprawianie. Jak jesteś początkujący i uczysz się dopiero php z kursu to sprawdź czy kurs jest dokładnie pod php5, jak wspomniał deadwheel o operatorach pod php4 to zastanawiam się,czy przerabia przestarzały kursu php(choć niewiele się różni ale różnice są (IMG:style_emoticons/default/tongue.gif) ).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 16:35