【问题标题】:How to store multiple form $_POST in session如何在会话中存储多个表单 $_POST
【发布时间】:2020-11-06 05:00:49
【问题描述】:

我尝试将每个从输入发送的 $_POST 存储在 $_SESSION 中, 所以我有搜索栏,有人可以多次发送查询,最终从搜索中获得所有查询的结果。 我的问题是,$_SESSION 每次只存储最后一次表单操作。同时,我检查他的查询是否在数据库中并显示数据库中的数据,如果它存在

function search()
{
    session_start();
    if (isset($_SESSION['fraza'])) {
        $_SESSION['fraza'] = array();
    }

    global $wpdb, $user_ID;
    $query_form_value;
    $data = array();
    $table_name = $wpdb->prefix . 'pozycje';
    $domain = get_site_url();

    if (isset($_POST['wyszukaj']) && !empty($_POST['wyszukiwarka'])) {
        $search_array = array();
        $array_exists = array();
        $sql = ('SELECT * FROM wp_pozycje ');

        $fraza = $_POST['wyszukiwarka'];
        //array_push( $search_array, $fraza);

        array_push($_SESSION['fraza'], $fraza);

        $exists_results = $wpdb->get_results($sql);

        print_r($_SESSION['fraza']);
        echo '</br>';

        foreach ($exists_results as $exists) {
            $array_exists[] = $exists->numer;
        }

        $results_array = array_intersect($search_array, $array_exists);
        echo 'tablica z bazy</br>';
        print_r($array_exists);

        echo 'tablica z porownania</br>';
        print_r($results_array);

    }
}

search();

【问题讨论】:

    标签: php wordpress session


    【解决方案1】:

    您每次都使用此代码重置数组:

    if (isset($_SESSION['fraza'])){
        $_SESSION['fraza']= array();
    }
    

    我猜您正在尝试检查此索引 fraza 是否存在。如果不存在,则创建。在这种情况下,请改用! isset

    if (!isset($_SESSION['fraza'])){
        $_SESSION['fraza']= array();
    }
    

    【讨论】:

    • 我同意,您在每次请求时都重置此值。
    • 这就是为什么“简单”的$foo[]= 语法比array_push 更可取,恕我直言。您可以执行$_SESSION['fraza'][] = $fraza;,而无需事先检查$_SESSION['fraza'] 是否确实存在,此时PHP 将创建正确的数组,而不是抱怨。通过 array_push 完成同样的事情,得到一个“警告:array_push() 期望参数 1 是数组,给定 null”
    • 没问题@ncti ..如果它适合你,请将答案标记为已接受,以帮助其他人解决同样的问题。
    猜你喜欢
    • 2013-11-08
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 2023-03-22
    • 2015-11-20
    • 2013-08-28
    • 2017-10-07
    • 1970-01-01
    相关资源
    最近更新 更多