当使用 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");
}
?>
任何帮助都会很棒。谢谢。