我正在为一个学期的项目应用程序制作一个管理界面。AJAX和PHP;没有通过变量或不工作?
我们最后的责任是做一个管理页面。我设置了管理员应该访问的所有内容(更新用户信息,删除用户,重置统计信息等),除了最重要的一点:创建新用户。
当我输入数据来创建用户时,数据库中没有新的东西显示出来。试用一个标准的查询(没有变量,你会看到下面),但仍然没有任何东西让我相信它根本没有访问变量。
我的JavaScript AJAX:
function createNewUser()
{
if (confirm("Are you sure you wish to create this user?") == true)
{
createNewUserAJAX();
}
}
function createNewUserAJAX()
{
var fName = document.getElementById('ADDFirstName').value;
var lName = document.getElementById('ADDLastName').value;
var user = document.getElementById('ADDUserName').value;
var password = document.getElementById('ADDPassword').value;
var password2 = document.getElementById('ADDPassword2').value;
var slateID = document.getElementById('ADDSlate').value;
var keeperID = document.getElementById('ADDKeeper').value;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(user+" created successfully!");
toggleCreateUserInterface();
}
}
if (password == password2)
{
xmlhttp.open("GET","AddUserAJAX.php?uname="+user+"&pwd="+password+"&slate="+slateID+"&keeper="+keeperID+"&fName="+fName+"&lName="+lName, true);
xmlhttp.send();
}
else
{
alert("Passwords must match");
}
}
我ADDUserAJAX.php网页上的代码:
<?php
$userName = mysql_real_escape_string($_GET['uname']);
$pw = mysql_real_escape_string($_GET['pwd']);
$slateID = mysql__real_escape_string($_GET['slate']);
$keeperID = mysql_real_escape_string($_GET['keeper']);
$fName = mysql_real_escape_string($_GET['fName']);
$lName = mysql_real_escape_string($_GET['lName']);
mysql_connect('127.0.0.1', 'root', '');
@mysql_select_db('slatekeeperdatabase') or die("Unable to select database");
$lastUserQuery = mysql_query("select max(userID) from users;");
$lastUserID = mysql_result($lastUserQuery,0);
$newUserID = $lastUserID+1;
$lastStatsQuery = mysql_query("select max(statsID) from stats;");
$lastStatsID = mysql_result($lastStatsQuery,0);
$newStatsID = $lastStatsID+1;
//$query= "INSERT INTO users VALUES (".$newUserID.", ".$fName.", ".$lName.", ".$pw.", ".$userName.", '', 1, 1000, 100, ".$slateID.", ".$keeperID.", ".$newStatsID.", 0)";
$query2 = "insert into users values (9, 'James','Lom', 'red','jlom4', '', 1, 1000, 100, 1, 1, 1, 0);";
mysql_query($query2);
mysql_close();
?>
$ query变量是什么,我想试图打通。 $ query2只是测试查询,以检查它是否甚至通过(它不是)
任何帮助,非常感谢。这很奇怪,因为我之前用测试数据得到了它的工作(从来没有和我实际试图通过的东西一起工作)。也许我把一些不正确的语法放在了某处我找不到的地方......(哦,POST会在所有的工作都被使用之后使用,安全性并不是我们最关心的问题)
您是否使用浏览器测试了'ADDuserAJAX.php'? –
是的,我已经这么做了。 –
我更新了我的答案,你可以检查 –