在php中只初始化一次变量

时间:2016-11-15 10:20:56

标签: php session

我遇到了一个需要初始化会话变量一次的问题。当他点击提交并返回同一页面时,应该更改变量值。

我的index.php代码是这样的:

<?php
session_start();
$_SESSION['session_variables_updated'] = 0;
?>
<form name="" method="post" action="index2.php">
    <input type="submit" value="Submit" name="Submit">
</form>

if ($_SESSION['session_variables_updated'] == 1) {
    //do something
}

我的index2.php是:

<?php $_SESSION['session_variables_updated'] = 1; ?>
<a href="index.php">back</a>

但是由于变量再次被初始化,因此每次都设置为0。关于这个问题的任何指导?

2 个答案:

答案 0 :(得分:0)

请更改一个index2.php文件

你必须在php开始之后和定义变量之前添加

在session_start();

希望你看到这个后有所了解。

答案 1 :(得分:0)

index.php

<?php
session_start();
if(!isset($_SESSION['session_variables_updated'])){
    $_SESSION['session_variables_updated']=0;
}
?>
<form name="" method="post" action="index2.php">
    <input type="submit" value="Submit" name="Submit">
</form>
<?php
if ($_SESSION['session_variables_updated'] ==1){
//do something
}


?>

请试试这个。我在这里做了什么,我刚刚检查了会话变量是否被分配或设置,如果它不可用,我将零分配给它。否则我允许它执行另一个动作。

在你的第二页中你应该在开始会话之前开始会话

<?php
session_start();
$_SESSION['session_variables_updated'] = 1;
?>
<a href="index.php"> back </a>

确定这将是pleaase尝试的工作。这适用于我的情况