だから私がする必要があるのは、ajax を使用してテキスト ボックスから名前を取得し、それを php スクリプトに送信してから、php の結果を出力することだけです。
これが私がこれまでに持っているものです:
<form action="" method="POST">
Are you in the deathnote? <br/>
Name: <textarea type="text" name="checkname"></textarea>
<input type="submit" value="Submit" onclick="namecheck()">
</form>
<div id="coddisp"> Nothing yet </div>
そして、ここに私が持っているajaxがあります:
<script>
function namecheck() {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("coddisp").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "check.php", true);
xmlhttp.send();
}
</script>
PHPスクリプトで行われるのは、「checkname」というテキストボックスの名前でSQLデータベースをクエリし(POSTを使用)、その名前に関連する段落をエコーすることだけです。徹底的なテストを通じて、php スクリプトが AJAX なしで機能することはわかっています。
したがって、私が今持っているものでは、URL のテキストボックスから名前を送信しますが、coddisp
div は空白のままにします。
アイデアはありますか?
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' &&
isset($_POST['checkname']))
{
$link = mysqli_connect('localhost', 'rhoiydsc_testusr', 'Pass123!', 'rhoiydsc_deathnote');
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "SELECT cod FROM deathnote WHERE victim=?")) {
/* bind parameters for markers */
mysqli_stmt_bind_param($stmt, "s", $_POST['checkname']);
/* execute query */
mysqli_stmt_execute($stmt);
/* bind result variables */
mysqli_stmt_bind_result($stmt, $cod);
/* fetch value */
mysqli_stmt_fetch($stmt);
echo $cod;
/* close statement */
mysqli_stmt_close($stmt);
}
/* close connection */
mysqli_close($link);
}
?>
編集:PHPコードが追加されました