当用户尝试再次输入用户名时,如何删除“您已注销”

Posted

技术标签:

【中文标题】当用户尝试再次输入用户名时,如何删除“您已注销”【英文标题】:How can I remove "you've been logged out" when user tries to enter username again 【发布时间】:2014-06-17 15:16:36 【问题描述】:

当用户注销时,他们会被重定向回登录表单。登录表单查看 login.php?logout=true url,如果 logout=true,则显示“您已成功注销”。不完全确定该怎么做,否则任何人都可以输入 logout=true 并看到该消息。

一旦用户尝试再次输入他们的用户名/密码,我该如何删除该文本?

login.php 看起来像这样:

<form method="post" action="login.php">

  <fieldset>

  <?php if ($disp_msg)  ?>
  <p><?php print($disp_msg); ?></p>
  <?php  ?>

  <p><input type="text" name="username" placeholder="username"></p>
  <p><input type="password" name="password" placeholder="password"></p>
  <p><input type="submit" value="Login"></p>

  </fieldset>

</form>

我假设我必须使用 javascript,尽管我不熟悉它。很可能会在每个输入类型字段中使用 onFocus 或 onClick 以某种方式清除 $disp_msg 的输出

【问题讨论】:

使用 javasript onkeypress 事件。 好的。以及如何清除打印后的 $disp_msg? 【参考方案1】:

我添加了两个 ID。一个用于显示消息,另一个用于输入框。

<?php if ($disp_msg)  ?>
<p id="msg"><?php print($disp_msg); ?></p>
<?php  ?>

<p><input type="text" name="username" placeholder="username" id="username"></p>
<!-- other input fields -->
</fieldset>
</form>

<!-- jQuery Code -->
<script>
$('#username').keypress(function(e) 
   $('#msg').empty();
);
</script>

DEMO

##################################################################

<!-- without jquery -->
<!-- Add attribute onKeyPress in username input field. -->
<input type="text" id="username" onKeyPress="fun()"/>
<!-- and add this just before you </head>. Remove previous jquery code-->
<script>
    function fun()
        
            document.getElementById('msg').innerhtml="";
        
</script>

DEMO

【讨论】:

对我不起作用。 jquery 代码需要放在表单下方还是可以放在 部分? 您需要添加 jquery 库。在&lt;/head&gt;&lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"&gt;&lt;/script&gt; 之前添加这个,然后在上面代码之后和&lt;/head&gt;之前将该 jquery 代码包含在脚本标记中。 演示作品。像你说的那样复制了所有内容,对我没有任何帮助。 删除 jquery 库和 jquery 代码并查看编辑和第二个演示。我能做的就这些了 好的,所以

以上是关于当用户尝试再次输入用户名时,如何删除“您已注销”的主要内容,如果未能解决你的问题,请参考以下文章

4.4 CSRF防御

c-string用户输入为空时如何发送错误消息?

输入法评价

向用户显示他已注销

颤振:如何在登录表单中自动填写密码

javascript清除数组