【问题标题】:Changing PHP Session variables on click event在点击事件上更改 PHP 会话变量
【发布时间】:2015-10-28 06:14:21
【问题描述】:

请帮我解决这个问题。它很小,但给我带来了很多麻烦。我在 index.php 中设置了会话变量,当单击锚标记时,它不会更改会话变量。 相关PHP部分:

session_start();
$_SESSION["amount"] = "99";

现在是 html 部分(在同一个 PHP 文件中)。

<a onclick="change('<?php echo $_SESSION['amount']='399'; ?>')" href="#"><h4>Order 399</h4></a>

<a onclick="change('<?php echo $_SESSION['amount']='200'; ?>')" href="#"><h4>Order 200</h4></a>

我正在检查同一文件中另一个 div 中的 Session 变量的值。

<td>Amount: <?php echo $_SESSION["amount"] ?> </td>

点击“订单 399”后显示的值为 200。

如何更改会话变量?我是在混合客户端和服务器端吗? 请帮助我并建议最短的方法。

【问题讨论】:

  • 是的。您正在混合客户端和服务器端。寻找 ajax。
  • 你需要潜入ajax
  • 您需要使用 AJAX 来实现这一点。您似乎对客户端代码和服务器端代码之间的区别感到困惑。
  • 是的,您正在混合客户端和服务器端。 PHP 代码在 HTML 代码中解释。因此,您在第二个锚标记中将 Session-Variable 设置为 200,并在此标记的 onclick 属性中打印类似“change ('200')”的内容。 “更改”是 Javascript 函数,不尊重 PHP。

标签: javascript php jquery html session


【解决方案1】:

其实你是在搞混!

可以这样做:

你需要一个 js 函数,它调用一个 PHP 文件,然后它会改变会话变量的值。 并且不要忘记:通过 JS 找到当前加载页面上的所有值,因为它们不会立即更改。当然,它们会在页面重新加载时更改,但如果您想避免页面重新加载,请更改页面上当前的值。

jQuery ajaxappend 将在这里提供巨大的帮助。

如果你试过了,还是有问题,那就再问,不过请自己先试试!

【讨论】:

    【解决方案2】:

    您的会话参数的最后一个值是 200,您需要发送一个 ajax 请求,然后检索您的参数的最新更改值。

    您不应该在“查看”端口中进行更改。

    【讨论】:

      猜你喜欢
      • 2010-12-04
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多