0 else块运行和 $_SESSION["error"]设置。 当$row["coun-6ren">
gpt4 book ai didi

PHP:$_SESSION 寄存器

转载 作者:行者123 更新时间:2023-12-04 06:03:54 29 4
gpt4 key购买 nike

我遇到了这段代码的问题,我无法弄清楚问题出在哪里。所以当我运行这段代码时:if $row["count"] > 0 else块运行和 $_SESSION["error"]设置。

$row["count"] == 0执行查询并将新行插入数据库,但两者都是 $_SESSION["save"]$_SESSION["error"]设置!这是否意味着 ifelse语句运行?对我来说没有任何意义...

$stmt = $pdo->prepare("SELECT COUNT(*) AS count ... QUERY");
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);

if( $row["count"] == 0 ){
$stmt = $pdo->prepare("INSERT...QUERY");
$stmt->execute();
$_SESSION["save"] = "Saved";
header("Location:index.php");
exit();
}else{
$_SESSION["error"] = "Error";
header("Location:index.php");
exit();
}

我在 index.php 中使用此代码
$save = (isset($_SESSION["save"]))? $_SESSION["save"] : false;
$error = (isset($_SESSION["error"]))? $_SESSION["error"] : false;
unset($_SESSION["error"]);
unset($_SESSION["save"]);

正如我所说,当 $row["count"] == 0我有两个 $save$error放..

解决了
看来我发现了问题。我改变了他们访问脚本的方式:
<a href='script.php?id=10'><input type="button" value='Go to script' /></a>

到:
<a href='script.php?id=10'>Go to script</a>

脚本现在正在运行。使用 a 标签内的输入按钮标签,脚本在执行 if 时表现不可预测。和 else声明同时......我仍然很困惑输入标签为什么以及如何导致这种情况,但至少脚本现在正在工作......

最佳答案

您在清零吗$_SESSION["error"]$_SESSION["save"]index.php 中阅读后?在我看来,您似乎曾经遇到过这两种情况,并且在您的 $_SESSION 中有挥之不去的值(value)。大批。

我建议对这两种情况使用相同的变量名,例如$_SESSION['save'] ,并分配 successerror到它。这样,您不必检查两个变量之一是否存在,而只需检查其内容。

并且不要忘记在变量达到其目的后清除或取消设置。

关于PHP:$_SESSION 寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8602937/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com