- ベストアンサー
フレームでページ分かれていてもPOSTやGETする値を保持したい
わたしが3年前に質問したものですが、 http://oshiete1.goo.ne.jp/qa1612121.html このNo2さんの例示をそのまま組み込んでみたのですが、 元質問にあるように、上段フレームでPOSTした検索条件を 下段フレームで受け取ります。 例示の場合、下段フレームでソートをかけると 上段で設定した検索条件がリセットされてしまうわけですが、 どうやったら回避できるでしょうか。 フレームで分けずに一枚のPHPで完結すべきでしょうか? あるいは、POSTされた検索条件をSESSIONなどで保持しなければ だめでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1です。 生成しているURLのGETパラメータに検索条件をつけるというのではダメでしょうか。 その際検索条件がPOSTで渡ってきたら新規、GETで渡ってきたら引き継ぐような分岐をさせてurlを生成してやればいいと思います。 余談ですが、urlのクエリ部分の生成はhttp_build_query()を使うと少し楽かもしれません。 http://jp2.php.net/manual/ja/function.http-build-query.php
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
最近はフレームは流行ってないように思えます。 HTMLの本質から言ってもあまりフレームはいい技術とはいえません。 私も個人的にいくつかのシステムを組みましたが、基本的には フレームわけしないものがほとんどです。 どうせなら一意性をたかめるためには脱フレームした方がなにかと わかりやすく、問題も減らせるとおもいます。 とはいえ、今回の件はいくつか対応の仕方もあるでしょう。 (1)セッションをつかってデータをとっておく (2)ソートをするトリガーにアンカーを使っているのであれば GET方式でパラメータをつないでいく (3)ボタンもしくはサブミットでのソートであれば、hiddenでデータの 引継ぎをおこなう
お礼
yamabejpさん、毎度お世話になってます。 > どうせなら一意性をたかめるためには脱フレームした方がなにかと > わかりやすく、問題も減らせるとおもいます。 アドバイスありがとうございました。 今回だけは、諸事情で、フレームを使わざる得ない状況です。 今後の参考とさせていただきます。 > とはいえ、今回の件はいくつか対応の仕方もあるでしょう。 > (1)セッションをつかってデータをとっておく > (2)ソートをするトリガーにアンカーを使っているのであれば > GET方式でパラメータをつないでいく > (3)ボタンもしくはサブミットでのソートであれば、hiddenでデータの > 引継ぎをおこなう やっぱり、結構ややこしい処理を追加することになりますね。 ご提示のアイデア、大変参考になりました。 ありがとうございました。
- UmJammer
- ベストアンサー率58% (115/196)
No2の方の回答が二つあるのですが、ANo.2とANo.3のどちらを参考にしているのでしょうか。
補足
すみません、No2を参考としておりました。
お礼
UmJammerさん、アドバイスありがとうございました。 御礼遅くなってすみません。 その後もいろいろ機能の追加も必要になって、 GETで渡した方がよさそうだという結論になりました。 http_build_queryというのも知りませんでしたし、 いただいたアドバイスが大変参考になりそうです。