Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z tokenem
Forum PHP.pl > Forum > PHP
Vielta
Witam!
Mam problem może nie tyle co z samym tokenem - jak go zrobić, itp. - lecz z poleceniem "header". By stworzyć obrazek PNG musiałem użyć następującego polecenia:
  1. <?
  2. header("Content-type: image/png");
  3. ?>

Niestety gdy pod funkcją dopisuję cokolwiek np.
  1. <?
  2. echo("tekst");
  3. ?>

nie wyświetla się on. Co zrobić by ustawić headers na HTML/PHP i móc dalej pisać.
Mam nadzieję, że wysłowiłem się zrozumiale.
Pozdrawiam i z góry dziękuję,
Vielta.
em1X
Mowisz przegladarce, ze wyswietlany bedzie obrazek typu png, a potem probujesz wpisac slowo 'tekst'. I dziwisz sie przegladarce, ze nie wie o co Ci wlasciwie chodzi ?
Vielta
Cytat(em1X @ 20.07.2007, 20:54:51 ) *
Mowisz przegladarce, ze wyswietlany bedzie obrazek typu png, a potem probujesz wpisac slowo 'tekst'. I dziwisz sie przegladarce, ze nie wie o co Ci wlasciwie chodzi ?


Wiem. Stąd też moje pytanie - jak ustawić potem normalne headers by mógł być wyświetlany tekst.
em1X
Nie chce Cie martwic, ale piszesz totalną bzdurę.

Chcesz w jednym skrypcie najpierw wywolac header taki, potem header inny ?
Vielta
To w takim razie jak osoby, które robią tokeny radzą sobie z headersami? (Totalnie nie mam pojęcia co zrobić żeby wszystko działało)
em1X
Najpierw zmien terminologie.. nie mieszaj w to tokenów, któych się używa na sieciach..
Ma się rozumieć, że mówimy o captcha - obrazku zabezpieczającym łopatologicznie mówiac.

Taki skrypt trzeba stworzyc w oddzielnym pliku zupelnie:

obrazek.php (przykładowy z googla)
  1. <?php
  2. //Start the session so we can store what the security code actually is
  3.  
  4. //Send a generated image to the browser
  5. create_image();
  6. exit();
  7.  
  8. function create_image()
  9. {
  10. //Let's generate a totally random string using md5
  11. $md5_hash = md5(rand(0,999)); 
  12. //We don't need a 32 character long string so we trim it down to 5 
  13. $security_code = substr($md5_hash, 15, 5); 
  14.  
  15. //Set the session to store the security code
  16. $_SESSION["security_code"] = $security_code;
  17.  
  18. //Set the image width and height
  19. $width = 100;
  20. $height = 20; 
  21.  
  22. //Create the image resource 
  23. $image = ImageCreate($width, $height);
  24.  
  25. //We are making three colors, white, black and gray
  26. $white = ImageColorAllocate($image, 255, 255, 255);
  27. $black = ImageColorAllocate($image, 0, 0, 0);
  28. $grey = ImageColorAllocate($image, 204, 204, 204);
  29.  
  30. //Make the background black 
  31. ImageFill($image, 0, 0, $black); 
  32.  
  33. //Add randomly generated string in white to the image
  34. ImageString($image, 3, 30, 3, $security_code, $white); 
  35.  
  36. //Throw in some lines to make it a little bit harder for any bots to break 
  37. ImageRectangle($image,0,0,$width-1,$height-1,$grey); 
  38. imageline($image, 0, $height/2, $width, $height/2, $grey); 
  39. imageline($image, $width/2, 0, $width/2, $height, $grey); 
  40.  
  41. //Tell the browser what kind of file is come in 
  42. header("Content-Type: image/jpeg"); 
  43.  
  44. //Output the newly created image in jpeg format 
  45. ImageJpeg($image);
  46.  
  47. //Free up resources
  48. ImageDestroy($image);
  49. }
  50. ?>


następnie w innych skryptach możesz go uzywac:

test.php
  1. <?php
  2. print "To jest mój obrazek <img src='obrazek.php' alt='captcha'>";
  3. ?>
Vielta
<img src='obrazek.php' alt='captcha'>
Tego mi brakowało dzięki wielkie =)
Topic do zamknięcia.
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.