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 :: Версия для печати :: Проблема с сессиями: Cannot use a scalar value as an array
Форумы портала PHP.SU » » CMS и фреймворки » Проблема с сессиями: Cannot use a scalar value as an array

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

1. wget - 24 Декабря, 2013 - 23:01:03 - перейти к сообщению
Пытаюсь в сессии записывать массивы ответов, но выдает ошибку
Warning: Cannot use a scalar value as an array in /home/jack/www/php/index.php on line 16

Сам код такой

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.  
  4.  
  5. if (!isset($_SESSION['test'])) {
  6.         $_SESSION['q'] = 0;
  7. }
  8.  
  9. if (isset($_POST['test'])) {
  10.         $_SESSION['q'] = 1;
  11. }
  12.  
  13. if (isset($_POST['request'])) {
  14.         $q = $_SESSION['q'];
  15.         $_SESSION = ++$q;
  16.        $_SESSION['test'][] = $_POST['answer']; - СТРОКА, ВЫЗЫВАЮЩАЯ ОШИБКУ
  17. }
  18.  
  19. if ($_SESSION['q'] == 0) {
  20.         $title = 'Добро пожаловать! Пройдите тест.';
  21.         include_once 'titul.php';
  22. } else if ($_SESSION['q'] == 1) {
  23.         $title = '1. Какой цвет имеет солнце?';
  24.         include_once 'v1.php';
  25. }
  26.  


Код подключаемого файла

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php echo $title;?>
  3. <form method='post'>
  4.         <input type='radio' name='answer' value='a1'>Красное<br>
  5.         <input type='radio' name='answer' value='a2'>Желтое<br>
  6.         <input type='radio' name='answer' value='a3'>Синее<br>
  7. <input type='submit' name='request' value='Ответ'>
  8. </form>
  9.  


Ошибка говорит, что я задал $_SESSION['test'][] как скалярную величину и пытаюсь использовать как массив, но я ее вообще никак не задавал! И более того, когда явно определяю ее как массив $_SESSION['test'][] = array(), то все равно выдает эту ошибку
2. kotyara1979 - 24 Декабря, 2013 - 23:22:30 - перейти к сообщению
wget пишет:
$_SESSION = ++$q;


А вот этим вы собственно что хотите сказать? Пытаетесь переназначить значение предопределенной переменной?

Скрипт ругается на эту строку.
3. wget - 24 Декабря, 2013 - 23:53:07 - перейти к сообщению
kotyara1979,

Спасибо! Глупейшая опечатка....

 

Powered by ExBB FM 1.0 RC1