在php中只初始化变量一次


Initialize the variable only once in php

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

我的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。对这个问题有什么指导吗?

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
}

?>

请试试这个。我在这里所做的,我只是检查了会话变量是否被分配或设置,如果它不可用,我将零赋值给它。否则,我允许它执行其他操作。

在你的第二页中,你应该在做一些关于session的事情之前启动session

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

这肯定会工作,请尝试一下。

请更改一个index2.php文件

必须在PHP启动后和定义变量

之前添加

session_start ();