2

当使用 XMLHttpRequest 由 javascript 调用时,我的 php 文件 (login.php) 运行时遇到问题。当我从 url 运行 php 文件时,它工作正常,但似乎没有被 XMLHttpRequest 调用。我对此很陌生,并且正在努力使其正常工作。

javascript 文件只是获取用户名和密码,并将它们作为参数发送到 url 中的 php 文件。Php 文件日志检查数据库是否正确组合。

我的 Javascript 文件:

函数登录(){

if (window.XMLHttpRequest)
{
    xmlhttp = new XMLHttpRequest();
}
var usename = document.getElementById("userName").value;
var password = document.getElementById("password").value;

var url = "login.php?q=" + usename + "&x=" + password;
xmlhttp.open("POST", url, false);
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlenclosed');
xmlhttp.onreadystatechange = function() {
                        if (xmlhttp.readyState == 4){
                            alert("GOOD");
                        }}
xmlhttp.send(url);
alert(url + xmlhttp.status);
}

function logInClick(){
    logIn();
}

window.onload = function() {
    document.getElementById("AboutMe").onclick=aboutMessage;
    document.getElementById("ContactMe").onclick=contactMessage;
    document.getElementById("submitButton").onclick=logInClick;
}

我的 PHP 文件:

 <?php
$host="localhost";
$username="root";
$password="";
$db_name="website";
$tbl_name="users";

mysql_connect("$host","$username","$password")or die("Cannot Connect");
mysql_select_db("$db_name")or die("Cannot Select DB");

$inputUserID=$_POST['q'];
$inputPassword=$_POST['x'];
//$encrpytedPassword=md5($inputPassword);

$inputUserID = stripslashes($inputUserID);
$inputPassword = stripslashes($inputPassword);
$inputUserID = mysql_real_escape_string($inputUserID);
$inputPassword = mysql_real_escape_string($inputPassword);

$sql = "SELECT * FROM $tbl_name WHERE userID='$inputUserID' and Password='$inputPassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if ($count==1){

    session_start();
    $_SESSION['userID']=$inputUserID;
    //change this at some point
    header("location:regularUserLoggedIn.html");

} else {
    header("location:www.yahoo.com");
}
?>

任何帮助都会很棒。谢谢。

4

2 回答 2

0

PHP 脚本的第一行是标题。脚本的执行在 header 之后停止。尝试删除该行,然后先回显您在服务器上获得的内容..

于 2012-11-17T02:50:47.890 回答
0

The first line of your php code redirects to another page. The result of the javascript returns will be the redirected page content rather than the outputted content of your code.

P.S. Your javascript code has security issues that others can steal the passwords easily.

于 2012-11-17T03:01:47.317 回答