簡體   English   中英

標頭重定向后會話變量丟失

[英]Session variables lost after header redirect

頭重定向后會話變量丟失即使我使用了session_start(); in All Pages session_start(); in All Pages

這是我的代碼

<?php 
session_start();
$id=$_REQUEST['id'];
$pid=$_POST['pid'];
$_SESSION['pid']=$_POST['pid'];

添加到購物車功能

include("cart/functions.php");
if($_REQUEST['command']=='add' && $_REQUEST['id']>0){
$id=$_REQUEST['id'];
addtocart($id,1);
header('location:shoppingcart.php');
exit();
}

單擊此按鈕后$ _SESSION ['pid'] = $ _ POST ['pid'];`從所有頁面中消失嗎?

<input type="button" class="button1" value="Add To Cart" 
 onclick="addtocart(<?php echo $row3['id']?>);" />
</div>
</div></form>

header('location:shoppingcart.php'); 是強制重定向,發生這種情況時沒有POST,因此行$_SESSION['pid']=$_POST['pid']; 不會有任何效果。 如果必須進行無cookie會話,請查看use-trans-sidhttp : //www.php.net/manual/zh/session.configuration.php#ini.session.use-trans-sid

您可能在每個請求中都設置了$_SESSION['pid'] = $_POST['pid'] -即使您的POST中甚至沒有pid

嘗試改變這個

$_SESSION['pid']=$_POST['pid'];

對此

if (isset($_POST['pid'])) {
  $_SESSION['pid'] = $_POST['pid'];
}

暫無
暫無

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

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