0

検索エンジンに少し問題があります。$_POST検索結果は問題なく出力されますが、ページネーションリンクをクリックすると、もちろん配列がなくなったため失敗します。私はこのコードを使用しています:

if(empty($_POST) == false) {

    $res = $search->search_ads($_POST);

    if($res == false) {
       $view->setData('numres', 0);
    } else {
        $view->setData('numres',$res[2]);
        $view->setData('adverts', $res[0]);
   }

   $app->view()->setData('paginate', $res[1]);
   $app->render('search.tpl');
} else {
   $app->render('404.tpl');
}

fx "Page 2" をクリックすると、404 テンプレートが表示されます。

$_POST配列を保持してsearch_ads関数で再利用する方法はありますか?

「paginate」には、ページネーション用の HTML が含まれています

<li><a class=\"paginate\" href=\"$target?page=$next_page&ipp=$this->items_per_page\">«</a></li>":"<li><span class=\"inactive\" href=\"#\">«</span></li>
4

3 に答える 3

2

セッションを使用します。

session_start(); //on the top of your php file.
...

if(!empty($_POST))
   $_SESSION['post_data']= $_POST;
...

if(empty($_SESSION['post_data']) == false) {
$res = $search->search_ads($_SESSION['post_data']);
...

}
于 2013-08-13T13:08:12.040 に答える
0

データを渡すために使用する方法であるため、後続のページで $_POST ではなく$_GETを確認する必要があります。

href=\"$target?page=$next_page&ipp=$this->items_per_page\"

キーと値のペアを含む $_GET 配列を提供します。

$_GET['page'] = value of $next_page 
$_GET['ipp']  = value of $this->items_per_page
于 2013-08-13T13:09:49.940 に答える
0

投稿配列を変数に格納し、それを別の場所で使用しますか?

$post_array = $_POST;
$res = $search->search_ads($post_array);
于 2013-08-13T13:06:23.427 に答える