0

我正在创建一个模拟微博网站的基本 Web 应用程序。

当用户登录时,MySql 查询结果中的一些帐户信息存储在 session 变量中,以启用对用户的跟踪。所以 userID、userName、userEmail 等。

在用户点击提交的创建帖子页面上,一个外部链接的 javascript 文件开始工作,它有自己的事件处理程序,其余部分使用 AJAX,然后将结果输出到当前的“创建帖子网页”。

显然,在创建帖子时,我需要存储用户 ID,但我似乎无法将其传递给 AJAX。

我正在考虑的解决方案是创建一个隐藏输入字段,并将用户 ID(数字)放在占位符中,然后在 JS 文件中使用 DOM 并调用 doc.getelementby 来找出用户 ID 是什么,我可以为帖子标题和帖子内容做到这一点,但显然希望隐藏用户 ID,所以有没有办法可以在创建帖子页面上对用户隐藏它(它目前是一个 php 会话变量)和将它传递给 Ajax 函数来创建帖子?

4

2 回答 2

0

也许您的 AJAX 脚本可以调用一个后端 PHP 文件,该文件通过 $_SESSION['userName']、$_SESSION['userEmail'] 等访问会话变量并执行您需要它做的任何事情(例如,代表用户)。

换句话说,PHP 作用于当前登录的用户(由用户无法访问的会话变量标识),并且 JavaScript 根据您发回给它的任何响应更新 UI。

于 2013-03-15T03:21:48.767 回答
0

您可以使用隐藏的输入来完成您的想法,只需在隐藏字段中散列用户 ID。您可以通过 PHP 在服务器端对其进行散列,甚至在保存到数据库之前通过 PHP 发布散列值和解密。使用 jQuery,您可以通过以下方式获取隐藏字段的值:

val userID = $('#userID').val();

工作量比老式document.getElementById方法略少。

于 2013-03-15T04:44:59.563 回答