如果登录失败,如何在没有页面刷新的情况下制作php登录表单?

时间:2015-05-20 18:35:43

标签: php jquery ajax

我的标题几乎全部说明了,我想制作一个登录表单,如果登录失败则不会刷新页面,但如果登录成功,它应该指引我到正确的页面:)

<?php
$errormessage = "";
session_start();
if (@$_SESSION['logged_in'] == TRUE) {

    header("Location: index-users.php");
    exit();
}

if ( isset($_POST['username']) && isset($_POST['password']) ) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $db = new mysqli('localhost', 'root', '', 'dbname');

    $query = "SELECT * FROM dbname_users WHERE username = '$username' AND  password = '$password'";

    $result = $db->query($query);

    $rows = $result->num_rows;


    if($rows == 1){
        $_SESSION['logged_in'] = TRUE;
        while ($row = $result->fetch_assoc()) {
            $_SESSION['user_id'] = $row['ID'];
        }
        header("Location: index-users.php");
    }
    else{
        $errormessage = "Forkert brugernavn eller adgangskode!";
    }
}
?>

<form action="login.php" method="post">
    <input type="text" name="username" placeholder="Username">
    <input type="password" name="password" placeholder="Password">
    <input type="submit" value="Login">
    <p><?=$errormessage;?></p>
</form>

任何人都知道如何做到这一点? :)

2 个答案:

答案 0 :(得分:3)

您需要将其与AJAX或jQuery代码结合使用。 它不仅仅是php!

检查一下: - jquery login form in div without refreshing whole page

答案 1 :(得分:-1)

function myBad() {
    $.post("http://localhost/vivsang/logbase.php", {
        login : $("#mylogin").serialize()
    }, function (login) {
        if (login == 'true') {
            window.location = 'home.php';
        } else {
            alert('Wrong username or password!');
        }
    });

使用此jQuery代码进行登录。您必须先了解放置它的位置以及如何使用它。