你怎么能隐藏/显示基于PHP响应的HTML元素?

时间:2017-05-17 00:28:39

标签: javascript php html

我想让我的网站更加用户友好。我希望如此,如果用户输入的密码不正确,则会显示HTML元素<div class="wrong password">。此元素应仅显示我的PHP脚本是否显示密码不正确,否则它将被隐藏,就好像它不存在一样。我怎么能这样做? HTML是一种非常静态的语言。我的第一个想法是我需要使用javascript,但我不知道该怎么做。

考虑代码:

  <?php
  session_start();

  //Authenticate user

  //Wrong password!

?>

<body>

  <div class="paper">
    <h3>Login</h3>
    <div class="wrongpassword"><p>Your password is incorrect</p></div>
    <form action="login.php" method="post" enctype="multi-part/form-data">
      Username:<br>
      <input placeholder="Username" name="username" type="text" autofocus><br>
      Password:<br>
      <input placeholder="Password" name="password" type="password"><br>
      <br>
      <input name="login" type="submit" value="login">
    </form>
    <hr>
    <p>Need a account? <a href="register.php">Sign up here!</a></p>
  </div>
</body>

2 个答案:

答案 0 :(得分:2)

PHP最初是一种模板语言。您可以在标记的中间打开PHP标记,并有条件地将HTML添加到文档中。

试试这个 - 假设你在PHP中使用内置的password hashing函数:

<?php 
if (!password_verify($password, $hash)) {
     echo '<div class="wrongpassword"><p>Your password is incorrect</p></div>';
}
?>

答案 1 :(得分:1)

这应该会给你一个良好的开端。

基本上您要做的是先检查表单是否已提交。

一旦您知道表单已提交,那么您需要检查并查看密码是否正确。如果密码不正确,则将变量wget -r --spider的值更改为true。

然后当页面呈现时,将根据$error

的值呈现或跳过围绕密码错误的if语句

&#13;
&#13;
$error
&#13;
&#13;
&#13;