【发布时间】:2013-12-11 21:22:43
【问题描述】:
我有一个表单,它有两个名为 firstname 和 lastname 的输入字段,以及一个名为的提交按钮 提交。输入字段使用 twitter 的 typeahead.js 和自定义事件触发器 (typeahead:selected)
因此,当从下拉列表中选择名字时,我在触发器中有一个 ajax 调用,它发布 所选人员的注册号到另一个php页面(xyz.php)。
在 xyz.php 上
如果我将该注册号存储在变量中$link = POST['number'];
现在这工作正常了。
但问题是当我单击按钮时,我对同一个 php 文件进行了另一个 AJAX 调用。 现在我不能使用 $link。它说注意:未定义的索引:数字
无论如何我可以让我的变量永久存储数据吗?
【问题讨论】:
-
您需要将其存储在数据库或会话中,具体取决于您希望它可用多长时间。
-
也许在第二篇文章中也包含该值?每个页面请求都是它自己的上下文,每次都完全构建服务器端代码。因此,除非您将值保存在代码之外的某个位置(会话和数据库是常用方法),否则您需要再次提供该值。 (注意:如果您第一次所做的只是存储值,那么可能甚至不需要第一篇文章?只需在第二篇文章中包含该值即可。)
-
Http 本质上不允许持久化。您需要拥有一个数据库,将数据写入文件,或将其存储在会话变量中以实现您想要的。 Reference
-
我想我必须先深入研究会话。因此,一旦用户从输入字段的下拉列表中选择了他的姓名,就会对另一个文件进行 ajax 调用,在该文件中我必须使用 $_Session['enrollmentno'] 然后我希望此会话尽快结束当用户输入新名称时。我应该什么时候放置 session_destroy()?
标签: php forms jquery twitter-bootstrap typeahead.js