簡體   English   中英

回顯$ _SESSION數據

[英]echo out $_SESSION data

我在會話中收集的數組中有一堆數據。 我可以print_r並顯示所有內容,但是我正努力顯示產品名稱,ID,圖像等。

我正在展示使用方法:

<?php
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
?>

它打印出我需要的所有內容,但不是我需要的格式。 所以我知道它正在收集我的數據並將其存儲在數組中。 我已經將數據設置在另一個文件中,如下所示:

if (isset($_POST['Submit'])) { 
    $_SESSION['product_img'][] = $_POST['product_img'];
    $_SESSION['product_id'][] = $_POST['product_id'];
    $_SESSION['product_name'][] = $_POST['product_name'];
    $_SESSION['product_price'][] = $_POST['product_price'];
    $_SESSION['product_sku'][] = $_POST['product_sku'];
    $_SESSION['product_description'][] = $_POST['product_description'];
} 

以上就是我要輸出的所有內容。

**要么堅持您的建議: $_SESSION['...'][] **

if (isset($_POST['Submit'])) { 
    $_SESSION['product_img'][] = $_POST['product_img'];
    $_SESSION['product_id'][] = $_POST['product_id'];
    $_SESSION['product_name'][] = $_POST['product_name'];
    $_SESSION['product_price'][] = $_POST['product_price'];
    $_SESSION['product_sku'][] = $_POST['product_sku'];
    $_SESSION['product_description'][] = $_POST['product_description'];
} 

並像這樣格式化它:

foreach($_SESSION as $elements)
{
    foreach($elements as $element) {
        echo $element . '<br />';
    }
}

或使用其他方法:

if (isset($_POST['Submit'])) { 
    $_SESSION['product_img'] = $_POST['product_img'];
    $_SESSION['product_id'] = $_POST['product_id'];
    $_SESSION['product_name'] = $_POST['product_name'];
    $_SESSION['product_price'] = $_POST['product_price'];
    $_SESSION['product_sku'] = $_POST['product_sku'];
    $_SESSION['product_description'] = $_POST['product_description'];
} 

並像這樣格式化它:

foreach($_SESSION as $element)
{
    echo $element . '<br />';
}

將其輸出為HTML的一種簡單方法是使用foreach循環,該循環遍歷數組中的每個項目。

為了使事情變得簡單,我建議更改您的POST代碼,以使每個項目都是單個數組,就像這樣。

if (isset($_POST['Submit'])) { 
    $_SESSION['products'][] = array(
        'img' => $_POST['product_img'],
        'id' => $_POST['product_id'],
        'name' => $_POST['product_name'],
        'price' => $_POST['product_price'],
        'sku' => $_POST['product_sku'],
        'description' => $_POST['product_description']
    );
} 

現在,您可以遍歷$_SESSION['products']並獲取會話中每個產品的信息。 例如:

foreach ($_SESSION['products'] as $product) {
    $name = $product['name'];
    $id = $product['id'];
    $price = $product['price'];
    $img = $product['img'];
    $sku = $product['sku'];
    $description = $product['description'];

    echo "<h1>Product: $name</h1>";
    echo "<p>Price: $price | ID: $id</p>";
    echo "<img src='$img'>";
    echo "<p>$description</p>";
    echo "<hr />";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM