Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z rejestracja (nie przesyła), Problem z rejestracja (nie przesyła)
kondziu9516
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 1
Dołączył: 9.08.2011
Skąd: Bielsko Biała

Ostrzeżenie: (20%)
X----


Witam otóż mam problem z rejestracją użytkowników.
Zrobiłem stronkę wcześniej wszystko OK działało.
Ale coś jest nie tak po wypełnieniu pól nic nie robi.
Odświeża tylko jakby stronę i nic !

Co może być przyczyną?

Oto kod:

  1. <?php
  2.  
  3. session_start(); // rozpoczęcie sesji
  4.  
  5. if (!isset($_SESSION['login'])) { // dostęp dla niezalogowanego użytkownika
  6.  
  7. include 'db.php'; // połączenie się z bazą danych
  8. $tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL
  9.  
  10.  
  11. if ($_POST["wyslane"]) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  12.  
  13. // filtrowanie treści wprowadzonych przez użytkownika
  14.  
  15. $imie = htmlspecialchars(addslashes(strip_tags(trim($_POST["imie"]))), ENT_QUOTES);
  16. $nazwisko = htmlspecialchars(addslashes(strip_tags(trim($_POST["nazwisko"]))), ENT_QUOTES);
  17. $nazwa = htmlspecialchars(addslashes(strip_tags(trim($_POST["nazwa"]))), ENT_QUOTES);
  18. $nip = htmlspecialchars(addslashes(strip_tags(trim($_POST["nip"]))), ENT_QUOTES);
  19. $tel = htmlspecialchars(addslashes(strip_tags(trim($_POST["tel"]))), ENT_QUOTES);
  20. $login = htmlspecialchars(stripslashes(strip_tags(trim($_POST["login"]))), ENT_QUOTES);
  21. $haslo = $_POST["haslo"];
  22. $haslo2 = $_POST["haslo2"];
  23. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
  24. $email2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email2"]))), ENT_QUOTES);
  25. $ocena = htmlspecialchars(stripslashes(strip_tags(trim(10))), ENT_QUOTES);
  26.  
  27.  
  28. // system sprawdza czy prawidłowo zostały wprowadzone dane
  29. if (strlen($imie) < 3 or strlen($imie) > 30 ) {
  30. $blad++;
  31. echo '<p><font color="red">Proszę poprawnie wpisać imie. </p></font>';
  32. }
  33. if (strlen($nazwisko) < 2 or strlen($nazwisko) > 30 ) {
  34. $blad++;
  35. echo '<p><font color="red">Proszę poprawnie wpisać nazwisko. </p></font>';
  36. }if (strlen($nazwa) < 1 or strlen($nazwa) > 90 ) {
  37. $blad++;
  38. echo '<p><font color="red">Proszę wpisać nazwę firmy. </p></font>';
  39. }
  40. if (strlen($nip) < 8 or strlen($nip) > 15 ) {
  41. $blad++;
  42. echo '<p><font color="red">Proszę poprawnie wpisać NIP firmy. </p></font>';
  43. }
  44.  
  45. if (strlen($login) < 3 or strlen($login) > 30 or !eregi("^[a-zA-Z0-9_.]+$", $login)) {
  46. $blad++;
  47. echo '<p><font color="red">Proszę wprowadzić poprawny login (od 3 do 30 znaków).</p></font>';
  48. } else {
  49. $wynik = mysql_query("SELECT * FROM $tabela WHERE login='$login'");
  50. if (mysql_num_rows($wynik) <> 0) {
  51. $blad++;
  52. echo '<p><font color="red">Podana nazwa użytkownika jest już zajęta.</p></font>';
  53. }
  54. }
  55. if (strlen($haslo) < 6 or strlen($haslo) > 30 ) {
  56. $blad++;
  57. echo '<p><font color="red">Proszę poprawnie wpisać hasło (od 6 znaków do 30 znaków). </p></font>';
  58. }
  59. if ($haslo !== $haslo2) {
  60. $blad++;
  61. echo '<p> <font color="red">Podane hasła muszą być identyczne. </p></font>';
  62. }
  63. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {
  64. $blad++;
  65. echo '<p> <font color="red">Proszę wprowadzić poprawnie adres email.</p></font>';
  66. } else {
  67. $wynik = mysql_query("SELECT * FROM $tabela WHERE email='$email'");
  68. if (mysql_num_rows($wynik) <> 0) {
  69. $blad++;
  70. echo '<p> <font color="red">Podany adres e-mail jest już zajęty.</p></font>';
  71. }
  72. }
  73. if ($email !== $email2) {
  74. $blad++;
  75. echo '<p> <font color="red">Podane adresy e-mail nie sę ze sobą zgodne.</p></font>';
  76. }
  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', '$nazwa', '$nip', '$tel', '$login' , '$haslo', '$email' , '$ocena', '$kod', NOW(), '')");
  86. if ($wynik) {
  87. $list = "Witaj $login !
  88.  
  89. Zostales zarejestrowany na stronie Stronye-net.pl
  90. Aby dokonczyc rejestracje nalezy aktywowac swoje konto w ciagu 48 godzin klikajac w ponizszy link:
  91. Jesli to nie ty rejestrowales sie w naszym serwisie zignoruj tego e-maila a w ciagu 48h konto zostanie usuniete.
  92.  
  93. ";
  94. mail($email, "Potwierdzenie rejestracji Stronye-net.pl", $list, "From: <rejestracja@konradokrzesik.ugu.pl>");
  95. echo '<p><font color="green"><br><br>Dziękujemy za rejestrację! W ciągu nabliższych 5 minut dostaniesz wiadomość e-mail z dalszymi wskazówkami rejestracji.<br>Pamiętaj o aktywacji konta do 48 godzin. Aktywacja następuje przez e-maila.</p></font>';
  96. mysql_close($polaczenie);
  97. exit;
  98. }
  99. }
  100. mysql_close($polaczenie);
  101. }
  102.  
  103. // tworzenie formularza HTML
  104. echo <<< KONIEC
  105. <div id="highlight"><h2 class="hight">Rejestracja</h2><br></p></div>
  106. <form action="index.php?s=rejestracja2" method="post">
  107. <input type="hidden" name="wyslane" value="TRUE" />
  108. <p><label class="kontakt2"><font size="4" color="green"><b><u>Dane Firmy:</u></b></font></p></label>
  109. <p><label class="kontakt">Imię: <input type="text" name="imie" /><font color="red">*</font></p></label>
  110. <p><label class="kontakt">Nazwisko: <input type="text" name="nazwisko" /><font color="red">*</font></p></label>
  111. <p><label class="kontakt">Nazwa firmy: <input type="text" name="nazwa" /><font color="red">*</font></p></label>
  112. <p><label class="kontakt">NIP firmy: <input type="text" name="nip" maxlength="15" /><font color="red">*</font></p></label>
  113. <p><label class="kontakt">Numer Telefonu: <input type="text" name="tel" /><font color="#D6D7A0">*</font></p></label>
  114. <p><br></p>
  115. <p><label class="kontakt2"><font size="4" color="red"><b><u>Dane do Logowania:</u></b></font></p></label>
  116. <p><label class="kontakt">Login: <input type="text" name="login" /><font color="red">*</font></p></label>
  117. <p><label class="kontakt">Hasło: <input type="password" name="haslo" /><font color="red">*</font></p></label>
  118. <p><label class="kontakt">Powtórz hasło: <input type="password" name="haslo2" /><font color="red">*</font></p></label>
  119. <p><label class="kontakt">Adres e-mail: <input type="text" name="email" /><font color="red">*</font></p></label>
  120. <p><label class="kontakt">Powtórz adres e-mail: <input type="text" name="email2" /><font color="red">*</font></p></label><br>
  121. KONIEC;
  122.  
  123.  
  124. echo <<< KONIEC
  125.  
  126.   <p><label class="kontakt"><input type="submit" value="Zarejestruj" /></p></label></form>
  127. <p><font size="2" color="red">Pola oznaczone * są wymagane</font></p><br>
  128. KONIEC;
  129.  
  130. } else {
  131. header('Location: index.php?s=reg '); // zalogowany użytkownik zostaje przekierowany na stronę główną
  132. }
  133.  
  134. ?>


Ten post edytował kondziu9516 29.02.2012, 19:39:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Niktoś
post
Post #2





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Ten skrypt rejestracji słabiutki jest,gdyż nie sprawdzasz wogóle czy użytkownik się rejestrował przez co mimo że się rejestrował może to zrobić kolejny raz więc użytkownicy będą ci się dublować w bazie danych.Sprawdzasz istnienie sesji ,ale nigdzie jej nie utworzyłeś w rezultacie czego warunek if (!isset($_SESSION['login'])) { zawsze będzie spełniony a to co jest po else nigdy się nie wykona.Może usiądź na spokojnie i przeanalizuj ten skrypt linijka ,po linijce.
Najlepiej jakbyś sobie puścił debugera jakiegoś ,to ci fajnie wyświetli w czym znajduje się problem i jak zachowuje się skrypt.
Niestety nie znam żadnego,,ale może ktoś Ci poleci jakiegoś fajnego debugera PHP.
PS.Dam wskazówkę taką żebyś przypisał nailepiej ID lub login do sesji po prawidłowej rejestracji.

Ten post edytował Niktoś 2.03.2012, 18:03:33
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: 14.10.2025 - 18:56