ora non mi dà errori ma non registra la variabile di sessione


riepilogando:

error_reporting(E_ALL);

function get_rand()
{
srand(microtime()*1000000);
$max = getrandmax();
$num = substr(rand(1, $max), 0, 6);
return $num;
}

$img = imagecreate(100, 50);

$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
$gray = imagecolorallocate($img, 140, 140, 140);

imagefill($img, 0, 0, $gray);
imagerectangle($img, 0, 0, 99, 49, $black);
imagerectangle($img, 1, 1, 98, 48, $black);
imagerectangle($img, 5, 5, 94, 44, $black);

imagestring($img, 5, 26, 18, get_rand(), $white);
$num = get_rand();

session_start();
$_SESSION['dato'] = $num;

header('Content-type: image/png');
imagepng($img);


////////////////////////////// registro la variabile $num nella sessione ['dato']
//////////////////////////////////////


altro script

II parte////////////////////////////////////////
session_start();
$_SESSION['dato'] = (array_key_exists('dato', $_GET)) ? $_GET['dato'] : 0 ;


verifico se esiste un valore all'interno della sesisone dato.

.....questa seconda parte non l'ho capita