更改全局变量并从另一个.php文件中获取更改的值

时间:2014-05-09 00:13:26

标签: php global-variables

我试图用按钮改变背景颜色,我可以这样做,但是如果我改变了页面,我就无法获得变量的变化值。也许这是一种愚蠢的方式来做到这一点;我不知道,但我希望不是。

家功能-fullwidth.php:

<?php
global $arka;
$arka = 'wall2';
$button = 'button2';

if (isset($_POST['button2'])) {
    $arka = "wall";
    $button = 'button1';
}
if (isset($_POST['button1'])) {
    $arka = "wall2";
    $button = 'button2';
}

echo '<div class="home-featured-full ' . $arka . '">';?>
// codes and close </div>

<form class="padding" method="POST" action=''>
    <?php echo '<input id="iki" type="submit" name="' . $button . '"  value="Change BackGround">'; ?>
</form>

单视频fullwidth.php:

<?php 
echo '<div class="' . $arka . ' full-width-video-layout">' ?>codes and close </div>

希望你能提供帮助。

2 个答案:

答案 0 :(得分:0)

HTTP是一种无状态协议,PHP实现不会尝试解决此问题。这意味着,全局变量只是针对单个请求设计为全局变量。

简而言之:来自一个PHP请求的变量通常在另一个PHP请求中不可用。

由于您的场景很常见,因此存在sessions的构造,允许您在会话中存储变量&#34;&#34;并在以后的请求中检索它。阅读PHP会话,它们易于使用,并且大部分都足以供单服务器使用。

答案 1 :(得分:0)

使用以下方法创建文件:

<? PHP session_start();

echo "this is the first file";

$_SESSION['global'] = "From the first file";

?>

使用以下方法创建其他文件:

<? PHP session_start();

echo "this is the second file";

if(@isset($_SESSION['global'])){
    echo $_SESSION['global'];
}
?>