簡體   English   中英

如何在 session 中存儲多個表單 $_POST

[英]How to store multiple form $_POST in session

我嘗試將每個從輸入發送的 $_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();

您每次都使用以下代碼重置數組:

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

我猜您正在嘗試檢查此索引fraza存在。 如果不存在,則創建。 在這種情況下使用! isset 代替! isset

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM