首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录错误消息(HTML和php)

登录错误消息(HTML和php)
EN

Stack Overflow用户
提问于 2016-12-07 12:29:27
回答 2查看 99关注 0票数 0

我尝试编写登录过程,在这里我可以显示错误消息。我的HTML登录表单如下所示:

代码语言:javascript
复制
<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代码:

代码语言:javascript
复制
... [ 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")我每次加载此页面时都会看到。我不知道为什么以及如何调试这部分代码。有人能帮我吗?

问题是这个表单看起来如下:

我总是看到错误按摩。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-08 11:25:13

解决:第一个文件名应该是"index.php“,而不是"index.html",第二个文件名应该代替:

代码语言:javascript
复制
<?php if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?>

应:

代码语言:javascript
复制
<?php if (isset($_GET['log_err'])) if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?>

在应用程序启动时,没有$_GET,所以它的存在应该是先测试。谢谢你的回应。

票数 0
EN

Stack Overflow用户

发布于 2016-12-08 11:32:22

这是你一次又一次面对的问题。在dev模式下,学习将变量转储到屏幕上,以查看服务器正在理解的内容。

在它最简单的形式中,您所要做的就是在代码下面执行此操作。

<?php var_dump($_GET); ?>

那么也许吧,var_dump($_GET["log_err"]);等等。

其他正确的答案无法忍受,哦,在发布代码之前,请检查您没有var_dump()语句。

祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41017531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档