gd картинка грузится после перезакрузки страницы

ORBIS

Новичок
gd картинка грузится после перезакрузки страницы

Нужно вызвать на странице сгенерированную gd-картинку. Все работает, НО только после перезагрузки страницы. Тоесть при первой загрузке страницы изображение не показывается. Не могу понять почему?!

Есть файл code.php с содержимым:
<?php
unset($s);
session_start();
session_register("s");
$font = imageloadfont('dimurph.gdf');
$im = imagecreate(90, 25) or die("Cannot Initialize new GD image stream 1");
$background_color = imagecolorallocate($im, 238, 238, 238);
$text_color = imagecolorallocate($im, 255, 0x00, 0x00);
imagestring($im, $font, 5, 3, $s[0], $text_color);
header("Content-type: image/png");
imagepng($im);
// смысл кода: есть переменная из сессии, которая должна показываться на сером фоне
?>

вызывается
<input type=text name=imagegd> <img src=code.php>
 

AlexBB

Новичок
странная конструкция
unset($s);
и тут же
session_register("s");

т.е. уничтожили переменную, и тут же регистрируем ее в сессию.
По идее должен быт warning - undefined varialble

И вообще ... код устаревший
рекомендуется использовать $_SESSION
 

ORBIS

Новичок
Да с переменной проблем нет. Она всегда верно показывается с первой загрузки (если эхо сделать). Вопрос почему на картинке только после обновления страницы показывается... ;(
 

AlexBB

Новичок
Да есть проблема с ней.
Echo вы делаете в вызывающем файле, а идентификатора сессии, пока не послан http заголовок, у клиента еще нет.
И поэтому, при первой загрузке code.php пробрасывать будет варнинг undefined varialble ... который вы не увидите. Соответственно картинка, даже пустая не отобразится.
Смотрите лог ошибок.
 
Сверху