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 » PHP » Программирование на PHP » ошибка при регенерации СЕССИИ и назначении ее в одну переменную..

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

1. wmz38 - 07 Декабря, 2007 - 17:22:31 - перейти к сообщению
Итак есть работающий код в котором все данные заносятся в БД с проверкой сессии, например есть сессия

далее код, далее по коду идет условия, по удовлетворению которых срабатывает функция sendMail
и тут мне нужно поменять сессию.
сделал так:


получил ошибку:
Цитата:
Warning: session_regenerate_id(): Cannot send session cookie - headers already sent by (output started at /сайт/файл в котором весь скрипт: 11

В 11ой строке произошел вывод ПХП кода в браузер, что послужило причиной ошибки..

Объясните пожалуйста как можно поменять сессию и назначить ее в переменную которая всего одна, и к которой привязан весь код.
такой вариант НЕ пойдет:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $old_sessionid = session_id();
  4.  
  5.  
  6. $new_sessionid = session_id();
  7.  
  8. echo "Old Session: $old_sessionid<br />";
  9. echo "New Session: $new_sessionid<br />";
  10.  
  11. print_r($_SESSION);
  12.  
2. wmz38 - 08 Декабря, 2007 - 20:43:04 - перейти к сообщению
вариантов совсем нет:?
3. valenok - 09 Декабря, 2007 - 01:14:54 - перейти к сообщению
есть варианты..
И первый из них это Скорее всего вам это не нужно.\n\n(Добавление)
Ладно, второй вариант
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.    $old_sessionid = session_id();
  4.  
  5.    $new_sessionid = session_id();
  6.  
  7.  
  8.  echo "Old Session: $old_sessionid<br />";
  9.  echo "New Session: $new_sessionid<br /><br />";
  10.  
  11.  
  12.  session_id($old_sessionid);
  13.  
  14.  echo "After setting to old:<br />";
  15.  echo "Current session id: ".session_id()."<br />";
  16.  echo "Old Session: $old_sessionid<br />";
  17.  echo "New Session: $new_sessionid<br /><br />";
  18.  
  19.  
  20.  session_id($new_sessionid);
  21.  
  22.  echo "After setting to new:<br />";
  23.  echo "Current session id: ".session_id()."<br />";
  24.  echo "Old Session: $old_sessionid<br />";
  25.  echo "New Session: $new_sessionid<br /><br />";
  26.  
  27.  
  28.  
4. wmz38 - 09 Декабря, 2007 - 09:21:15 - перейти к сообщению
=((
Вы меня не поняли - переменная всегда одна = $sid. как ей назначить новый session_id?
5. Стас - 09 Декабря, 2007 - 09:40:06 - перейти к сообщению
Можете попробовать использовать буферизацию вывода

http://php.su/functions/?cat=outcontrol
6. valenok - 09 Декабря, 2007 - 16:27:41 - перейти к сообщению
wmz38 пишет:
Вы меня не поняли - переменная всегда одна = $sid. как ей назначить новый session_id?

Если не знаете что делать со вторым вариантом - вам вариант первый..
7. wmz38 - 10 Декабря, 2007 - 11:08:42 - перейти к сообщению
я думаю лучше отказаться от всего этого.
Спасибо за материал - ничерта непонял, придумал иной способ.

 

Powered by ExBB FM 1.0 RC1