Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在if条件内,将变量切换为true、false、true、false_Php - Fatal编程技术网

Php 在if条件内,将变量切换为true、false、true、false

Php 在if条件内,将变量切换为true、false、true、false,php,Php,我真的不明白发生了什么事。当您单击名为“SubmitTriageRechePrix”的submit按钮时,变量$triagePrixDESC将为true。但是,当您再次单击它时,变量$triagePrixDESC似乎将重置,然后它将再次显示为true。我想要的是能够单击一次提交按钮,然后我的var被定义为true,然后如果你再次单击它,它将是false,等等。我该怎么做 if(Input::exists('submitTriageRecherchePrix')) { if($triage

我真的不明白发生了什么事。当您单击名为“SubmitTriageRechePrix”的submit按钮时,变量$triagePrixDESC将为true。但是,当您再次单击它时,变量$triagePrixDESC似乎将重置,然后它将再次显示为true。我想要的是能够单击一次提交按钮,然后我的var被定义为true,然后如果你再次单击它,它将是false,等等。我该怎么做

if(Input::exists('submitTriageRecherchePrix')) {
    if($triagePrixDESC) {
        $triagePrixDESC = false;
    } else {
        $triagePrixDESC = true;
    }

    var_dump($triagePrixDESC);
}

要保持状态,您需要使用会话:

session_start();

if(Input::exists('submitTriageRecherchePrix')) {
    if($_SESSION['triagePrixDESC']) {
        $_SESSION['triagePrixDESC'] = false;
    } else {
        $_SESSION['triagePrixDESC'] = true;
    }

    var_dump($_SESSION['triagePrixDESC']);
}
在您使用的任何框架/库中都可能有一些
会话


我很好奇,所以我看了看。您可能正在使用
FuelPHP
所以:

每次脚本运行时,变量都会被重置。看看会话,让变量在HTTP请求中持久化。(
session\u start()
位于PHP顶部,而
$\u session['triagePrixDESC']
作为变量…)谢谢!!我真的不知道为什么我没有意识到。。
if(isset($_POST['submitTriageRecherchePrix'])){
     $triagePrixDESC = false;
    } else {
        $triagePrixDESC = true;
    }
var_dump($triagePrixDESC);
}