Проблема с сессией

Дубковец

Новичок
Вообщем беда такая
есть два файла
index.php
PHP:
<?
session_start();
print $_SESSION['chislo'];
?>
<br><br>
<img src='img.php'>
<?print $_SESSION['chislo'];?>
и img.php

PHP:
session_start();

header("Content-type:  image/png"); 

$chisloone=rand(10,99); 

$chislotwo=rand(10,99); 

$chislo=$chisloone+$chislotwo;

$_SESSION['chislo']=$chislo;

$image = imageCreate(88,21);

$colorBackgr= imageColorAllocate($image, 192, 192, 192);
 
$colorForegr= imageColorAllocate($image, 255, 255, 255);

$colorGrid= imageColorAllocate($image, 0, 0, 0); 

imageFilledRectangle($image, 0, 0, 100 - 1, 35 - 1, $colorBackgr);  

// рисуем рамку 
imageRectangle($image,0,0,87,20, $colorGrid); 

imageString($image, 20, 10, 1, $chisloone."+". $chislotwo." = ",  $colorForegr); 

// задаем чересстрочный режим 
imageInterlace($image, 1); 
 
imagePNG($image);
и как бэ проблема с сессией.
Казалось бы например если в имг.пхп в сессию забилось число скаже 10, то при выполнени главного файла должно быть

0
картинка
10

но суть получается
10
картинка с другим числом
10

Т.е. число забитое в сессию появляется только при следующем отображении страницы.
Пример тут http://zoobg.ru/sss.php
Что за беда и как с этим бороться?
 

AmdY

Пью пиво
Команда форума
Дубковец
ты не понимаешь как отрабатывает твой сценарий, он генерит html и вставляет числа из сессии. затем этот сценарий отсылается, браузер видит что нужно загрузить картинку и отрабатывает второй сценарий, который меняет значение сессии. скажу даже больше, два эти сценария работать одновременно не могут, так как php по дефолту лочит файл в котором хранится сессия на всё время от session_start и до окончания работы этого скрипта, поэтому на длинных сценариях лучше вручную закрывать сессию через функцию которую ты сам найдёшь в мануале.
 
Сверху