如何管理网站上的变量而不会破坏不同用户的价值

时间:2016-07-28 12:59:58

标签: php variables

<?php
    $value = $_POST['value'];   //line 1
    /* Some piece of code which really takes some time to execute */
    echo "Value is :" .$value;  // line 1000
?>

在上面的php代码中,我有一个变量$ value,它保存用户输入值。 假设这个特定页面一次被多个用户访问,变量的值如何不受特定用户的影响? 让我明白我的问题。 假设用户'A'访问我的页面并将变量$ value的值设置为10(第1行), 当执行第1000行时,他应该得到他输入的值作为输出显示。 我知道从第1行到第1000行到达编译器不会花费太多时间,但考虑到最坏的情况 如果第1行和第1000行之间的代码需要一些时间来执行(例如2秒),那么另一个用户“B”登录并且 将变量$ value的值设置为99(第1行),第二个用户的值是否会影响第一个用户的值? 我试过这个但是没有像我期望的那样得到任何错误。我想知道为什么会这样?

2 个答案:

答案 0 :(得分:2)

  

对特定用户不受影响?

每个php脚本都有自己的线程。

用户无法更改其他用户的内容。

或者假设一个运行两次的PHP脚本无法操纵另一个。

(仅当您使用会话且同一用户在浏览器中两次调用脚本时,每个TAB都没有自己的会话)

有点像你两次开始编程。

答案 1 :(得分:-1)

您做的那一刻:$_POST['value'] $value的值被复制到$_POST['value']:不是通过引用而是通过值;因此,即使在$value之后发生了20,000行,只要没有重新加载页面; $value仍然包含分配给它的原始/初始数据; 除非您或其他人有权访问 $value = 'new value'; ,并执行以下操作: $value 其他那些,(并且只要< / em> $value 未在代码中的任何位置被覆盖:) {{1}} 仍将保留并保留其值直到脚本结束。