세션에 여러 항목을 저장하려고합니다. 따라서 위세션에 여러 항목 저장
<?php
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'];
}
?>
을 현재 세션에 항목 (그래서 내가 믿는)를 설정한다 :
<?php
$product_id = $_GET['product_id'];
$sql = "SELECT * FROM Products WHERE product_id = $product_id";
$result = $conn->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<img src=' . $row['product_img'] . ' />';
echo '<div class="title">'. $row['product_name'] .'</div>';
echo '<div class="title">'. $row['product_price'] .'</div>';
echo '<div class="title">'. $row['product_sku'] .'</div>';
echo '<div class="title">'. $row['product_description'] .'</div>';
echo '<form action="addToCart.php" method="post">
<input type="hidden" name="product_img" value="' . $row['product_img'] . '" />
<input type="hidden" name="product_id" value="' . $row['product_id'] . '" />
<input type="hidden" name="product_name" value="' . $row['product_name'] . '" />
<input type="hidden" name="product_price" value="' . $row['product_price'] . '" />
<input type="hidden" name="product_sku" value="' . $row['product_sku'] . '" />
<input type="hidden" name="product_description" value="' . $row['product_description'] . '" />
<input type="submit" name="Submit">
</form>';
}
} else{
echo "0 Results";
}
?>
addToCart.php는 다음과 같습니다 : 그래서 같은 형태에서 항목을 게시하고있다. 그런 다음 basket.php에 저장된 데이터에서 항목을 출력합니다.
<?php echo '<img src=' . $_SESSION['product_img'] . ' />'; ?>
<?php echo $_SESSION['product_id'];?>
<?php echo $_SESSION['product_name'];?>
<?php echo $_SESSION['product_price'] ?>
<?php echo $_SESSION['product_sku']; ?>
<?php echo $_SESSION['product_description']; ?>
문제점 이전 항목을 덮어 쓰는 다른 항목을 추가 할 때마다 문제가 있습니까? 배열을 사용하여 여러 항목을 저장해야하지만 몇 가지 다른 방법을 시도했지만 이해하기가 힘듭니다.
당신이 배열의 배열을 포함 할 수 있습니다'$ _SESSION [ 'foo는'] [1] = $ _SESSION, 'someval'[ 'foo는'] [ 2] = 'otherval';'그리고 [sql injection attacks] (http://bobby-tables.com)에 취약하다는 것에주의하십시오. –
@MarcB 귀하의 의견에 감사드립니다. 조금 더 설명해 주시겠습니까? 이해하기가 힘듭니다. ew to this) – PhpDude
최상위 배열 키로 제품 ID를 사용하십시오 :'$ _SESS [ 'cart'] [$ prodID] [ 'name'] => 'foo'' –