Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сессионная переменная остаётся не заполненным
 
 автор: Jodler   (27.12.2007 в 14:20)   письмо автору
 
 

//////////// Файл first.php /////////////////
        session_start();
        echo '<img src="second.php" >';
        echo "Hello!";
        echo $_SESSION['code'];
        if (isset($_SESSION['code'])) echo "Yes"; else echo "No";


//////////// Файл second.php /////////////////
        session_start();
        $code = "1234567";
        $_SESSION['code'] = $code;
        $image = ImageCreateFromJpeg("images/codeimg.jpg");
        $text_color = ImageColorAllocate($image, 100, 100, 100);
        Header("Content-type: image/jpeg");
        ImageString($image, 5, 12, 2, $code, $text_color);
        ImageJpeg($image, "", 50);
        ImageDestroy($image);

В сессионном файле имеется запись:
aaa|s:7:"1234567";


При выполнении сценария файле first.php значение $_SESSION['code'] отсутствует, на экран
выводится изображение, строка "Hello!" и результат оператора условия "No".
Совершенно непонятно, почему не работает механизм сессий. В других сценариях с сессиями проблем нет.
Пробовал в файле second.php и first.php убирать строку session_start(); , но это на результат не повлияло.
Возможно как-то заголовок Header("Content-type: image/jpeg"); влияет, но, как я понимаю, не должен.
Кто может что подсказать по этому поводу?
Заранее спасибо.

   
 
 автор: cheops   (27.12.2007 в 14:41)   письмо автору
 
   для: Jodler   (27.12.2007 в 14:20)
 

Всё верно, так как сначала выполняется файл first.php, и лишь когда результат его выполнения загружается клиентом и клиент обращается к изображению - выполняется файл second.php. Более того, если изображения будут отключены, файл second.php вообще не выполнится.

   
 
 автор: Drago   (27.12.2007 в 14:44)   письмо автору
 
   для: Jodler   (27.12.2007 в 14:20)
 

Потому что, вы пытаетесь использовать переменную $_SESSION['code'] до того, как инициализируете ее.

   
 
 автор: Jodler   (28.12.2007 в 13:33)   письмо автору
 
   для: Drago   (27.12.2007 в 14:44)
 

Спасибо большое. Теперь я понял, в чем была ошибка.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования