Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Rejestracja nie działa.
Forum PHP.pl > Forum > Przedszkole
NickOver
Siemka wink.gif Mam dość dziwny problem. Mianowicie nie działa mi rejestracja. gdy była zrobiona jako include wszystko działało, natowmias teraz niestety nie. Wygląda to tak, jakby skrypt nie działał, ponieważ gdy wpisuję mail który istnieje nie wyswietla się info że taki istnieje, i nic nie dodaje do bazy.
  1. <?php
  2. include('head.php');
  3. ?>
  4. <div class="menu">
  5. <ul>
  6. <a href="#1">Logowanie</a>
  7. <a href="#2">O nas</a>
  8. <a href="#3">Coś innego</a>
  9. <a href="#4">Rejestracja</a>
  10. </div>
  11. <a id="1" href="#"></a>
  12. <div class="pds">
  13. <div class="left">
  14. JakiĹ› tekst
  15. </div>
  16. <div class="right">
  17. <?php
  18. ini_set('display_errors','1');
  19. include('db.php');
  20. echo '<h2>Logowanie</h2>';
  21. if(isset($_SESSION['logged']))
  22. {
  23. echo 'JuĹź jestes zalogowany!';
  24. }
  25. else
  26. {
  27. echo '<form action="index.php" method="POST">
  28. E-mail: <br />
  29. <input type="text" name="lmail"><br />
  30. Hasło: <br />
  31. <input type="password" name="lpass"><br />
  32. <input type="submit" name="ok" value="Zaloguj">
  33. </form>';
  34. if(isset($_POST['ok']))
  35. {
  36. $lmail = trim($_POST['lmail']);
  37. $lpass = trim($_POST['lpass']);
  38. if(empty($lmail) || empty($lpass)) echo 'Wpisz wszystkie pola!';
  39. else
  40. {
  41. $lpass = md5($lpass);
  42. $result = mysql_query("SELECT * FROM users WHERE email='$lmail' AND pass='$lpass'");
  43. if(mysql_num_rows($result)==0) echo 'Niestety podałes niepoprawne dane!';
  44. else
  45. {
  46. $row = mysql_fetch_array($result);
  47. $_SESSION['logged'] = true;
  48. $_SESSION['id'] = $row['id'];
  49. }
  50. }
  51. }
  52. }
  53.  
  54. echo'</div>
  55. </div>
  56. <div class="przerwa"></div>
  57. <a id="2" href="#"></a>
  58. <div class="pds">
  59. 1
  60. </div>
  61. <div class="przerwa"></div>
  62. <a id="3" href="#"></a>
  63. <div class="pds">
  64. 2
  65. </div>
  66. <div class="przerwa"></div>
  67. <a id="4" href="#"></a>
  68. <div class="pds">
  69. <div class="left">';
  70. // REJESTRACJA USERA
  71. if(isset($_SESSION['logged']))
  72. {
  73. echo'Jesteś już zalogowany!';
  74. }
  75. else
  76. {
  77. echo '<h2>Rejestracja</h2>';
  78. echo '<form action="index.php" method="POST">
  79. Email: <br />
  80. <input type="email" name="mail"><br />
  81. Hasło: <br />
  82. <input type="password" name="pass"><br />
  83. Powtórz hasło: <br />
  84. <input type="password" name="pass2"><br />
  85. <input type="submit" name="rej" value="Rejestruj">
  86. </form>';
  87. if(isset($_POST['rej']))
  88. {
  89. $mail = trim($_POST['mail']);
  90. $pass = trim($_POST['pass']);
  91. $pass2 = trim($_POST['pass2']);
  92. $sprawdz = '/^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}$/';
  93. $result2 = mysql_query("SELECT * FROM users WHERE email='$mail'");
  94. $pass = strip_tags( mysql_real_escape_string(HTMLSpecialChars($pass)));
  95.  
  96. $errors = null;
  97.  
  98. if(empty($mail) || empty($pass) || empty($pass2)) $errors .= "Wpisz wszystkie pola";
  99. if($pass != $pass2) $errors .= "Hasła nie są identyczne";
  100. if(mysql_num_rows($result2)!=0) $errors .= "Już istnieje taki adres email w naszej bazie danych!";
  101. if(!preg_match($sprawdz, $mail)) $errors .= "Adres email nie jest w prawidłowej formie!";
  102.  
  103. if(!is_null($errors)){
  104. die($errors);
  105. }
  106. $data = time();
  107. $pass = md5($pass);
  108. $status = 1;
  109. $query = "INSERT INTO `users` (`pass`, `email`, `status`, `data_rejestracji`) VALUES ('$pass', '$mail', '$status', '$data')";
  110. if(mysql_query($query))
  111. {
  112. $_SESSION['sprawdz'] = 1;
  113. header( 'Location: [url="http://localhost/portal/index.php'"]http://localhost/portal/index.php'[/url] ) ;
  114. }
  115. }
  116. }
  117. echo '</div>
  118. <div class="right">';
  119. ?>
  120. </div>
  121. </div>

Widzicie co może być nie tak?

EDIT
Dodam że z logowaniem nie ma żadnych problemów.
ZaXaZ
zamień

na
  1. header('Location: [url="http://localhost/portal/index.php&#39%3b%29;"]http://localhost/portal/index.php');[/url]


ps. strip_tags może podawać inne znaki np. dla "<3"
NickOver
Cytat(ZaXaZ @ 12.04.2014, 19:59:14 ) *
zamień

na
  1. header('Location: [url="http://localhost/portal/index.php&#39%3b%29;"]http://localhost/portal/index.php');[/url]


ps. strip_tags może podawać inne znaki np. dla "<3"


Pytanie za 100 pkt. Co to ma zmienić jeśli jest to wykonywane po skrypcie?
ZaXaZ
Cytat(NickOver @ 12.04.2014, 22:54:52 ) *
Pytanie za 100 pkt. Co to ma zmienić jeśli jest to wykonywane po skrypcie?


nie widziałem postu, strona zmieniła wszystko... wpisz normalnie tam

header('Location: linkxxx.pl');

(jak zmieni to poszperaj w google o php.net header())

edit, bo miałeś (lub strona sama zmieniła) że dla przykładu header('Location: <a href="example.com">example.com</a>'); zamiast header('Location: example.com'); gdzie example.com wpisz swój link., header samo wysyła naglowki, a żaden odnosnik raczej nie będzie potrzebny bo go nie klikniesz raczej...
NickOver
Cytat(ZaXaZ @ 12.04.2014, 23:41:16 ) *
nie widziałem postu, strona zmieniła wszystko... wpisz normalnie tam

header('Location: linkxxx.pl');

(jak zmieni to poszperaj w google o php.net header())

edit, bo miałeś (lub strona sama zmieniła) że dla przykładu header('Location: <a href="example.com">example.com</a>'); zamiast header('Location: example.com'); gdzie example.com wpisz swój link., header samo wysyła naglowki, a żaden odnosnik raczej nie będzie potrzebny bo go nie klikniesz raczej...


Chyba się gubie. Mialem link taki sam jak na wszystkich innych podstronach, była to dosłownie kopia rejestracji userów która działała bez problemu. Mówiłeś żebym TO
  1. header( 'Location: <a href="http://localhost/portal/index.php'" target="_blank">http://localhost/portal/index.php'</a> ) ;
zamienił na To
  1. header('Location: [url="http://localhost/portal/index.php&#39%3b%29;"]http://localhost/portal/index.php');[/url]
. A teraz piszesz że miałem "header('Location: <a href="example.com">example.com</a>'); ". Nie chce się kłócić ale:
1. Używam tego wszędzie
2. To było wykonywane po else więc i tak nie sądzę aby miało wpływ na strone.

@topic
Problem rozwiązany (?) Po ponownym odpaleniu wirtualnego serwera nie było już żadnych problemów.
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.