Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';管理跨多个php页面共享的变量的最佳方法是什么?_Php_Mysql_Variables - Fatal编程技术网

什么';管理跨多个php页面共享的变量的最佳方法是什么?

什么';管理跨多个php页面共享的变量的最佳方法是什么?,php,mysql,variables,Php,Mysql,Variables,我有一些页面共享一个公共变量。起初,我只是复制了$max=196编码到每个页面以进行更新。这显然是一种不好的方法,因为这需要做很多工作,而且很容易出错。我想改变它,这样我就可以在一个地方改变这个变量的值,并且在任何地方都可以使用这个值 现在,我把包括'rises.php'而不是实际变量,并且rises.php的内容是 我也试过 将196保存到.txt文件中,并使用`fopen()打开每个页面 创建一个只包含此变量名及其值的小MySQL表 所以我的问题是 当多个页面需要使用变量时,管理变量的最

我有一些页面共享一个公共变量。起初,我只是复制了
$max=196编码到每个页面以进行更新。这显然是一种不好的方法,因为这需要做很多工作,而且很容易出错。我想改变它,这样我就可以在一个地方改变这个变量的值,并且在任何地方都可以使用这个值

现在,我把
包括'rises.php'而不是实际变量,并且rises.php的内容是

我也试过

  • 196
    保存到.txt文件中,并使用`fopen()打开每个页面
  • 创建一个只包含此变量名及其值的小MySQL表
所以我的问题是


当多个页面需要使用变量时,管理变量的最佳方法是什么?在我的例子中,它只有5-6页,但每一页都会加载很多次。

您可以使用会话变量

session_start();
$_SESSION['max'] = 96;
//to print your variable
echo $_SESSION['max'];
PHP提供了一种在页面之间持久化数据的方法

以下是您如何使用它们:

  • 在每页的顶部添加
    。它应该是php文件的绝对第一行,甚至在任何空行之前


  • 在要设置变量的页面中,执行以下操作:
    $\u SESSION['name']=“value”

  • 在您想要检索变量的页面中,它是相反的:
    $foo=$\u SESSION['name']


  • PHP将负责传递值。您不必包含任何特殊文件或担心数据库

    然而,会议不是永久性的。它不是放置设置和“常量”的地方。因此,您当前的解决方案很好。不过,对于短暂的数据,建议使用会话



    “在页面中,您是否要设置变量”。。。就是这样。。。 可以先加载这些页面中的任何一个。所有的页面都是 彼此独立。它在哪里加载原始变量


    使用来解决这个问题。

    最好的方法是创建具有数组(建议$params)的特殊Singleton类,然后包含此Singleton并在每个页面上使用params。
    您必须实现这样的功能

    看看您需要的可能是互斥锁。而且,编写可重用代码始终是一个好主意,关于这个问题的答案也是如此。在单独的文件中进行配置是可以的,会话与这个问题完全无关。因此,您当前的解决方案是可以接受的,并且比sessions@zerkms是正确的-如果它只是一个需要在各种文件中使用的值,那么将其放入一个include文件就是一种方法。不知道为什么你觉得需要多次加载它-只需在页面顶部包含一次,然后根据需要使用它。当然,除非每次使用时都要修改它,否则该值会一直保持不变吗?或者,您是否需要在页面中更新它,并且它应该反映在所有页面中?它是只读值吗?否该值每隔几天更改一次。我想在一个地方更改它,所有页面都显示更新的值。我目前的方法确实有效,但我不确定是否将所有这些包含都放在一个文件中是一个好主意。为什么不像OP目前那样将其保存在一个文件中?“您不必包含任何特殊文件”--但您确实需要担心到处都有
    session\u start()
    。那么有什么区别呢?“在页面中,您是否想要设置一个变量”。。。就是这样。。。可以先加载这些页面中的任何一个。这些页面都是相互独立的。它在哪里加载原始变量?我看不出这对我的问题有什么帮助。我是否必须将
    $\u SESSION['max']=96在我的所有页面上?如果是这样的话,那么我将不得不在所有页面上更新它,这使得它毫无意义。我在这里错过了什么?你不必。只需在一个页面中定义$\u会话['max']。然后,您可以在所有页面中使用此会话变量。这看起来很有趣。有没有我可以看的示例代码?那个链接上的wiki是空白的,所以我没什么要说的。在下载部分你们可以找到这个链接