我尝试编写登录过程,在这里我可以显示错误消息。我的HTML登录表单如下所示:
<form id="login" action="data/login.php" method="post">
<H2>Rgister</H2>
Your login and password:
<br><br>
<div id="login-name" style="margin-top:20px;">Login:</div><div id="login-fld" style="margin-top:20px;"><input name="username" class="form-login" title="Username" value="" size="30" maxlength="2048" /></div>
<div id="login-name">Pass:</div><div id="login-fld"><input name="password" type="password" class="form-login" title="Password" value="" size="30" maxlength="2048" /></div>
<br><br><br>
<input type="image" src="obr/login-klw.png" alt="Submit" width="103" height="42" style="margin-left:90px;">
<br><br>
<?php if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?>
<html><body><h3>Error no 1</h3></body></html>
<?php } else { ?>
<html><body><h3>Error no 2</h3></body></html>
<?php } exit; } ?>
</form>和php代码:
... [ question to the database and return in $result object ] ...
if ($result->num_rows == 0) {
setcookie('logged_in', false, time() + 600, '/');
die(header("location:../index.html?log_err=true&powod=pass"));
}
else {
setcookie('logged_in', $_POST['username'], time() + 600, '/');
header("Location: /AAA/app.html");
}
}
else {
setcookie('logged_in', false, time() + 600, '/');
die(header("location:../index.html?log_err=true&powod=empty"));
}这两条消息("Error no 1“和"Error no 2")我每次加载此页面时都会看到。我不知道为什么以及如何调试这部分代码。有人能帮我吗?
问题是这个表单看起来如下:

我总是看到错误按摩。
发布于 2016-12-08 11:25:13
解决:第一个文件名应该是"index.php“,而不是"index.html",第二个文件名应该代替:
<?php if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?>应:
<?php if (isset($_GET['log_err'])) if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?>在应用程序启动时,没有$_GET,所以它的存在应该是先测试。谢谢你的回应。
发布于 2016-12-08 11:32:22
这是你一次又一次面对的问题。在dev模式下,学习将变量转储到屏幕上,以查看服务器正在理解的内容。
在它最简单的形式中,您所要做的就是在代码下面执行此操作。
<?php var_dump($_GET); ?>
那么也许吧,var_dump($_GET["log_err"]);等等。
其他正确的答案无法忍受,哦,在发布代码之前,请检查您没有var_dump()语句。
祝好运。
https://stackoverflow.com/questions/41017531
复制相似问题