[英]Session variables lost after header redirect
Session variables lost after header redirect Even i Used session_start(); in All Pages
头重定向后会话变量丢失即使我使用了
session_start(); in All Pages
session_start(); in All Pages
Here My Code.. 这是我的代码
<?php
session_start();
$id=$_REQUEST['id'];
$pid=$_POST['pid'];
$_SESSION['pid']=$_POST['pid'];
Add To Cart Function 添加到购物车功能
include("cart/functions.php");
if($_REQUEST['command']=='add' && $_REQUEST['id']>0){
$id=$_REQUEST['id'];
addtocart($id,1);
header('location:shoppingcart.php');
exit();
}
After Click On This Button $_SESSION['pid']=$_POST['pid'];` Disappear From All Pages? 单击此按钮后$ _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');
is a forced redirect, there is no POST when this happens, so the line $_SESSION['pid']=$_POST['pid'];
是强制重定向,发生这种情况时没有POST,因此行
$_SESSION['pid']=$_POST['pid'];
is going to have no effect. 不会有任何效果。 If you must do cookieless sessions, look into
use-trans-sid
: http://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid 如果必须进行无cookie会话,请查看
use-trans-sid
: http : //www.php.net/manual/zh/session.configuration.php#ini.session.use-trans-sid
You probably set $_SESSION['pid'] = $_POST['pid']
in every request - even if your POST doesn't even have pid
in it. 您可能在每个请求中都设置了
$_SESSION['pid'] = $_POST['pid']
-即使您的POST中甚至没有pid
。
Try to change this 尝试改变这个
$_SESSION['pid']=$_POST['pid'];
to this 对此
if (isset($_POST['pid'])) {
$_SESSION['pid'] = $_POST['pid'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.