1

検索結果を出力する検索ページがあります。検索を実行する前に、次の基準に基づいて結果をフィルタリングできます。

1. status 
2. order by
3. record type

レコードを表示すると、ユーザーはフォームの編集ページにリダイレクトされ、キャンセル ボタンをクリックすると、検索結果にリダイレクトされます。

これが私がやったことです:

  1. GET パラメータ (status、order_by、および record_type) をセッション変数に保存しました
  2. ユーザーが編集フォームで [キャンセル] をクリックすると、次のようにセッション変数を使用して検索結果にリダイレクトされます。

    if (@$_POST['cancelbtn']){

        if (isset($_SESSION['searchForm'])){
                header("location:searchForm.php?products=".$_SESSION['product']."&ticket_status=".$_SESSION['status']."&order_by=".$_SESSION['order_by']."&record_type=".$_SESSION['record_type']."&searchbtn=Go!");
        }
    

    }

上記は私にとってはうまくいきますが、これが最善の方法であるかどうか知りたいですか?ありがとう。

4

1 に答える 1

0

それは悪い方法ではありませんが、私はそれを少し証明しようと思います。セッションに個々の変数を格納する代わりに、URL を格納してみてください。そうすれば、検索フォームを変更していくつかの追加パラメータを持たせても、コードの大部分を変更する必要はありません。

//Your search results page
$_SESSION['searchResults'] = $_SERVER['REQUEST_URI'];

//Your form page
if (array_key_exists('cancelButton', $_POST) {
    header('Location: '.$_SESSION['searchResults']);
    exit;
}

お役に立てれば

于 2012-09-23T00:44:43.343 に答える