onclick php之后更新表

onclick php之后更新表,php,javascript,mysql,ajax,onclick,Php,Javascript,Mysql,Ajax,Onclick,我生成系统通知,但遇到问题 我希望在为已登录的用户单击从“new=1”到“new=0”之后更新表“notifications” 如何在使用ajax或其他工具单击后更新数据库。 如果我使用ajax发送请求服务器,如下所示: function readNotifications(str) { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari

我生成系统通知,但遇到问题

我希望在为已登录的用户单击从“new=1”到“new=0”之后更新表“notifications”

如何在使用ajax或其他工具单击后更新数据库。 如果我使用ajax发送请求服务器,如下所示:

        function readNotifications(str)
    {
    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("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","controlpanel.php?notification=readNews",true);
    xmlhttp.send();
    }
服务器不知道要更新警报的用户ID。 如果我在某个时间发送用户ID,就可以更改用户ID,每个人都可以更新彼此的通知,这不是安全性

对不起,我的英语不好,如果我不懂你可以问一个问题。
谢谢大家!

我认为用户登录后,最好将用户id保存在会话变量中

<?php
session_start();
// store session data
$_SESSION['user_id']=100001;
?>

如果您使用cookie,您仍然可以从服务器端代码接受cookie

$_COOKIE["user_id"]; 
will do it.
只需确保将withCredentials属性设置为true

var req= new XMLHttpRequest();
req.withCredentials = true;

您的问题是唯一的服务器不知道什么是用户id还是超过?我使用cookie,但这对我没有帮助。并且可以更改会话。我无法理解它与凭据的关系。我觉得它不适合我。
var req= new XMLHttpRequest();
req.withCredentials = true;