Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Token mi nie działa!
Forum PHP.pl > Forum > Przedszkole
plastus321
Jestem początkujący mocno w PHP i wiem że kod beznadziejny...

Pomijając komentarze o moim kodzie i wracając do tematu...

Stanąłem teraz przy tak zwanym Tokenie.

Mianowicie, wszystko ładnie śmiga, obrazki się ładnie wczytują, zmieniają kolejność i w ogóle...

...ale kiedy dochodzi co do czego i trzeba wpisać ten kod do pola tekstowego nie działa.

Więc mam prośbę do was... Widzicie gdzieś jakiś błąd który może to powodować questionmark.gif

Kod umieszczam pod spodem:

  1. <?php
  2. $_SESSION['token'] = '';
  3. require('conn.php');
  4.  
  5. echo "<a href='index.php'>Strona główna</a> | ";
  6. echo "<a href='index.php?page=regulamin'>Regulamin</a> | ";
  7. if($_SESSION['login'])
  8. {
  9. echo "<a href='index.php?page=logowanie'>Logowanie</a> | ";
  10. echo "<a href='index.php?page=rejestracja'>Rejestracja</a> | ";
  11. } else {
  12. echo "<a href='index.php?page=profil'>Profil</a> | ";
  13. echo "<a href='index.php?page=wyloguj'>Wyloguj</a><br /><br /><br />";
  14. }
  15.  
  16.  
  17. $page=$_GET['page'];
  18.  
  19. switch($page)
  20. {
  21.  
  22.  
  23. case 'logowanie':
  24. echo "
  25. <form method='post'>
  26. <fieldset>
  27. <legend align='center'>Logowanie</legend>
  28. Login:<br><input name='login' type='text' value='' /><br />
  29. Hasło:<br><input type='password' name='haslo' value='' /><br />
  30. </fieldset>
  31. <center>
  32. <input type='submit' name='loguj' value='Loguj' />
  33. <input type='reset' value='Wyczyść dane' />
  34. </center>
  35. </form>";
  36.  
  37. if(isset($_POST['loguj'])) {
  38.  
  39.  
  40. FROM user WHERE login = '".$_POST['login']."'
  41. && haslo = '".$_POST['haslo']."' ")) > 0) {
  42.  
  43.  
  44. if(mysql_num_rows(mysql_query("SELECT * FROM user
  45. WHERE login = '".$_POST['login']."'
  46. && haslo = '".$_POST['haslo']."' ")) > 0 ) {
  47.  
  48.  
  49. $_SESSION['zalogowany'] = true;
  50. $_SESSION['login'] = $_POST['login'];
  51. $_SESSION['haslo'] = $_POST['haslo'];
  52. header('Location: index.php');
  53.  
  54.  
  55. } else {
  56.  
  57. echo "Złe hasło, proszę spróbować ponownie";
  58. }
  59. } else {
  60. echo "Nie ma takiego użytkownika";
  61. }}
  62. break;
  63.  
  64. case 'rejestracja':
  65.  
  66.  
  67. $ile=mysql_query("SELECT * FROM `user` WHERE login = '".$_POST['login']."'");
  68. $ile=mysql_num_rows($ile);
  69.  
  70. $zapytanie = "CREATE TABLE user (id int NOT NULL AUTO_INCREMENT,
  71. login varchar(50), email varchar(30), haslo varchar(30), miejscowosc varchar(30),
  72. imie varchar(30), nazwisko varchar(30), wiek varchar(30),
  73. PRIMARY KEY(id))
  74. ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_polish_ci;";
  75. $wykonaj=mysql_query($zapytanie);
  76.  
  77.  
  78. for($i=0;$i<5;$i++) {
  79. $liczba = rand(0,9);
  80. $_SESSION['token'] .= $liczba;
  81. $img .= '<img src="token/'.$liczba.'.png" />';
  82. }
  83.  
  84.  
  85. if(isset($login) and ($email) and ($haslo) and ($haslo2))
  86. {
  87.  
  88. if($haslo2 == $haslo)
  89. {
  90.  
  91. if($regulamin)
  92. {
  93.  
  94. if($ile==0)
  95. {
  96.  
  97. if($_SESSION['token'] == $_POST['token'])
  98. {
  99.  
  100. $dodaj_user= ("INSERT INTO user SET login='".$_POST['login']."', email='".$_POST['email']."', haslo='"$_POST['haslo']"'");
  101. $dodawanie_usera=mysql_query($dodaj_user);
  102.  
  103. echo "<center><b><font color='green'>Twoje konto ".$_POST['login']." zostało utworzne!</font></b></center>";
  104.  
  105. }else{echo "<center><b><font color='red'>Źle przepisałeś kod obrazkowy!</b></center></font><br>";}
  106.  
  107. }else{echo "<center><b><font color='red'>Taki użytkownik już istnieje. Wybierz inny login.</b></center></font>";}
  108.  
  109. }else{echo "<center><b><font color='red'>Musisz akceptować regulamin.</b></center></font>";}
  110.  
  111. }else{echo "<center><b><font color='red'>Hasła się nie zgadzają.</b></center></font>";}
  112.  
  113. }else{echo "<center><b><font color='red'>Wypełnij wszystkie pola.</b></center></font>";}
  114.  
  115.  
  116. echo "
  117. <form method='post'>
  118. <fieldset>
  119. <legend align='center'>Rejestracja konta</legend>
  120. Login:<br><input name='login' type='text' value='' /><br />
  121. Email:<br><input name='email' type='text' value='' /><br />
  122. Hasło:<br><input type='password' name='haslo' value='' /> <br />
  123. Powtórz hasło:<br><input type='password' name='haslo2' value='' /><br />
  124. <br />
  125. $img<br>
  126. <input type='text' name='token'> - Przepisz kod obrazkowy.<br /><br>
  127. <input type='checkbox' name='regulamin' /> - Akceptuję <a href='index.php?page=regulamin'>regulamin</a>.
  128. </fieldset>
  129. <br /><center>
  130. <input type='submit' value='Rejestruj' />
  131. <input type='reset' value='Wyczyść dane' />
  132. </center>
  133. </form>";
  134. break;
  135.  
  136. case 'profil':
  137. echo "tu profil i z nim zwiazane rzeczy";
  138. break;
  139.  
  140. case 'wyloguj':
  141. echo "a tu wylogowanie";
  142. break;
  143.  
  144. case 'regulamin':
  145. echo "regulamin";
  146. break;
  147.  
  148. default:
  149. echo "Strona główna";
  150.  
  151.  
  152.  
  153. }
  154. ?>
  155.  


Z góry dziękuje za pomoc i pozdrawiam wszystkich forumowiczów smile.gif wink.gif
nospor
Przecież ty za każdym razem token generujesz na nowo. No jak ktoś wyśle formularz, to wtedy ty tokenu masz już nie generować.
nekomata
Jedna rzecz tak trochę z offtopic'a... rozwiązanie z obrazkiem ... jest beznadziejne , to tak samo jakbyś w nazwie pliku capthy dawał odpowiedź (to robisz) , takie coś to nawet zabezpieczeniem nie jest.
Zakładam że nazwa 'numeryczna' jest powiązana z .htaccess i generatorem... dlatego poleciłbym Ci generować 'kod' w pliku z obrazkiem , sesja i tak zadziała przecież.
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.