Autor | Zpráva | ||
---|---|---|---|
tomas3333 Profil |
#1 · Zasláno: 5. 7. 2008, 18:16:46
Zdravím.
Napísal som si kod, ktory mi generuje captchu, a zaroven v nom nastavim session. Ked som zostavil formular pre registraiu, vsetko fungovalo, na reload captche som pouzil javascript. Zistil som, ze sa captcha v IE6 nechce reloadnut, sucasny obrazok zmizne a namiesto neho sa nahraje len prazdne miesto. Po skumani problemu som zistil, ze mi v IE6 nefunguje session ani cookie. ked som priamo v kode, ktory generuje captchu vymazal header pre zobrazeniei obrazka, a volal session priamo tam, normalne sa ukazala. ked som vsak na inej stranke volal tu istu session, tak v IE6 sa nechcela vypisat, akoby neexistovala. v ostatnych browseroch to funguje normalne. Neviete kde by mohol byt v IE6 problem? Dakujem. |
||
Leo Profil |
#2 · Zasláno: 5. 7. 2008, 20:42:00
Co treba misto povidani nejaky (podstatny) kus kodu? Leo
|
||
tomas3333 Profil |
#3 · Zasláno: 5. 7. 2008, 21:37:06
generovanie captche uz aj s tym session a cookie
<?php error_reporting(E_ALL); ob_start(); # image creat $image = imagecreatetruecolor(200,50); # background color $red = rand(200,255); $green = rand(200,255); $blue = rand(200,255); $bgcolor_allocate = imagecolorallocate($image,$red,$green,$blue); $background = imagefilledrectangle($image, 0,0,200,50, $bgcolor_allocate); # antialiasing //$antialias = imageantialias($image, on); # polygony for($p=1;$p<=6;$p++) { $points = Array(); $ptcount = rand(3,6); for($i=1;$i<=$ptcount;$i++) { $points[] = rand(-10,210); $points[] = rand(-5,55); } $red = rand(100,255); $green = rand(100,255); $blue = rand(100,255); $linecolor = imagecolorallocate($image,$red,$green,$blue); $polygon = imagepolygon($image, $points, $ptcount, $linecolor); } # text $string = ""; $fonty = Array("ClinkOutlined", "Dominican", "FairyDust", "Pointy", "SubwayShadow"); for($i=1;$i<=5;$i++) { $red = rand(0,200); $green = rand(0,200); $blue = rand(0,90); $sel_chars = Array(rand(65,90), rand(97,122), rand(48,57)); $char = chr($sel_chars[array_rand($sel_chars)]); $charcolor = imagecolorallocate($image,$red,$green,$blue); $text = imagettftext($image, 30, rand(-15,15), (-15+$i*32), 35, $charcolor, "fonts/".$fonty[array_rand($fonty)].".ttf", $char); $string .= $char; } # session session_register("captcha"); $_SESSION['captcha'] = $string; # output /*if ($image) { header("Content-type: image/jpeg"); imagejpeg($image); imagedestroy($image); } */ echo $_SESSION['captcha']; setcookie("test", "fasfaw", time()+3600); echo $_COOKIE['test']; ob_end_flush(); ?> a volanie session v druhom subore <?php //session_start(); echo $_SESSION['captcha']; echo $_COOKIE['test']; ?> |
||
Časová prodleva: 16 let
|
0