在php中$\u Post后会话变量丢失
我在开始时有session变量,但在单击按钮后它丢失了。这是我的代码,$\u SESSION['InputCount']在开始时不是null和true,但单击按钮后,我无法访问SESSION变量$isset块中的迭代变量为null。我还有一个sesion变量,它保存了上一页的userid,它没有问题,仍然是真的。$iteration有什么问题在php中$\u Post后会话变量丢失,php,session,post,Php,Session,Post,我在开始时有session变量,但在单击按钮后它丢失了。这是我的代码,$\u SESSION['InputCount']在开始时不是null和true,但单击按钮后,我无法访问SESSION变量$isset块中的迭代变量为null。我还有一个sesion变量,它保存了上一页的userid,它没有问题,仍然是真的。$iteration有什么问题 <?php require("includes/db.php"); require("includes/functions.php"); ses
<?php
require("includes/db.php");
require("includes/functions.php");
session_start();
$inputCount = mysql_real_escape_string($_POST['inputCount']);
$_SESSION['InputCount'] = $inputCount; //it is ok at the begining
//check if the form has been submitted
if(isset($_POST['checkoutButton'])){
$iteration = $_SESSION['InputCount'];
var_dump ($iteration);
$userID = $_SESSION['UserID'];
无论页面如何加载,都会将$u POST['inputCount']的值分配给会话变量
换句话说,当您使用“签出”按钮发回时,您不是从会话中提取inputCount的值,而是基于当前$\u post['inputCount']覆盖该值,然后从会话中读取该值(这是多余的)
您可能想要的是这样的:
require("includes/db.php");
require("includes/functions.php");
session_start();
//check if the form has been submitted
if(!isset($_POST['checkoutButton'])){
$inputCount = mysql_real_escape_string($_POST['inputCount']);
$_SESSION['InputCount'] = $inputCount; //it is ok at the begining
} else {
$iteration = $_SESSION['InputCount'];
var_dump ($iteration);
$userID = $_SESSION['UserID'];
}
为什么在您的代码末尾有第二个会话\u start
?您当前的代码只是指$iteration=mysql\u real\u escape\u字符串($\u POST['inputCount'])代码>:这是预期的行为吗?“但在我点击按钮后”-什么按钮?向我们展示完整的代码及其使用方法。抱歉,我的代码中没有第二个会话\u start。复制粘贴它是我的错误。我编辑了我的帖子。所以,手帕웃潘奇,是的,我需要that@Fred-ii-它是checkburatton,您可以看到我单击它后运行的代码(isset部分)