mam skrypt do tokena jednak chcę zrobić, że kod do obrazka przechowywany jest w sesji.
Jednak to wygląda jak by GD nie obsługiwała sesji.
Kod
<?
session_start();
$SESSION['kod'] = "ABCDE";
include('includes/hasla.php');
if(isset($_GET['id']))
$nr=$_GET['id'];
else $nr=rand(0,count($haslo));
//$slowo=trim($haslo[$nr]);
$słowo=trim($SESSION['kod']);
$pic= ImageCreateFromJpeg("images/token.jpg");
$bialy=ImageColorAllocate($pic,255,255,255);
$nieb = ImageColorAllocate($pic, 0, 255, 255);
$ziel = ImageColorAllocate($pic, 106, 220, 0);
$zol = ImageColorAllocate($pic, 212, 231, 0);
for($i=0;$i<6;$i++)
{
$rozmiar=rand(10,15);
$szer=rand(14,15);
$wys=rand(15,23);
$obr = rand(-20,20);
$kolor_los = rand(1,3);
if($kolor_los==1)
ImageTTFText($pic, $rozmiar, $obr, $i*$szer+5, $wys, $nieb, 'STENCIL.ttf', trim($slowo[$i]));
elseif($kolor_los==2)
ImageTTFText($pic, $rozmiar, $obr, $i*$szer+5, $wys, $ziel, 'STENCIL.ttf', trim($slowo[$i]));
elseif($kolor_los==3)
ImageTTFText($pic, $rozmiar, $obr, $i*$szer+5, $wys, $zol, 'STENCIL.ttf', trim($slowo[$i]));
}
header("Content-type: image/jpeg");
imagejpeg($pic);
?>
session_start();
$SESSION['kod'] = "ABCDE";
include('includes/hasla.php');
if(isset($_GET['id']))
$nr=$_GET['id'];
else $nr=rand(0,count($haslo));
//$slowo=trim($haslo[$nr]);
$słowo=trim($SESSION['kod']);
$pic= ImageCreateFromJpeg("images/token.jpg");
$bialy=ImageColorAllocate($pic,255,255,255);
$nieb = ImageColorAllocate($pic, 0, 255, 255);
$ziel = ImageColorAllocate($pic, 106, 220, 0);
$zol = ImageColorAllocate($pic, 212, 231, 0);
for($i=0;$i<6;$i++)
{
$rozmiar=rand(10,15);
$szer=rand(14,15);
$wys=rand(15,23);
$obr = rand(-20,20);
$kolor_los = rand(1,3);
if($kolor_los==1)
ImageTTFText($pic, $rozmiar, $obr, $i*$szer+5, $wys, $nieb, 'STENCIL.ttf', trim($slowo[$i]));
elseif($kolor_los==2)
ImageTTFText($pic, $rozmiar, $obr, $i*$szer+5, $wys, $ziel, 'STENCIL.ttf', trim($slowo[$i]));
elseif($kolor_los==3)
ImageTTFText($pic, $rozmiar, $obr, $i*$szer+5, $wys, $zol, 'STENCIL.ttf', trim($slowo[$i]));
}
header("Content-type: image/jpeg");
imagejpeg($pic);
?>
Oto kod.
Wyświetla on pusty obrazek bez tekstu.
Na innych stronach sesje działają normalnie.