我的PHP调用没有按正确的顺序进行

时间:2013-11-17 13:10:35

标签: php

更新:阅读了我尝试过的所有建议!isset()但这似乎也不起作用。

如果有4次调用PHP文件,它们似乎必须同时到达所以当我执行时

if(!isset($_SESSION['element_01']) ){$_SESSION['element_01'] = "Something";}

似乎有2或3个调用都发现$ _SESSION ['element_01']未设置!

必须有解决方案!

=============================================== =============================

我有一个应用程序,可以从

中调用一个php文件
<img src="myfile.php" />

以下是一个例子:

<img src="http://myserver.com/demo/?element=1" ></img>
<img src="http://myserver.com/demo/?element=2"></img>
<p>Check out our amazing site for everything we offer</p>
<img src="http://myserver.com/demo/?element=3"></img>
<img src="http://myserver.com/demo/?element=20"></img>

当我将元素值发送到error_log时,每个人都调用我的index.php文件,我在php_error.log中得到以下内容:(注意:它们似乎是随机顺序)

[17-Nov-2013 12:53:54] Element = 2
[17-Nov-2013 12:53:54] Element = 1
[17-Nov-2013 12:53:54] Element = 20
[17-Nov-2013 12:53:54] Element = 3

事情是我首先调用element = 1,因为我存储会话并使用$ _SESSION ['element_01']作为其他人的指南,但是因为它们似乎以随机顺序到达index.php导致PHP错误,例如:

PHP Notice: Undefined offset:  -1 in http://myserver.com/demo/index.php on line 133

许多用户可以同时到达示例网页,以防万一。

所以我的问题:

  1. 有没有办法解决这个问题,或者有没有办法确保以正确的顺序调用它们?我可能做错了什么?。
  2. 谢谢。

2 个答案:

答案 0 :(得分:1)

此顺序取决于您无法控制的因素(例如,用户的浏览器首先询问的内容以及请求到服务器的流量)。您不能依赖此订单进行任何程序。

在打印图片之前,您必须在其他地方执行此步骤。或者在使用之前检查是否定义了该变量(查看isset()语言构造),如果没有,则创建它。

答案 1 :(得分:0)

我认为没有特定的方法来获取按特定顺序加载的图像(或任何其他类型的资源)。我相信你应该用AJAX或任何其他方式加载这些图像而不是信任浏览器。