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

Форум PHP

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

 

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

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

тема: Сессии. Переменная неопределена.
 
 автор: yuk   (31.03.2007 в 18:31)   письмо автору
 
 

Сделал два файла:

<?
session_start
();
$a="Hello!";
session_register("a");
?>
<html>
<body>
<a href="f2.php">Переход...</a>
</body>
</html>


<?
session_start
();
?>
<html>
<body>
<?
    
echo $a;
?>
</body>
</html>

Если Register_globals включен, то все ОК. Если нет - то $a в f2.php неопределена. Насколько мне известно, чаще всего Register_globals=off. Как поступить в этом случае?

   
 
 автор: Valick   (31.03.2007 в 21:45)   письмо автору
 
   для: yuk   (31.03.2007 в 18:31)
 

На реальных хостах, пока ещё чаще всего Register_globals=он
Посмотрите в архиве, разберётесь, что к чему.

   
 
 автор: isset   (01.04.2007 в 01:27)   письмо автору
 
   для: Valick   (31.03.2007 в 21:45)
 

Выбрось этот архив.

А использовать надо массив $_SESSION

   
 
 автор: Valick   (01.04.2007 в 07:55)   письмо автору
 
   для: isset   (01.04.2007 в 01:27)
 

Можно более аргументированно? Что именно вам там не понравилось?

   
 
 автор: yuk   (01.04.2007 в 14:01)   письмо автору
 
   для: Valick   (01.04.2007 в 07:55)
 

Поставил во втором файле

echo $_SESSION['a'];

и все получилось. Спасибо!

   
 
 автор: Trianon   (01.04.2007 в 14:08)   письмо автору
 
   для: Valick   (01.04.2007 в 07:55)
 

применение стиля регистр-глобалс. Это исчерпывающий аргумент.

> На реальных хостах, пока ещё чаще всего Register_globals=он

На реальных хостах состояние Register_globals определяется соответсвующей установкой в коренном .htaccess

И то, что из-за последних лентяев сайтодержателей некоторые хостеры всё еще оставляют register-globals умалчиваемым - вовсе не повод, чтобы за него цепляться.

   
 
 автор: Valick   (01.04.2007 в 14:27)   письмо автору
 
   для: Trianon   (01.04.2007 в 14:08)
 

>применение стиля регистр-глобалс. Это исчерпывающий аргумент.
кто вам сказал, что я сторонник Register_globals=он? Сказанное мной было сказано с сожалением и я абсолютно согласен по поводу лени сайтодержателей. (Разговор был про php.ini, а не о .htaccess) И раз уж на то пошло... кто-нибудь смотрел мой архив? Там примеры из книги небезизвестного вам Хеопса, но может я там что-то упустил или неправильно подошёл и ваше мнение, Trianon, для меня авторитетно.

   
 
 автор: cheops   (01.04.2007 в 16:22)   письмо автору
 
   для: Valick   (01.04.2007 в 14:27)
 

Книги устаревают, причём в области GPL продуктов примерно в два раза быстрее, чем в области коммерческих продуктов. Дело в том, что в коммерческих продуктах необходимо заботиться об обратной совместимости - люди могут очень долго пользоваться старыми версиями ПО и не иметь средств на новые. В GPL все кто используют старые версии, вместо новых де-факто вне закона и вне помощи - так как средств на установку новых продуктов не требуется, а энтузиасты не получают платы и могут поддерживать только самые последние версии.
register_globals является устаревшей конструкцией и будет исключен из PHP 6. Во всех новых книгах мы даже не упоминаем его и не употребляем стиль, связанный с использованием register_globals. Бардак с обратной совместимостью на совести разработчиков PHP, но ничего лучшего у нас нет - PHP та ещё помойка, но это один из самых быстрых языков разработки Web-приложений. Использовать register_globals можно, но максимум 2 года - после этого начнутся неразрешимые проблемы... Если где-то упоминается register_globals, всегда следует оговариваться, что это устаревший стиль и скоро код станет неработоспособным.

   
Rambler's Top100
вверх

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