PHP If语句不触发
我目前正在为一个足球联赛建立一个系统。目前正在处理脚本文件以添加结果。大多数脚本都有效,结果总是成功地添加到数据库中。但是,身份验证部分似乎失败了。第12行的if语句似乎没有触发,我不明白为什么 我的代码可以在这里的pastebin链接中找到:PHP If语句不触发,php,if-statement,conditional,Php,If Statement,Conditional,我目前正在为一个足球联赛建立一个系统。目前正在处理脚本文件以添加结果。大多数脚本都有效,结果总是成功地添加到数据库中。但是,身份验证部分似乎失败了。第12行的if语句似乎没有触发,我不明白为什么 我的代码可以在这里的pastebin链接中找到: 放一个模具()由于您粘贴的比较代码(第12行的“如果”部分)必须起作用,我有两个建议: 放一个骰子();或退出();在header()部分之后 尝试查找,因为我不确定header()是否有效,而您设置的位置路径是相对的。基本建议是始终使用基本路径进行重定
放一个模具()标题(“位置:…”)后的code>代码>由于您粘贴的比较代码(第12行的“如果”部分)必须起作用,我有两个建议:
放一个骰子();或退出();在header()部分之后
尝试查找,因为我不确定header()是否有效,而您设置的位置路径是相对的。基本建议是始终使用基本路径进行重定向,如“”)
使用==
是否有帮助?无法复制,而且您希望在任何重定向后退出/死亡。请在讨厌的IF上注释掉标题()
行,而不是echo“是真的”,然后放置一个else,echo“是假的”,然后在else put的关闭}
后退出代码>(用于测试特定内容的简单代码)。什么引起共鸣?我确信它是“真的”,你会发现IF实际上不是“不开火”:)你可能对exit()有一点看法;我完全忘了!非常感谢,我现在就去试试!在任何头重定向之后,如果您有其他代码可以在重定向之后回显/DB query等,它将首先这样做。仅供参考,您可以使用exit(标题(位置:blah))代码>。我在最后一条评论中的测试为我省去了很多痛苦,因为它缩小了问题的范围。ie向你展示了“是真的”,这意味着你的IF正在发挥作用,你需要重新思考问题所在;)
<?PHP
include 'functions.php';
dbConnect();
//$userEmail = mysql_real_escape_string($_POST["userEmailText"]);
$userCode = mysql_real_escape_string($_POST["userPasscodeText"]);
$authenticated = false;
$userEmail = "info@example.com";
if ($userEmail == "info@example.com") {
header('Location: ../results.php?error=authentication');
}
$allUsers = mysql_query("SELECT * FROM accounts WHERE email = '$userEmail'");
while ($thisUser = mysql_fetch_assoc($allUsers)){
if ($userCode != $thisUser['passCode']) {
header('Location: ../results.php?error=authentication2');
}
echo $thisUser['passCode'];
$authenticated = true;
$userID = $thisUser['userID'];
}
if (!$authenticated) {
header('Location: ../results.php?error=authentication3');
}
$dateSubmitted = $_POST['submissionDate'];
$homeTeam = $_POST['homeTeam'];
$awayTeam = $_POST['awayTeam'];
$homeGoals = $_POST['homeGoals'];
$awayGoals = $_POST['awayGoals'];
if ($homeTeam == $awayTeam) {
header("Location: ../results.php?error=team");
}
if (getTeamLeague($homeTeam) != getTeamLeague($awayTeam)) {
header("Location: ../results.php?error=league");
} else {
$leagueID = getTeamLeague($homeTeam);
}
if ($homeGoals > $awayGoals) {
$winnerID = $homeTeam;
} else if ($homeGoals < $awayGoals) {
$winnerID = $awayTeam;
} else if ($homeGoals == $awayGoals) {
$winnerID = -1;
}
$cQuery = mysql_query("INSERT INTO results VALUES ('', $userID, '$dateSubmitted', $leagueID, $homeTeam, $homeGoals, $awayTeam, $awayGoals, $winnerID, 0)");
if ($cQuery){
header('Location: ../results.php');
} else {
echo mysql_error();
}
?>