跨多个网页制作 PHP 全局变量

Making a PHP variable global accross multiple web pages

我是 PHP 的新手,如果这是一个幼稚的问题,我很抱歉,但我想构建一个 php 函数库,该函数库利用跨多个页面的全局变量。我正在使用这 3 个文件进行测试:

functions.php

<?php
    function report()
    {
        echo "Value = ".$GLOBALS["var"]; 
    }
?>

index.php

<?php
    $var = "ABC";
    require "functions.php";
    echo "<h1>index.php</h1>";
    report();
?>
<br /><br />
<input type=button onClick="location.href='page2.php'" value="Page2">

page2.php

<?php   
    require "functions.php";
    echo "<h1>page2.php</h1>";
    report();
?>

index.php 调用的 report 函数按预期响应 Value = ABC。但是当单击 Page2 按钮时,page2.php 调用的 report 函数显示 functions.php 中的 $GLOBALS["var"] 引发的 Undefined index 错误。

我想在从 page2.php 引用时使用 $GLOBALS["var"]。谁能告诉我如何启用它?感谢您的帮助!

首先,这里有一些您应该阅读的关于 $_SESSIONS 变量的链接。

我已经更新了你的代码,让你成为一个例子。

functions.php

<?php
function report()
{
    if(isset($_SESSION['var']))
        echo "Value = ". $_SESSION['var']; 
}
?>

index.php

<?php
        session_start();
?>
<html>
<head>
</head>
<body>
    <?php

        $_SESSION['var'] = "ABC";

        require('functions.php');
        echo "<h1>index.php</h1>";

        report();
    ?>
    <br><br>
        <input type="button" onClick="location.href='page2.php'" 
               value="Page2">
</body>

page2.php

<?php 
session_start();
?>
<html>
<head>
</head>
<body>
    <?php
         require ('functions.php');
         echo "<h1>page2.php</h1>";
         report();
     ?>
</body>
</html>

建议:声明您的变量。或者在引用它们之前使用 isset() 检查它们是否已声明。

其次你需要定义一个会话

<?php
function report()
{
    echo "Value = ". **$_SESSION['var']**; 
}
?>

并在您的所有页面中使用 :)

即,对于第 1 页,

<?php
        session_start();

        $_SESSION['var'] = "XYZ";

        require('functions.php');

        report();
    ?>

还有 fot page2,

<?php 
session_start();

require ('functions.php');
report();
?>

希望对您有所帮助:)