这可能是一个愚蠢的问题,因为我刚刚学习 PHP、jquery/ajax 甚至 javascript。我无法将变量传递给 PHP 以查询 MYSQL 服务器。我将变量传递给 newCharacter.php 中以下 HTML 中的 javascript 函数:
Choose your name:<input type='text' id='name'
onchange="verifyName(this.value)">
然后我尝试通过以下代码将其发送到 PHP 页面。
function verifyName(name) {
$.ajax({
url: "Classes/pc.php",
type: "POST",
data: {
'name': name
}
});
<? php
echo pc::nameTaken($_SESSION['name']).';'; ?>
}
但是,我在页面源中收到以下错误:
var result = 0;
<br />
<b>Notice</b>: Undefined index: name in
<b>D:\Server\htdocs\dungeonexplorers\newCharacter.php</b>
on line <b>33</b><br /> ;
我究竟做错了什么?据我了解,POST 会话变量没有正确传递。
编辑:添加 Pc 类(相关部分)
public static function nameTaken($name)
{
try{
$db = DBConnect::connect();
$result = $db->prepare('SELECT name
FROM pc WHERE name=:name LIMIT 1');
$result->bindParam(':name',$name);
$result->setFetchMode(PDO::FETCH_ASSOC);
$result->execute();
$return = $result->fetchAll();
if ($return)
{
return true;
}
else{
return false;
}
}
catch (PDOException $e)
{
Echo 'PDO error: ' . $e->getMessage() . '<br>';
}
catch (Exception $e)
{
Echo 'General Error retrieving username and password.<br>';
}
}