Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] token-problem, zawsze informuje mnie ze zły kod
predator
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 20.02.2008

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


Siedze nad tym 3 godziny, kombinuje na różne sposoby i ciągle to samo... Za każdym razem gdy wpisze w formularzu poprawny kod z obrazka pisze ze niepoprawny, gdy nie poprawny to też to samo.
Sesje wychwytuje poprawnie ale źle porównuje czy sie zgadza z kodem wprowadzonym w formularzu. Kombinowałem na rózne sposoby, sprawdzałem gdzie może być błąd ale już mnie krew zalewa...


  1. <?php
  2. $_SESSION[&#092;"token\"] = '';
  3.  
  4. $login = $_POST[&#092;"login\"];
  5. $haslo = $_POST[&#092;"haslo\"];
  6.  
  7. function ShowForm($komunikat=&#092;"\"){ //funkcja wyświetlająca formularz rejestracyjny
  8.  
  9. for($i=0;$i<5;$i++) {
  10.  $liczba = rand(0,9);
  11.  $_SESSION['token'] .= $liczba;
  12.  $img .= '<img src=\"'.$liczba.'.gif\" >';
  13. }
  14. echo &#092;"
  15. $komunikat
  16. <div style='position: absolute; left: 50px; top: 50px'>
  17.  
  18. Login:
  19. Hasło:
  20.  
  21.  
  22. token:
  23.  
  24.  
  25.  
  26.  
  27. $img
  28.  
  29.  
  30.  
  31.  
  32. &#092;";
  33.  
  34.  
  35. }
  36. ?>
  37.  
  38. if($_POST[\"send\"]==1){ //sprawdzanie czy formularz został wysłany
  39. if(!empty($login) && !empty($haslo) && !empty($_POST[\"token\"])) //oraz czy uzupełniono wszystkie dane
  40.  
  41. {
  42. if ($_SESSION[\"token\"] == $_POST[\"token\"]){
  43. if(preg_match('#^[A-Za-z0-9_]+$#', $login)){ //sprawdzenie poprawnosci znaków
  44.  if(preg_match('#^[A-Za-z0-9_]+$#', $haslo)){
  45.  
  46.  
  47. if(mysql_num_rows(mysql_query(\"select * from users where user_login='\".htmlspecialchars($login.\"'\"))))ShowForm(\"Użytkownik o podanym loginie już istnieje!!!\");// sprawdzanie czy użytkownik o podanej nazwie już istnieje
  48. else 
  49. {
  50. mysql_query(\"insert into users values(NULL, '\".htmlspecialchars($login).\"', '\".htmlspecialchars(md5($haslo)).\"')\"); // zapisywanie rekordu do bazy
  51. echo \"Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href="index.php">strony głównej i się zalogować.\";
  52. }
  53. }
  54. else ShowForm(\"nie dozwolone znaki\");
  55. }
  56. else ShowForm(\"nie dozwolone znaki\");
  57. }
  58. else ShowForm(\"nie poprawny kod\");
  59. }
  60.  
  61. else ShowForm(\"Nie uzupełniono wszystkich pól!!!\");
  62. }
  63. else ShowForm();
  64. mysql_close(); //zamykanie połączenia z bazą
  65. ?>
</a href='index.php'></div style='position: absolute; left: 50px; top: 50px'></img src=\"'.$liczba.'.gif\" >

Ten post edytował predator 20.04.2008, 11:19:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


  1. <?php
  2.  
  3.  
  4. function Zrob_obrazek_tokena() {
  5.  
  6. $losuj = substr(md5(time()), 0, 6);
  7. $_SESSION['randtoken'] = $losuj;
  8. $szerokosc = 150;
  9. $wysokosc = 25;
  10.  
  11. header("Content-type: image/png");
  12. $image = @imagecreate(150,25);
  13.  
  14.  
  15. if($image) {
  16.  
  17. $background = imagecolorallocate($image, 0,0,0);
  18. $text = imagecolorallocate($image, 255,255,235);
  19. $niebieski = imagecolorallocate($image, 150,150,150);
  20.  
  21. for($i = 0; $i < 300; $i++) {
  22.  
  23. $los = rand(0, $szerokosc);
  24. $los1 = rand(0, $wysokosc);
  25. ImageLine($image,$los,$los1,$los,$los1,$niebieski);
  26. }
  27.  
  28. $i = 0;
  29. $j = strlen($_SESSION['randtoken']);
  30. $x = 5;
  31. $fonts = array('arial.ttf', 'astonish.ttf', 'avgardan.ttf', 'comicbd.ttf'); //pliki z czionkami
  32.  
  33. for(; $i < $j; $i++){
  34. imagettftext($image, rand(14, 18), rand(-15, 15), $x, rand(17, 23), imagecolorallocate($image, rand(150, 255), rand(150, 255), rand(150, 255)), $fonts[array_rand($fonts)], $_SESSION['randtoken']{$i});
  35. $x += 25; 
  36. }
  37.  
  38. imagepng($image);
  39. imagedestroy($image); 
  40. }
  41. }
  42.  
  43. Zrob_obrazek_tokena();
  44.  
  45. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- predator   [php] token-problem   19.04.2008, 23:29:03
- - marcio   [PHP] pobierz, plaintext <?php$_SESSION['to...   19.04.2008, 23:45:05
- - predator   do utworzenia tokena składającego sie z 5 obrazków...   19.04.2008, 23:58:23
- - Kicok   Na tej stronie którą podałeś jest n...   20.04.2008, 09:33:04
- - nevt   proszę poptrawić temat na zgodny z zasadami publik...   20.04.2008, 11:04:57
- - predator   CytatW przeciwnym wypadku zastanów się nad dz...   20.04.2008, 11:16:16
- - marcio   CytatTen kod ze strony webmade.org służy do uprzyk...   20.04.2008, 11:37:28
- - predator   a no można i tak wie ktoś co zrobić by działał ...   20.04.2008, 11:44:48
- - Crozin   [PHP] pobierz, plaintext <? session_start...   20.04.2008, 12:00:43
- - marcio   Hmm a mam pytanko jak sprawdzic czy lib GD jest do...   20.04.2008, 12:18:53
- - webdicepl   function_exists" title="Zobacz w manualu PHP" targ...   20.04.2008, 12:19:56
- - marcio   Hmm sorki za OT ale jak juz mowimy od GD mam maly ...   20.04.2008, 12:55:43
- - predator   Cytat//Przy pomocy f-cji imagettftext() tworzysz o...   20.04.2008, 13:23:09
- - Crozin   Ponieważ gd\ nie zawiera f-cji gd()[PHP] pobi...   20.04.2008, 14:29:27
- - marcio   @Crozin wielkie dzieki wlasnie wygladalo to jakos ...   20.04.2008, 16:20:42
- - Crozin   [PHP] pobierz, plaintext <?php session_sta...   20.04.2008, 16:41:37
- - marcio   Heh dzieki za pomoc kombinowalem mniej wiecej tak ...   20.04.2008, 17:14:32
- - Crozin   Proszę... używaj znaków interpunkcyjnych, bo zrozu...   20.04.2008, 18:49:38
- - marcio   No to ja takie cos mam [PHP] pobierz, plaintext ...   20.04.2008, 19:22:54
- - Crozin   Jeżeli tylko masz pliki czcionek w tym samym folde...   20.04.2008, 19:30:18
- - marcio   Plikow z czcionkami nie mam wiec napewno dlatego n...   20.04.2008, 19:55:14
- - Crozin   A C:\WINDOWS\fonts ? www.dafont.com - ta...   20.04.2008, 21:32:21
- - marcio   NIe no takie podtsawowe funckje znam i mam ksiazke...   20.04.2008, 21:37:51


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: 8.10.2025 - 15:53