首页 > 解决方案 > 在登录模式上显示错误

问题描述

我有一个通过按钮单击显示的有效登录表单,我可以登录但它不显示错误

显示带有功能的登录表单的按钮(在单独的文件中):

<button type="button" class="btn btn-lg btn-success" name="button" onclick="signin()" id="signin">Login</button>

function signin()
  {
    jQuery('#login-form').css("display","block");
    jQuery('#reg-form').css("display","none");
    jQuery('#signin').css("display","none");
    jQuery('#signup').css("display","block");
  }

带有 php 的模式(包含在按钮所在的文件中):

<?php

$email = ((isset($_POST['Email']))?$_POST['Email']:'');
$password = ((isset($_POST['Password']))?$_POST['Password']:'');
$errors = array();
?>

<div class="" id="login-form" style="display:none">
  <img class="Lpic" src="img/loginpic.png">
  <br>
  <div class="fieldtext">
    <h2 class="text-center">Login</h2>
  </div>
  <br>
  <div>

    <?php
      if($_POST)
      {
        //form validation
        if(empty($_POST['Email']) || empty($_POST['Password']))
        {
          $errors[] = 'Please enter email and password';
        }

        //check if email exists
        $query = $db->query("SELECT * FROM users WHERE Email = '$email'");
        $user = mysqli_fetch_assoc($query);
        $userCount = mysqli_num_rows($query);
        if($userCount < 1)
        {
          $errors[] = 'Unknown email, pleas verify';
        }

        if(password_verify($password, $user['Password']))
        {
          $errors[] = 'Password doesn\'t match, try again';
        }


        if(!empty($errors))
        {
          echo display_errors($errors);
        }else{
          //log user in
          $user_id = $user['ID'];
          login($user_id);
        }
      }
    ?>

  </div>
  <form action="Login.php" method="post">
    <div class="inputfield">
      <div class="form-group">
        <label for="Email">Email</label>
        <input type="email" name="Email" id="Email" value="<?=$email;?>">
      </div>
      <div class="form-group">
        <label for="Password">Password</label>
        <input type="password" name="Password" id="Password" value="<?=$password;?>">
      </div>
    </div>
    <div class="form-group">
      <input type="submit" value="Login" class="btn btn-success btn-block">
    </div>
  </form>
</div>

PS:login() 是一个登录用户的函数,关于如何在不使用警报的情况下显示错误的任何建议???TIA

标签: phplogin

解决方案


尝试在您的 php 文件顶部设置以下内容

ini_set('display_errors', 1);
error_reporting(E_ALL);

希望这可以帮助。您可能还想看看这个答案


推荐阅读