Как вы можете скрыть / показать элемент HTML, основанный на ответе PHP?


2 принят

PHP начинался как язык шаблонов. Вы можете открывать теги PHP в середине разметки и условно добавлять HTML в свой документ.

Попробуйте это - если вы используете встроенные функции хэширования паролей в PHP:

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

1

Это должно дать вам хорошее начало.

В основном, что вы хотите сделать, сначала проверьте, чтобы форма была отправлена.

Как только вы узнаете, что форма была отправлена, вы хотите проверить, правильно ли пароль. Если пароль неверен, вы изменяете значение переменной $errorв true.

Затем, когда страница является рендерингом, оператор if, окружающий Ошибка пароля, будет либо отображаться, либо пропускаться в зависимости от значения $error

<?php
  session_start();

  $error = false;
  
  // if the form has been posted
  if ($_POST) {
    //Authenticate user

    // do db query and get users password

    if ($_POST['password'] == $password) {
      // success
      // redirect user to next page
    } else {
      $error = true;
    }
  }

?>

  <body>

    <div class="paper">
      <h3>Login</h3>
      <?php if ($error): ?>
        <div class="wrongpassword">
          <p>Your password is incorrect</p>
        </div>
      <?php endif; ?>
      <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>

JavaScript, PHP, HTML,

javascript,php,html,

0

Ответов: 2


2 принят

PHP начинался как язык шаблонов. Вы можете открывать теги PHP в середине разметки и условно добавлять HTML в свой документ.

Попробуйте это - если вы используете встроенные функции хэширования паролей в PHP:

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

1

Это должно дать вам хорошее начало.

В основном, что вы хотите сделать, сначала проверьте, чтобы форма была отправлена.

Как только вы узнаете, что форма была отправлена, вы хотите проверить, правильно ли пароль. Если пароль неверен, вы изменяете значение переменной $errorв true.

Затем, когда страница является рендерингом, оператор if, окружающий Ошибка пароля, будет либо отображаться, либо пропускаться в зависимости от значения $error

<?php
  session_start();

  $error = false;
  
  // if the form has been posted
  if ($_POST) {
    //Authenticate user

    // do db query and get users password

    if ($_POST['password'] == $password) {
      // success
      // redirect user to next page
    } else {
      $error = true;
    }
  }

?>

  <body>

    <div class="paper">
      <h3>Login</h3>
      <?php if ($error): ?>
        <div class="wrongpassword">
          <p>Your password is incorrect</p>
        </div>
      <?php endif; ?>
      <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>

JavaScript, PHP, HTML,
Похожие вопросы