我正在尝试在 Intranet 站点的 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 的初学者。
帮助表示赞赏。
射线。