我的登录表单始终被拒绝

时间:2016-11-24 07:29:42

标签: php mysql

我创建了一个简单的登录表单。当我输入正确的usernamepassword时,它始终显示拒绝访问的消息。

verify.php:

<?php 

session_start();

$conn = mysqli_connect('localhost','root','') or die(mysqli_error());
mysqli_select_db($conn,'maindata') or die(mysqli_error($conn));

$uname=$_POST['username'];
$pass=$_POST['password'];
$password = md5($pass);

$result = mysqli_query($conn,"select * from users where username='$uname' and password='$password'")
    or die("Could not execute the select query.");

$row = mysqli_fetch_assoc($result);

if(is_array($row) && !empty($row))
    {
        $validuser = $row['username'];
        $_SESSION['valid'] = $validuser;
    }
else
    {
        echo "<center></h1>Access Denied</h1></center>"."<br />";
        echo "<center></h6>Please wait while you are redirected in 3 seconds</h6></center>"."<br />";
        header('Refresh: 3; url=login.html');
    }


if(isset($_SESSION['valid']))
    {
        header("Location:index.html");
    }

的login.html:

<?php
session_start();

if(isset($_SESSION['valid'])){
    header("Location:index.html");
}
else
{
    header("location:login.html");
}
?>

<form method="post" action="verify.php" class="login" class="contact_form">
<p>
  <label for="login">Email:</label>
  <input type="text" name="username"  placeholder = "Enter Username Here...">
 </p>

 <p>
  <label for="password">Password:</label>
  <input type="password" name="password"  placeholder = "*******">
 </p>

 <p class="login-submit">
  <button type="submit" class="login-button">Login</button>
 </p>

 <p class="forgot-password"><a href="#">Forgot your password?</a></p>
 </form>

1 个答案:

答案 0 :(得分:0)

你自己编写代码循环,Login.html检查用户是否已登录(由于他们无法登录而无法登录)并将其从Login.html重定向到Login.html,这意味着你永远不会输入你的php码。在尝试访问登录页面时,您不应该检查用户是否已经登录。

另外你应该考虑制作一个文件来检查用户是否已登录,它可能是这样的:

checkloggedin.php

<?php
     if (session_status() == PHP_SESSION_NONE) {
     session_start();
     }
     if($_SESSION['loggedin'] == false)
     {
     die(header("Location: ./index.php"));
     }
?>

当您需要检查用户是否已登录时,您可以通过以下方式关闭页面:

<?php
include"checkloggedin.php"
?>
相关问题