【问题标题】:Setting the session on click of a button单击按钮设置会话
【发布时间】:2013-12-12 07:24:21
【问题描述】:

我想在单击按钮时设置会话变量。但是如果不点击那个按钮,会话变量就会被设置。

我的代码有什么问题?请帮忙..!!

我的脚本是 -

<script> 
$(document).ready(function(){
  $("#next").click(function(){
    <? $_SESSION["s_id"]=mt_rand(); ?>
    location.reload();
  });
});
</script>

【问题讨论】:

  • 查看生成的 HTML 源代码以了解问题所在。

标签: javascript php jquery session onclick


【解决方案1】:

PHP 在您看到该站点之前被执行。如果这个 js 被渲染,php 已经完成了它的工作,不会再做任何事情了。如果您想通过单击 div 来设置会话,则必须创建一个表单并使用 $_POST 将请求发送回服务器。

记住:你永远不能在 javascript 中执行这样的 php 代码。 javascript是客户端,而php是服务器端。

【讨论】:

  • 如果是这样(php代码不在javascript中执行),那么我的会话变量是如何设置的,因为这个随机函数正在执行并且变量被设置。请告诉。
  • 看:这个文件在服务器上。当您要求它(您是客户端)时,它通过仅在服务器上的 php-parser 发送。他在这个文件中寻找所有的“”并执行它。他忽略了它周围的一切,他甚至不知道它是什么。解析器生成 html 代码并将其发送给您。如果你有这个页面,PHP 什么也不做,因为它完成了它的工作。查看您的 html 页面(右键单击 -> 查看源代码),您会明白我的意思。
【解决方案2】:

需要在文档输出任何数据之前设置会话变量。您可以使用 AJAX 调用来允许在按下按钮时在外部文件中设置会话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2015-03-25
    • 2023-04-10
    • 2013-07-12
    相关资源
    最近更新 更多