イントラネットサイトのphpディレクトリに簡単な「これを見た」関数を作成しようとしています。
したがって、ユーザーがページを読んだら、下部にある「これを読みました」というボタンをクリックして、ユーザーのユーザーIDとページIDを単純なデータベーステーブルに送信し、他の用途に使用できるようにします。
私はAJAXとPHPでそれをやろうとしています。
これが私のコードです:
<SCRIPT LANGUAGE="JavaScript">
function viewSave(form) {
var itemid = <?php echo $itemid; ?>;
var userid = <?php echo $userid; ?>;
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.open("GET","saveView.php?q=itemid="+itemid+"&userid="+userid,true);
xmlhttp.send();
}
</script>
そして、私は隠しフィールドを持つ単純なフォームを設定しました:
<form onSubmit="return viewSave(this)" >
<input type="submit" name="submit" value="Save" />
</form>
[送信]をクリックすると、URLが変更され、次のような変数が取得されます。
thispage.php?itemid = 455&userid = 999&submit=保存
ただし、「saveView.php」は呼び出されず、データは送信されません。
saveView.phpの内容は次のとおりです。
<?php
$userid =$_GET["userid"];
$itemid = $_GET["itemid"];
// Connect to the database
$dbc = mysqli_connect('localhost', 'root', '', 'viewsave');
// Write the data to the database
$query = "INSERT INTO saves (entryID, userid, itemid) VALUES ( '0', '$userid', '$itemid')";
mysqli_query($dbc, $query);
?>
URLパラメータはフォームのせいでしか表示されておらず、JavaScriptに何か問題があると思います。
私はJSの初心者です。
感謝します。
レイ。