使用php、javascript和ajax进行简单登录

使用php、javascript和ajax进行简单登录,javascript,php,json,ajax,Javascript,Php,Json,Ajax,因此,我目前正试图完成一个学校项目,但目前仍坚持使用php、javascript、json和ajax创建登录名。我知道如何仅使用php进行简单登录,但我是使用javascript和ajax的新手。我们不允许使用jQuery或mySql,所以只能使用php、javascript、ajax和json。提前谢谢你的帮助 这是我的ajax.js文件 var ajaxRequest = new XMLHttpRequest(); function init(){ var button = doc

因此,我目前正试图完成一个学校项目,但目前仍坚持使用php、javascript、json和ajax创建登录名。我知道如何仅使用php进行简单登录,但我是使用javascript和ajax的新手。我们不允许使用jQuery或mySql,所以只能使用php、javascript、ajax和json。提前谢谢你的帮助

这是我的ajax.js文件

var ajaxRequest = new XMLHttpRequest();

function init(){
    var button = document.getElementById('button');
    button.addEventListener("click", sendRequest, false);
}

function sendRequest(){
    ajaxRequest.onreadystatechange = getRequest;

    var user = input.value['username'];

    ajaxRequest.open("POST", "loggIn.php", true);
    ajaxRequest.send(user);
}

function getRequest(){
    if (ajaxRequest.readyState==4 && ajaxRequest.status==200){

        var jsonObj = JSON.parse(ajaxRequest.responseText);

        if(jsonObj !== 'undefined'){
            window.location.replace('privat.php');
        }
    }
}

window.addEventListener("load",init,false);
所以我有几个问题,关于这个,它是有效的使用吗

var user = input.value['username'];
或者有没有其他方法可以从用户输入的表单“username”中获取值

此外,此功能:

function getRequest(){
    if (ajaxRequest.readyState==4 && ajaxRequest.status==200){

        var jsonObj = JSON.parse(ajaxRequest.responseText);

        if(jsonObj !== 'undefined'){
            window.location.replace('privat.php');
        }
    }
}
在它从loggIn.php文件得到响应并且用户输入正确后,我希望它重定向到“privat.php”,但不确定如何重定向

以下是我的代码的其余部分: privat.php

<a href="loggOut.php">Logga ut</a>

<br>
<?php
echo "user:" . $_SESSION['user'];
?>


loggIn.php

<?php
    session_start();

    if(isset($_POST['username'])){
        $_SESSION['user'] = $_POST['username'];

        echo json_encode($_SESSION['user']);
    }

?>
<!DOCTYPE html>
<html lang="sv">

<head>
    <meta charset="utf-8" >
    <title>Sessioner</title>
    <script type="text/javascript" src="ajax.js"></script>
</head>

<body>
<form method="post">
    Username: <input type="text" name="username" size="20" /><br />
    Password: <input type="password" name="password" size="20" /><br />
    <input type="submit" id="button" value="Logga in" name="login"/>
</form>
</body>
</html>

接线员
用户名:
密码:
loggOut.php

<?php
session_start();

$_SESSION = array();
session_destroy();

header("Location: loggIn.php");
?>

var user=input.value['username']绝对无效。您需要使用以下选项之一:

var user = document.forms[0].elements['username'].value;    
var user = document.querySelector('form').elements['username'].value;
var user = document.querySelector('[name="username"]').value;
如果您还没有了解CSS选择器,我建议您选择第一个选项

var user = input.value['username'];
上述说法是错误的

可以使用以下命令获取表单元素:

var username = document.forms["loginform"]["username"].value;
给表单命名,就可以得到输入字符串