PHPステートメント内でいくつかのJavaScriptおよびjquery ajaxコードをエコーし、jquery ajaxからmysqlクエリを送信しようとしています。Facebook と同じように、ユーザーの名前とその前にある [友達リクエストの送信] ボタンを動的に入力します。
コードのごく一部を以下に示しますが、なぜ機能しないのか理解できません。request.php ファイルのステートメントは実行されず、データベースに変更はまったく発生しません。
echo '<input type = "button" id = "' . $data['user_id'] . '" value = "Send Friend
Request" onClick = "send_request(this.id);"/>' ;
上記のhtmlや連結で全く問題ありません。それは絶対に問題ありません。関数内で使用しています。ajax部分だけが機能していません。これがphpコードです。request.php には、接続が確立された後のデータベースへのクエリのみが含まれています。
echo "<script type = 'text/javascript'>" ;
echo "function send_request(_id)
val = document.getElementById(_id).value ;
if (val == 'Send Friend Request')
val = 'Cancel Friend Request' ;
else
val = 'Send Friend Request' ;
document.getElementById(_id).value = val ;
$.ajax
(
{
type: 'post',
url: 'request.php',
data: {id: _id}
}
) ;
}" ;
echo "</script>" ;
request.php
$id = $_POST['id'] ;
$userid = $_SESSION['userid'] ;
$query = "INSERT INTO friend (friend_id, user_id) VALUES ('$id', '$userid')" ;
$result = mysql_query($query)