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>';
}
}