Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z rejestracja
Forum PHP.pl > Forum > PHP
wojtulab
  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <h2>&raquo; Zarejestruj się</h2>
  8. <div class="content">
  9. <?php
  10.  
  11. if (!isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika
  12.  
  13. include 'inc/db.php'; // połączenie się z bazą danych
  14. $tabela = 'rejestracja2'; // zdefiniowanie tabeli MySQL
  15. include 'inc/recaptchalib.php'; // dołączenie modułu reCAPTCHA
  16. $privatekey = "WPISZ TUTAJ KLUCZ PRYWATNY"; // prywatny klucz reCAPTCHA
  17. $publickey = "WPISZ TUTAJ KLUCZ PUBLICZNY"; // publiczny klucz reCAPTCHA
  18.  
  19. if ($_POST["wyslane"]) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  20.  
  21. // dane wprowadzone w formularzu
  22. $login = htmlspecialchars(stripslashes(strip_tags(trim($_POST["login"]))), ENT_QUOTES);
  23. $haslo = $_POST["haslo"];
  24. $haslo2 = $_POST["haslo2"];
  25. $pesel = $_POST["pesel"];
  26. $miasto = $_POST["miasto"];
  27. $adres = $_POST["adres"];
  28. $kodpocztowy = $_POST["kodpocztowy"];
  29. $kierunek = $_POST["kierunek"];
  30. $dataur = $_POST["dataur"];
  31. $tytul = $_POST["tytul"];
  32. $wydzial = $_POST["wydzial"];
  33. $specjalnosc = $_POST["specjalnosc"];
  34. $praca = $_POST["praca"];
  35. $datast = $_POST["datast"];
  36. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
  37. $email2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email2"]))), ENT_QUOTES);
  38. $imie = htmlspecialchars(addslashes(strip_tags(trim($_POST["imie"]))), ENT_QUOTES);
  39. $nazwisko = htmlspecialchars(addslashes(strip_tags(trim($_POST["nazwisko"]))), ENT_QUOTES);
  40. $resp = recaptcha_check_answer ($privatekey,
  41. $_SERVER["REMOTE_ADDR"],
  42. $_POST["recaptcha_challenge_field"],
  43. $_POST["recaptcha_response_field"]);
  44.  
  45. // system sprawdza czy prawidło zostały wprowadzone dane
  46. if (strlen($login) < 3 or strlen($login) > 30 or !eregi("^[a-zA-Z0-9_.]+$", $login)) {
  47. $blad++;
  48. echo '<span class="blad">Proszę poprawny wprowadzić login (od 3 do 30 znaków).</span>';
  49. } else {
  50. $wynik = mysql_query("SELECT * FROM $tabela WHERE login='$login'");
  51. if (mysql_num_rows($wynik) <> 0) {
  52. $blad++;
  53. echo '<span class="blad">Podana nazwa użytkownika została już zajęta.</span>';
  54. }
  55. }
  56. if (strlen($haslo) < 6 or strlen($haslo) > 30 ) {
  57. $blad++;
  58. echo '<span class="blad">Proszę poprawnie wpisać hasło (od 6 znaków do 30 znaków).</span>';
  59. }
  60. if ($haslo !== $haslo2) {
  61. $blad++;
  62. echo '<span class="blad">Podane hasła nie są ze sobą zgodne.</span>';
  63. }
  64. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {
  65. $blad++;
  66. echo '<span class="blad">Proszę wprowadzić poprawnie adres email.</span>';
  67. } else {
  68. $wynik = mysql_query("SELECT * FROM $tabela WHERE email='$email'");
  69. if (mysql_num_rows($wynik) <> 0) {
  70. $blad++;
  71. echo '<span class="blad">Podany adres e-mail jest już zajęty.</span>';
  72. }
  73. }
  74. if ($email !== $email2) {
  75. $blad++;
  76. echo '<span class="blad">Podane adresy e-mail nie są ze sobą zgodne.</span>';
  77. }
  78.  
  79. // jeżeli nie ma żadnego błedu, użytkownik zostaje zarejestronwany i wysłany do niego e-mail z linkiem aktywacyjnym
  80. if ($blad == 0) {
  81.  
  82. $haslo = md5($haslo); // zaszyfrowanie hasla
  83. $kod = uniqid(rand()); // tworzenie unikalnego kodu dla użytkownika
  84.  
  85. $wynik = mysql_query("INSERT INTO $tabela VALUES('', '$imie', '$nazwisko', '$login', '$haslo', '$email', '$kod', NOW(), '$pesel', '$miasto', '$adres', '$kodpocztowy', '$kierunek', '$dataur', '$tytul', '$wydzial', '$specjalnosc', '$praca', '$datast')");
  86. if ($wynik) {
  87. $list = "Witaj $login !
  88. Kliknij w poniższy link, aby aktywować swoje konto. <a href="http://polsl/rejestracja3/weryfikacja.php?weryfikacja=potwierdz&kod=$kod&quot;;" target="_blank">http://polsl/rejestracja3/weryfikacja.php?...#036;kod";</a>
  89. mail($email, "Rejestracja", $list, "From: <Wojtula:)>");
  90. echo '<p>Dziękujemy za rejestrację! W ciągu nabliższych 5 minut dostaniesz wiadomość e-mail z dalszymi wskazówkami rejestracji.</p>';
  91. mysql_close($polaczenie);
  92. }
  93. }
  94. mysql_close($polaczenie);
  95. }
  96.  
  97. // tworzenie formularza HTML
  98. echo <<< KONIEC
  99.  
  100.   <div class="formularz">
  101.   <form class="form" action="rejestracja.php" method="post">
  102.   <input type="hidden" name="wyslane" value="TRUE" />
  103.  
  104. <p>
  105. Pola oznaczone gwiazdką <span class="req">*</span> to pola wymagane.
  106. </p>
  107.  
  108. <p>
  109. <div class="label"><label for="imie">Imię</label></div>
  110. <input type="text" name="imie" id="imie" />
  111. </p>
  112.  
  113. <p>
  114. <div class="label"><label for="nazwisko">Nazwisko</label></div>
  115. <input type="text" name="nazwisko" id="nazwisko" />
  116. </p>
  117.  
  118. <p>
  119. <div class="label"><label for="login">Login <span class="req">*</span></label></div>
  120. <input type="text" name="login" id="login" />
  121. </p>
  122.  
  123. <p>
  124. <div class="label"><label for="haslo">Hasło <span class="req">*</span></label></div>
  125. <input type="password" name="haslo" id="haslo" />
  126. </p>
  127.  
  128. <p>
  129. <div class="label"><label for="haslo2">Powtórz hasło <span class="req">*</span></label></div>
  130. <input type="password" name="haslo2" id="haslo2" />
  131. </p>
  132.  
  133. <p>
  134. <div class="label"><label for="email">Email <span class="req">*</span></label></div>
  135. <input type="text" name="email" id="email" />
  136. </p>
  137.  
  138. <p>
  139. <div class="label"><label for="email2">Powtórz email <span class="req">*</span></label></div>
  140. <input type="text" name="email2" id="email2" />
  141. </p>
  142.  
  143. <p>
  144. <div class="label"><label for="pesel">Nr pesel:</label></div>
  145. <input type="text" name="pesel" id="pesel" />
  146. </p>
  147.  
  148. <p>
  149. <div class="label"><label for="miasto">Miasto:</label></div>
  150. <input type="text" name="miasto" id="miasto" />
  151. </p>
  152.  
  153. <p>
  154. <div class="label"><label for="adres">Adres zamieszkania:</label></div>
  155. <input type="text" name="adres" id="adres" />
  156. </p>
  157.  
  158. <p>
  159. <div class="label"><label for="kodpocztowy">Kod pocztowy:</label></div>
  160. <input type="text" name="kodpocztowy" id="kodpocztowy" />
  161. </p>
  162.  
  163. <p>
  164. <div class="label"><label for="kierunek">Kierunek</label></div>
  165. <input type="text" name="kierunek" id="kierunek" />
  166. </p>
  167.  
  168. <p>
  169. <div class="label"><label for="dataur">Data urodzenia</label></div>
  170. <input type="text" name="dataur" id="dataur" />
  171. </p>
  172.  
  173. <p>
  174. <div class="label"><label for="tytul">Tytuł</label></div>
  175. <input type="text" name="tytul" id="tytul" />
  176. </p>
  177.  
  178. <p>
  179. <div class="label"><label for="wydzial">Wydział</label></div>
  180. <input type="text" name="wydzial" id="wydzial" />
  181. </p>
  182.  
  183. <p>
  184. <div class="label"><label for="specjalnosc">Specjalność</label></div>
  185. <input type="text" name="specjalnosc" id="specjalnosc" />
  186. </p>
  187.  
  188. <p>
  189. <div class="label"><label for="praca">Miejsce pracy</label></div>
  190. <input type="text" name="praca" id="praca" />
  191. </p>
  192.  
  193. <p>
  194. <div class="label"><label for="datast">Data ukończenia studiów</label></div>
  195. <input type="text" name="datast" id="datast" />
  196. </p>
  197.  
  198. KONIEC;
  199. echo <<< KONIEC
  200.   <p class="submit">
  201.   <input type="submit" value="Zarejestruj mnie" />
  202.   </p></form>
  203. KONIEC;
  204.  
  205. } else {
  206. header('Location: /index.php');
  207. }
  208. ?>
  209.  
  210. </div>
  211. <?php include('footer.php'); ?>


problem jest taki, ze po wypelnieniu formularza, nie wysyla danych do bazy mysql... dlaczego?
Wicepsik
przy każdym mysql_query



Potem napisz jaki wyskoczyłCi błąd.
wojtulab
zwrocilo blad przy wstawianiu wartosci do bazy, czyli:

  1. $wynik = mysql_query("INSERT INTO $tabela VALUES('', '$imie', '$nazwisko', '$login', '$haslo', '$email', '$kod', NOW(), '$pesel', '$miasto', '$adres', '$kodpocztowy', '$kierunek', '$dataur', '$tytul', '$wydzial', '$specjalnosc', '$praca', '$datast')");


tresc bledu:
Column count doesn't match value count at row 1


tak wyglada baza:
Wicepsik
Teraz wpisz w google treść błędu i sprawdź co on oznacza
kadlub
  1. $log="INSERT INTO loginy (login, haslo, o_mnie, plec, email, miejscowosc, wiek ) values('$_POST[login]','$_POST[haslo]', '$_POST[cos_wiecej]', '$_POST[plec]' , '$_POST[email]' , '$_POST[miasto]' , '$_POST[wiek]')";
  2.  
  3.  


spróbuj podobnie jak ja zadać pytanie
wojtulab
Cytat
Potem napisz jaki wyskoczyłCi błąd.

no tak, przeoczylem pole "status", to juz dzis 2. wtopa hehe - dzieki
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.