|
|
|
| Всем привет!
У меня при создании сессии, т.е. при логине выводится вот такое сообщение:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
причём при обновлении страницы она исчезает и работает всё нормально...
что это значит и как это можно убрать? кроме error_reporting(0); естесственно) | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 13:13)
| | Код в студию плз. Только ту часть где идет работа с сессиями | |
|
|
|
|
|
|
|
для: Antohins
(07.04.2008 в 13:14)
| |
$rs = mysql_query('SELECT login, id, status FROM `users` WHERE `login` = "'.$_POST['login'].'" AND `password` = "'.md5($_POST['pass']).'" LIMIT 1');
if (mysql_num_rows($rs))
{
$a = mysql_fetch_array($rs);
$login = $a['login'];
$status = $a['status'];
$user_id = $a['id'];
session_register('login');
session_register('status');
session_register('user_id');
}
|
Вот в принципе весь код... | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 13:16)
| | я советую использовать
$_SESSION["znachenie"]="pararam";
|
| |
|
|
|
|
|
|
|
для: Antohins
(07.04.2008 в 14:02)
| | >я советую использовать
$_SESSION["znachenie"]="pararam";
>
|
Те же уши только в профиль... всё равно выдаёт это... | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 14:24)
| | > Те же уши только в профиль... всё равно выдаёт это...
Почитай моё сообщение. | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 13:16)
| | Эта ошибка еще связана и с register_globals. Желательно выключить этот режим. | |
|
|
|
|
|
|
|
для: Atheist
(07.04.2008 в 14:04)
| | Я прочитал, они у меня вырублены. | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 14:35)
| | Тогда просто не используй одинаковые имена переменных и индексов. | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 14:35)
| | Так если Вы хотите чтобы Ваша конструкция работала без этого предупреждения, то register_globals должен быть включен. Но делать этого не рекомендую, а использовать суперглобальный массив $_SESSION | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 13:16)
| | Вот что пишут на сайте php.net:
Caution
If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.
Перевод:
Предостережение
Если Вы хотите, чтобы ваш подлинник(сценарий) работал независимо от register_globals, Вы должны вместо этого использовать $_SESSION, множество как $_SESSION entries автоматически зарегистрировано. Если ваш подлинник(сценарий) будет использовать session_register (), то это не будет работать в окружающих средах, где директива register_globals PHP - инвалиды.
зы: >>"где директива register_globals PHP - инвалиды."
бугага, ну и перевод %)) | |
|
|
|
|
|
|
|
для: Antohins
(07.04.2008 в 14:07)
| | Так что делать?))) | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 16:31)
| |
<?
session_start();
//....
{
$a = mysql_fetch_array($rs);
$_SESSION["login"] = $a['login'];
$_SESSION["status"] = $a['status'];
$_SESSION["user_id"] = $a['id'];
}
|
Все должно работать, а вот register_globals точно надо держать выключенным. | |
|
|
|
|
|
|
|
для: sim5
(07.04.2008 в 17:17)
| | Ну так вот именно что всё работает, но выводит это тупое сообщение... | |
|
|
|
|
|
|
|
для: Trivium
(07.04.2008 в 18:45)
| | Не используйте session_register(), это старое. | |
|
|
|
|
|
|
|
для: sim5
(07.04.2008 в 18:59)
| | ну я через $_SESSION['variable'] = $somevariable; делаю и то же это же выдаёт... | |
|
|
|
|
|
|
|
для: Trivium
(08.04.2008 в 13:10)
| | Видишь $_POST['login']? $_SESSION['login'] лучше не использовать. Добавь какой-нибудь префикс. | |
|
|
|
|
|
|
|
для: Atheist
(08.04.2008 в 14:38)
| | >Видишь $_POST['login']? $_SESSION['login'] лучше не использовать. Добавь какой-нибудь префикс.
Так а причём это логин к тому? Это ж разные массивы... | |
|
|
|
|
|
|
|
для: Trivium
(09.04.2008 в 18:35)
| | А PHP какой версии? | |
|
|
|
|
|
|
|
для: GeorgeIV
(10.04.2008 в 09:52)
| | 4 | |
|
|
|
|
|
|
|
для: Trivium
(08.04.2008 в 13:10)
| | Если проблема всетаки в глобальных переменных советую воспользоваться этой переменной:
$HTTP_COOKIE_VARS['variable'] = $somevariable;
|
| |
|
|
|
|
|
|
|
для: ONYX
(10.04.2008 в 10:31)
| |
$HTTP_COOKIE_VARS['variable'] = $somevariable;
|
Вы что издеваетесь, предлагаете на РНР3 перейти???
Это ж старый массив, его заменили на $_COOKIE. В новых версиях РНР его вообще нет! | |
|
|
|
|
|
|
|
для: mihdan
(10.04.2008 в 11:57)
| | в 4 есть ещё, а вот в 5 не знаю... | |
|
|
|
|
|
|
|
для: Trivium
(10.04.2008 в 13:40)
| | Поддержка длинных массивов будет исключена в 6 версии. | |
|
|
|
|
|
|
|
для: mihdan
(10.04.2008 в 11:57)
| | >новых версиях РНР его вообще нет!
Ну почему же в 5.2.0 он еще поддерживается. | |
|
|
|
|
|
|
|
для: AcidTrash
(10.04.2008 в 15:00)
| | 5 - не новая версия РНР ))) | |
|
|
|
|
|
|
|
для: mihdan
(10.04.2008 в 15:34)
| | А под новой версией которая уже используется, вы какую версию понимаете? | |
|
|
|
|
|
|
|
|
для: AcidTrash
(10.04.2008 в 16:18)
| | >А под новой версией которая уже используется, вы какую версию понимаете?
http://snaps.php.net/ | |
|
|
|
|
|
|
|
для: mihdan
(11.04.2008 в 14:38)
| | Если вы имеете ввиду PHP6, то она еще обширно не используется. Сравнительно не особо давно хостинги и разработчики стали переходить на 5, так, что до 6-ки еще время довольно много. Скачать 6-ку и просто позксперементировать с ней, пока все что с ней можно сделать.
Всех шестерочных нюансов еще не известно. | |
|
|
|
|
|
|
|
для: AcidTrash
(11.04.2008 в 14:46)
| | >PHP6, то она еще обширно не используется
PHP 6 собственно ещё не создан путью, имеющаяся версия для разработчиков очень далека от стабильности.
>Всех шестерочных нюансов еще не известно.
Скажем так, известны вопросы для обсуждения, по части из них решение уже принятно, часть отвергнута, часть ещё находится под обсуждением. Об прогрессе в PHP 6 можно судить по странице http://wiki.php.net/todo/php60. | |
|
|
|
|
|
|
|
для: ONYX
(10.04.2008 в 10:31)
| | Для совмещения версий даже директиву в php.ini создали
register_long_arrays = On
|
| |
|
|
|
|
|
|
|
для: mihdan
(10.04.2008 в 15:36)
| | Так что делать?) ничего из вышеперечисленного не работает... | |
|
|
|
|
|
|
|
для: Trivium
(11.04.2008 в 18:03)
| | и тишина... | |
|
|
|