更改页面时,PHP $ Globals变量重置为默认值

时间:2019-03-15 12:12:28

标签: php

我有一个名为vars.php的文件,该文件存储诸如数据库连接字符串和其他三个变量(让我们将它们称为$a$b$c之类的东西。这样设置

<?php
$dbname='MY_DB_NAME';
$dbusername='MY_DB_USERNAME';
$dbpassword='MY_DB_PASSWORD';
$database='MY_DB_SERVER';

$a = "";
$b = "";
$c = 0;
?>

在我的登录页面上,我输入一些数据,然后将其发送到API,该API返回我反序列化并存储在$ a,$ b和$ c中的一些JSON

if (!empty($data['SomeData']) {
    global $a, $b, $c; // same names as in the vars.php file
    $a = $data['SomeData']['param1'];
    $b = $data['SomeData']['param2'];
    $c = $data['SomeData']['param3'];
    header('Location: nextpage.php');
}

nextpage.php启动时,它要做的第一件事是调用一个帮助程序,该帮助程序调用API以获取其他数据。问题是当我点击nextpage.php时,$ a,$ b和$ c已恢复为默认值,而不是我为其设置的值(我也尝试过类似

$GLOBALS['c'] = $data['SomeData']['param3'];

但它还会返回默认值[在这种情况下为0])

以我的理解,这两种设置全局范围变量的方式都应该可以,但是我肯定会缺少一些东西。如何获得$ a,$ b和$ c以保留在第一页上设置的值?

由于这是公司的一项政策,因此不能选择使用cookie(不要问-他们花了很长时间才能同意一些非常简单的JS!)

0 个答案:

没有答案