【问题标题】:Unset canceling out if statement取消设置取消 if 语句
【发布时间】:2013-06-18 06:56:06
【问题描述】:

我设置了一个名为 errors 的会话。当我检查它是否已设置然后调用一个函数然后取消设置会话变量时,就好像 if 语句被取消了。

代码:

if(isset($_SESSION['errors'])){
          output_errors($_SESSION['errors']);
          unset($_SESSION['errors']);
          }

它应该输出错误然后取消设置。似乎未设置发生在 if 语句之前。

更新:如果未设置被删除,它应该正常工作

output_errors 给想要的人。

 function output_errors($error){


        echo '<font color="red">' . $error . '</font>';
                echo '

        <script type="text/javascript">
            $(document).ready(function() {

            var blind = document.getElementById("blind");
    var container = document.getElementById("login");
    blind.style.display = "block";
    container.style.display = "block";

            });
    </script>

        ';


    }

【问题讨论】:

  • 您是否在使用它的每个页面上都开始会话 (session_start();)?
  • 是的,如果我取出未设置的,它可以正常工作
  • 脚本后面有输出缓冲或重定向吗?
  • @user2067005 output_errors() 的代码是什么
  • 不,我没有任何重定向,但我有 4096 的输出缓冲

标签: php


【解决方案1】:

这样做,将此变量分配给另一个变量并将它们用作输出函数的参数:

if(isset($_SESSION['errors'])) {
  $errors = $_SESSION['errors'];
  output_errors($errors);
  unset($_SESSION['errors']);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-03
    • 2013-01-17
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2014-07-09
    • 2018-07-16
    相关资源
    最近更新 更多