Php 具有特定id的Ajax发布说明
我有一个index.php文件,它保存一些客户机数据,每个客户机数据都有一个唯一的id。 “create-A-note”表单(使用ajax)向mysql表发送一条注释,并将该注释即时发布到index.php。 问题是我无法将客户端id转移到处理文件,因此所有记录都显示在所有客户端上: index.phpPhp 具有特定id的Ajax发布说明,php,jquery,Php,Jquery,我有一个index.php文件,它保存一些客户机数据,每个客户机数据都有一个唯一的id。 “create-A-note”表单(使用ajax)向mysql表发送一条注释,并将该注释即时发布到index.php。 问题是我无法将客户端id转移到处理文件,因此所有记录都显示在所有客户端上: index.php echo " <div class='note' id='typenote".$clients_id."'> <form>*the form*</form>
echo "
<div class='note' id='typenote".$clients_id."'>
<form>*the form*</form>
</div>
<div id="notes"></div>
";
Process.php
include("connect.php");
$action=$_POST["action"];
if($action=="shownotes"){
$show=mysql_query("Select * from sys_notes order by note_id desc");
etc...
}
}
else if($action=="addnote"){
etc...
问题是。。。
如何获取$client\u id的值
Select * from sys_notes WHERE client_id=$client_is order by note_id desc
在process.php-file中,是否在我的showNote()脚本id(#notes)中填充了正确的注释?为什么要将查询字符串放在
数据中data
需要对象数组,或者必须将查询字符串放入url
$.ajax({
type:"post",
url:"process.php",
data:{user: user, note: note, client_id: client_id, action: "addnote"},
success:function(data){
showNote();
}
});
或(方法2)
然后,您可以使用$\u POST['client\u id']
访问客户机id,或者使用$\u GET['client\u id']
访问(方法2)三件事:
1-如果您必须或更好地了解PDO,请不要使用mysql函数(没有人应该)使用mysqli
2-使用$\u SESSION global保存诸如user和userID之类的内容(这样他们就无法处理它并更改/显示其他用户的数据)
3-对于你的问题,我看到你已经发送了客户id,为什么不直接从那里获取它呢
希望这有帮助客户端ID不应与表单一起发送,因为表单可能会被客户端操纵。这意味着一个客户端可以通过更改html中的数字来为另一个客户端添加注释
我假设您的客户端已登录,并且ID存储在会话中,因此您只需在php文件中访问它,如(仅举一个示例):
3-是的,但只有在我发布数据时才是这样。第一个操作($action==“show notes”)显示到目前为止已发布的注释,提交表单时会发送客户端id。。。有没有办法将id拉到$action==“show notes”?您可以使用隐藏字段选项并在页面之间传输它,或者最好使用会话来保存请求之间所需的数据。第一种方法用于发布!谢谢,但那只是在我发布数据的时候。第一个操作($action==“show notes”)显示到目前为止已发布的注释,提交表单时会发送客户端id。。。有没有办法将客户端id拉到$action==“show notes”?
$.ajax({
type:"post",
url:"process.php",
data:{user: user, note: note, client_id: client_id, action: "addnote"},
success:function(data){
showNote();
}
});
$.ajax({
type:"post",
url:"process.php?user="+user+"¬e="+note+"&client_id="+client_id+"&action=addnote",
success:function(data){
showNote();
}
});
$_SESSION['client']['id'];