【问题标题】:$_SESSION does not save status$_SESSION 不保存状态
【发布时间】:2018-11-10 16:01:13
【问题描述】:

我正在为 Wordpress 开发一个插件,我的问题是当我尝试保存一些数组、消息或按钮状态时并没有保存它。我需要帮助!!

    if($strA2==$strB2) {
         echo "<li>"."Esto le puede interesar! " . $v1;
         $interest_post[]=$v1;
         $_SESSION['array_interes'] = $interest_post;

         //Boton Eliminar
         echo '<form action="" method="post">';
         echo '<input type="submit" value="Eliminar" name='. $cont_remove_button .' />';
         echo '</form>';

         if(isset($_POST[$cont_remove_button])){
            unset($interest_post[$cont]);
            $_SESSION['mensaje_eliminado'] = "Elemento eliminado";

            echo $_SESSION['mensaje_eliminado'];
            $suggest[]=$v1;
            $_SESSION['array_sugerencia'] = $suggest;

          }
          $cont_remove_button=$cont_remove_button+1;
          $cont=$cont+1;
          }else{
            $suggest[]=$v1;
            $_SESSION['array_sugerencia'] = $suggest;
          }
        }
}

当我按下一个按钮然后另一个按钮时,我试图澄清更多,第一个按钮的动作没有保存。我不知道我是否正确使用了 $_SESSION 或者有其他方法可以做到这一点。

【问题讨论】:

  • 在拨打$_SESSION 之前,您是否有session_start()
  • @IsThisJavascript 是的,我有 session_start()...
  • 不要使用核心 php 会话语法使用 wordpress 会话语法。你试过了吗?
  • @AkshayShah 我试过了: add_action('init', 'cyb_session_start', 1);函数 cyb_session_start() { if( ! session_id() ) { session_start(); } }
  • @AkshayShah 但是没用

标签: php html wordpress plugins


【解决方案1】:

您必须在开始前检查状态:

PHP >= 5.4.0 , PHP 7 版本的推荐方式

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

参考:http://www.php.net/manual/en/function.session-status.php

对于 PHP

if(session_id() == '') {
    session_start();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多