Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сессии. Объявление, удаление.
Форумы портала PHP.SU » » Вопросы новичков » Сессии. Объявление, удаление.

Страниц (1): [1]
 

1. Tox - 29 Мая, 2012 - 15:07:19 - перейти к сообщению
Я читал это и это. Все гениальное просто, но мне хотелось бы уточнить.
На каждой странице у меня примерно такой код:

PHP:
скопировать код в буфер обмена
  1. if (isset($_SESSION["auth"])) {
  2.         $name = $_SESSION["name"];
  3.         $auth = $_SESSION["auth"];
  4. }

Пользователь авторизуется, на одной странице, при удачной авторизации:
PHP:
скопировать код в буфер обмена
  1. $_SESSION["auth"] = 1; 
  2. $_SESSION["name"] = $arr['name'];

auth - отметка того, что пользователь зареган. У меня все работает, может что-то не правильно? Улыбка
И чтобы юзер мог выйти, достаточно использовать
?
Просто на многих сайтах замечал у кнопки "выйти" длинный путь типа
CODE (html):
скопировать код в буфер обмена
  1. <a href="logout.php?sessionId=732516E5B460E93698ACB5D2237B3C1C" title="Выйти">

Понятно, что мы удаляем идентификатор сессии, почему не через session_destroy?
2. sKaa - 29 Мая, 2012 - 15:19:49 - перейти к сообщению
Tox, может они так куки чистят Улыбка Ведь эта длинная "sessionId=732516E5B460E93698ACB5D2237B3C1C" хранится в куках и они просто обнуляют ее, а сессия как таковая на самом сервер не умирает еще какое-то время Улыбка

Это из разряда :
Цитата:
"Для разлагинивания почистити куки браузером"
3. Леди_Мари - 29 Мая, 2012 - 16:19:31 - перейти к сообщению
Привет всем)) У меня такой вопрос пытаюсь передать переменные с помощью сессий на несколько страниц, но выдает ошибку :
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\school\www\jurnal_select.php:109) in Z:\home\school\www\default.php on line 3.
Я читала, что подобные ошибки возникают, если перед запуском сессии прописано что-либо. У меня прописан вывод логотипа.
Что делать??
4. Muxa - 29 Мая, 2012 - 16:22:07 - перейти к сообщению
переместить session_start выше Не понял
5. Tox - 29 Мая, 2012 - 16:49:33 - перейти к сообщению
+ кодировку utf8 без Bom, если нотпад++
6. Леди_Мари - 29 Мая, 2012 - 16:49:47 - перейти к сообщению
пишет, что session_register () устарела, чем следует заменить?
7. Muxa - 29 Мая, 2012 - 16:56:37 - перейти к сообщению
$_SESSION
8. Леди_Мари - 29 Мая, 2012 - 16:58:48 - перейти к сообщению
спасибо)) все работает
9. Леди_Мари - 30 Мая, 2012 - 03:47:07 - перейти к сообщению
всем привет)))) сессия почему-то не передает данные на другую страницу,однако старт сессии на них прописан. Растерялся
10. Tox - 30 Мая, 2012 - 13:26:21 - перейти к сообщению
Леди_Мари пишет:
всем привет)))) сессия почему-то не передает данные на другую страницу,однако старт сессии на них прописан. Растерялся

ну а код?
11. Леди_Мари - 30 Мая, 2012 - 15:34:29 - перейти к сообщению
код:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. unset($class_j, $letter_j);
  3.    session_start();
  4.          $_SESSION['class_jun']= $_POST['class'];
  5.            $_SESSION['letter_jun']= $_POST['letter'];  ?>

это код прописан на первой странице, а на остальных просто стартую сессию может быть нужно еще что-то прописать.
12. Леди_Мари - 01 Июня, 2012 - 03:57:14 - перейти к сообщению
Данный код работает только в Internet Explorere, а в Mozilla Firefox, Google Chrome и Opera не работает. В чем может быть проблема?
13. sKaa - 01 Июня, 2012 - 04:46:37 - перейти к сообщению
Убедитесь, что передаются $_POST['class']; и $_POST['letter'];
14. Леди_Мари - 02 Июня, 2012 - 12:38:36 - перейти к сообщению
$_POST['class']; и $_POST['letter']; точно передаются иначе бы их и в Internet Explorere не было, а в других браузерах сессия принимает пустое значение

 

Powered by ExBB FM 1.0 RC1