PHP получает значения из сессии - PullRequest
0 голосов
/ 13 марта 2012

Эй, ребята, у меня быстрый вопрос, у меня есть сеанс, и когда я делаю print_r сеанса, это то, что я получаю ...

Array ( [items] => a:1:{s:2:"1_";a:5:{s:2:"id";s:1:"1";s:4:"name";s:9:"Product 3";s:5:"price";s:5:"20.00";s:6:"option";N;s:3:"qty";N;}} ) 

Я пытаюсь отобразить цену иимя (цена = 20,00, название = продукт 3)

я пробовал ..

<?php echo $_SESSION['price']; ?>

и

<?php echo $_SESSION['items']['price']; ?>

ничего не работает ... есть идеи?

Ответы [ 4 ]

5 голосов
/ 13 марта 2012

Содержимое $_SESSION['items'] представляется сериализованным . Попробуйте

$items = unserialize($_SESSION['items']);

echo $items['1_']['price'];

var_dump($items);

http://php.net/manual/en/function.unserialize.php

1 голос
/ 13 марта 2012

Глядя на ваши сериализованные данные, кажется, что вы должны:

$items = unserialize($_SESSION['items']);

$items ['1_']['price'];

Не уверен, почему есть 1_, но он там есть.

1 голос
/ 13 марта 2012

Похоже, данные как-то сериализуются.Вы можете десериализовать данные, подобные этим

$items = unserialize($_SESSION['items']);

, однако любые изменения, которые вы вносите в массив элементов, должны быть обновлены до сеанса, чтобы быть должным образом обработанными независимо от того, что скрипт делает с данными позже с

$_SESSION['items'] = serialize($items);
0 голосов
/ 14 марта 2012

вы должны определить это сначала использовать начало сеанса, а затем вы можете использовать что-то похожее на код такого рода ниже

     $data = mysql_query("select * FROM tablename where id = $id ") 
     or die(mysql_error()); 
     echo "<table border cellpadding=3>"; 
     while($info = mysql_fetch_array( $data )) 

and then you can echo the row you wish to by using $info example below

 echo "<th>User:</th> <td>".$info['user_name'] . "</td> "; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...