0

我有一个表格,用户可以在其中输入一条信息。一旦他们提交表单,它就会调用我的 php 脚本来执行操作并吐出信息。

php 脚本进行网络调用,我正在尝试对其进行设置,以便代码在一个 url 和另一个 url 之间交替。

我尝试使用 getter 和 setter 来执行此操作,但我认为问题在于没有持久变量,因此始终调用第一个代码块。

有没有办法在 PHP 中存储一个变量,所以如果我可以让代码在不同的会话之间交替?因此,如果一个唯一用户使用该表单,它将调用第一个 url,然后另一个唯一用户或同一用户输入另一条信息,它将改为调用备用 url。

4

2 回答 2

1

有多种方法可以完成此操作,具体取决于所需的确切行为。如果您希望唯一用户始终看到相同的 URL,但不同的用户看到随机选择的 URL,只需将其写入会话即可。

无论您是否想要任何会话亲和力,您都可以随时进行折腾(随机选择)。此外,如果您想要严格交替选择而不是随机均匀分布,您将不得不以某种方式(数据库、文件等)保持状态。

如果您使用的是 APC 或 Memcache,则可以得到与保持状态相同的结果,而不会降低性能。

于 2012-08-20T21:30:01.373 回答
1

您可以将自己的变量添加到 SESSION 数组中。这将在页面加载之间被“记住”。

if(!isset($_SESSION['MyOwnSessionVariable']))
  $_SESSION['MyOwnSessionVariable'] = "New data";

$MySessionData = $_SESSION['MyOwnSessionVariable'];

当您第一次加载页面时$_SESSION['MyOwnSessionVariable']将不存在。这样您就可以知道何时进行初始化。

每次页面加载后,$_SESSION['MyOwnSessionVariable']将是“新数据”;$_SESSION 变量是每个会话的,因此当您同时有多个用户时这不是问题。

于 2012-08-20T21:34:44.163 回答