Php 头重定向后会话变量丢失
头重定向后会话变量丢失,即使我使用了Php 头重定向后会话变量丢失,php,session,session-variables,Php,Session,Session Variables,头重定向后会话变量丢失,即使我使用了Session_start();在所有页面中 这里是我的代码。 <?php session_start(); $id=$_REQUEST['id']; $pid=$_POST['pid']; $_SESSION['pid']=$_POST['pid']; 点击此按钮后$\u SESSION['pid']=$\u POST['pid'];`从所有页面中消失? <input type="button" class="button1" value="
Session_start();在所有页面中
这里是我的代码。
<?php
session_start();
$id=$_REQUEST['id'];
$pid=$_POST['pid'];
$_SESSION['pid']=$_POST['pid'];
点击此按钮后$\u SESSION['pid']=$\u POST['pid'];`从所有页面中消失?
<input type="button" class="button1" value="Add To Cart"
onclick="addtocart(<?php echo $row3['id']?>);" />
</div>
</div></form>
标题('location:shoppingcart.php')
是一个强制重定向,发生这种情况时没有POST,因此行$\u SESSION['pid']=$\u POST['pid']代码>将不起作用。如果您必须执行无Cookie会话,请查看使用trans sid
:您可能会在每个请求中设置$\u SESSION['pid']=$\u POST['pid']
,即使您的帖子中甚至没有pid
试着改变这个
$_SESSION['pid']=$_POST['pid'];
对此
if (isset($_POST['pid'])) {
$_SESSION['pid'] = $_POST['pid'];
}
因为你没有发布每页$\u SESSION['pid']=$\u POST['pid']
有时可能无法正确触发,从而终止会话中存储的数据,从而无法在其他代码段中进行验证。启用error\u reporting()
,您可能会看到出了什么问题:)谢谢,我已经这样做了,但是您能给我解决这个问题的方法吗?我现在面临同样的问题
if (isset($_POST['pid'])) {
$_SESSION['pid'] = $_POST['pid'];
}