Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AJAX将POST(或GET)数据发送到PHP脚本_Php_Ajax_Post_Get - Fatal编程技术网

使用AJAX将POST(或GET)数据发送到PHP脚本

使用AJAX将POST(或GET)数据发送到PHP脚本,php,ajax,post,get,Php,Ajax,Post,Get,我试图在一个php目录中为一个intranet站点构建一个简单的“我查看了这个”函数 因此,当用户阅读了页面后,他们会单击底部的一个按钮,上面写着“我已经阅读了”,该按钮会将用户的用户ID和页面ID发送到一个简单的数据库表中,然后我可以获取该表以供其他使用 我正在尝试用AJAX和PHP来实现它 这是我的密码: <SCRIPT LANGUAGE="JavaScript"> function viewSave(form) { var itemid = <?php echo $ite

我试图在一个php目录中为一个intranet站点构建一个简单的“我查看了这个”函数

因此,当用户阅读了页面后,他们会单击底部的一个按钮,上面写着“我已经阅读了”,该按钮会将用户的用户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>   

函数viewSave(表单){
var itemid=;
var userid=;
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“GET”、“saveView.php?q=itemid=“+itemid+”&userid=“+userid,true”);
xmlhttp.send();
}
我设置了一个带有隐藏字段的简单表单:

<form onSubmit="return viewSave(this)" >
<input type="submit" name="submit" value="Save" />
</form>

当我单击submit时,URL会更改,我会得到变量,如下所示:

thispage.php?itemid=455&userid=999&submit=Save

但是不会调用“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);

首先,您的
php
文件需要一个名称:

xmlhttp.open("GET","save.php?
然后,您的参数需要名称:

xmlhttp.open("GET","save.php?q=itemid="+itemid+"&userid="+userid,true);
然后,在PHP中,您可以使用
$\u GET
来获取数据(并检查它是一个数字):


离题,但如果使用jquery,您可以在浏览器兼容性方面节省大量时间和麻烦。为什么要将这些值嵌入到JS和表单中
…php?q=“+itemid,userid
也没有达到您预期的效果。谢谢您,亚当!我尝试了您的代码,但仍然无法将数据传输到数据库…我已对上述代码进行了编辑。
if(array_key_exists('itemid', $_GET) && !is_nan($_GET['itemid'])) {
    $itemid = $_GET['itemid'];
}