在onclick php之后更新表

时间:2012-12-01 17:04:19

标签: php javascript mysql ajax onclick

我构建系统通知并让我遇到问题。

对于记录的用户来说,我需要在“new = 1”到new =“0”之后点击更新表'通知'。

在用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,每个人都可以更新彼此的通知,这不是安全。

我很抱歉我的英语,如果我不明白你可以提问。 谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

并在处理您的ajax请求时从您的代码中访问它。

$_SESSION['user_id']


 如果你使用cookies,你仍然可以从服务器端代码接受它。

$_COOKIE["user_id"]; 
will do it.

只需确保将withCredentials属性设置为true。

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