За последние 24 часа нас посетили 20790 программистов и 1012 роботов. Сейчас ищут 348 программистов ...

передача данных через сессию

Тема в разделе "PHP для новичков", создана пользователем andre2017, 9 авг 2017.

  1. andre2017

    andre2017 Новичок

    С нами с:
    3 авг 2017
    Сообщения:
    67
    Симпатии:
    2
    Здравствуйте!
    На одной странице я формирую ассоциативный массив $data.
    На другой пытаюсь распечатать. (когда на одной странице было, то всё работало.)

    первая страница:
    Код (Text):
    1. <?php
    2. session_start();
    3. ...
    4. $data = json_decode($json);// обьект
    5. $_SESSION["data"] = [$data];
    6. echo '<script>window.location.href = "2.php";</script>';
    7. ?>
    вторая сраница
    PHP:
    1. <?php
    2. // print_r($_SESSION);  - выводит все данные ок
    3. $data = $_SESSION["data"]; - подскажите как правильно написать эту строчку - уверен тут ошибка
    4.  
    5. foreach($data->{" баланс"}->Актив->{"I. ВНЕОБОРОТНЫЕ АКТИВЫ"}->{"Нематериальные активы"} as $year =>$summa){
    6.     print $summa."\n";
    7. }
    8. ?>
     
  2. andre2017

    andre2017 Новичок

    С нами с:
    3 авг 2017
    Сообщения:
    67
    Симпатии:
    2
    Warning: Invalid argument supplied for foreach()
    и данные не распечатываются.

    а вот что выдает print_r($_SESSION);
    [data] => Array ( [0] => stdClass Object ( [Бухгалтерский баланс] => stdClass Object ( [Актив] => stdClass Object ( [I. ВНЕОБОРОТНЫЕ АКТИВЫ] => stdClass Object ( [Нематериальные активы] => stdClass Object ( [2015] => 101459000... то есть все данные правильно передатся через сессию.
     
    #2 andre2017, 9 авг 2017
    Последнее редактирование: 9 авг 2017
  3. andre2017

    andre2017 Новичок

    С нами с:
    3 авг 2017
    Сообщения:
    67
    Симпатии:
    2
    Заработало!!!

    1.
    $_SESSION["data"] = $data; - тут скобки лишние были...
    2.
    $data = $_SESSION["data"];