Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Token mi nie działa!
plastus321
post 16.05.2011, 22:28:39
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 10.05.2011
Skąd: Częstochowa

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


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

Ten post edytował phpion 17.05.2011, 06:46:51
Powód edycji: [phpion]: Przeniosłem do przedszkola.
Go to the top of the page
+Quote Post
nospor
post 17.05.2011, 07:43:28
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przecież ty za każdym razem token generujesz na nowo. No jak ktoś wyśle formularz, to wtedy ty tokenu masz już nie generować.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
nekomata
post 17.05.2011, 08:31:49
Post #3





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


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ż.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:18