• ベストアンサー

フレームでページ分かれていてもPOSTやGETする値を保持したい

わたしが3年前に質問したものですが、 http://oshiete1.goo.ne.jp/qa1612121.html このNo2さんの例示をそのまま組み込んでみたのですが、 元質問にあるように、上段フレームでPOSTした検索条件を 下段フレームで受け取ります。 例示の場合、下段フレームでソートをかけると 上段で設定した検索条件がリセットされてしまうわけですが、 どうやったら回避できるでしょうか。 フレームで分けずに一枚のPHPで完結すべきでしょうか? あるいは、POSTされた検索条件をSESSIONなどで保持しなければ だめでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.3

ANo.1です。 生成しているURLのGETパラメータに検索条件をつけるというのではダメでしょうか。 その際検索条件がPOSTで渡ってきたら新規、GETで渡ってきたら引き継ぐような分岐をさせてurlを生成してやればいいと思います。 余談ですが、urlのクエリ部分の生成はhttp_build_query()を使うと少し楽かもしれません。 http://jp2.php.net/manual/ja/function.http-build-query.php

litton101
質問者

お礼

UmJammerさん、アドバイスありがとうございました。 御礼遅くなってすみません。 その後もいろいろ機能の追加も必要になって、 GETで渡した方がよさそうだという結論になりました。 http_build_queryというのも知りませんでしたし、 いただいたアドバイスが大変参考になりそうです。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

最近はフレームは流行ってないように思えます。 HTMLの本質から言ってもあまりフレームはいい技術とはいえません。 私も個人的にいくつかのシステムを組みましたが、基本的には フレームわけしないものがほとんどです。 どうせなら一意性をたかめるためには脱フレームした方がなにかと わかりやすく、問題も減らせるとおもいます。 とはいえ、今回の件はいくつか対応の仕方もあるでしょう。 (1)セッションをつかってデータをとっておく (2)ソートをするトリガーにアンカーを使っているのであれば GET方式でパラメータをつないでいく (3)ボタンもしくはサブミットでのソートであれば、hiddenでデータの 引継ぎをおこなう

litton101
質問者

お礼

yamabejpさん、毎度お世話になってます。 > どうせなら一意性をたかめるためには脱フレームした方がなにかと > わかりやすく、問題も減らせるとおもいます。 アドバイスありがとうございました。 今回だけは、諸事情で、フレームを使わざる得ない状況です。 今後の参考とさせていただきます。 > とはいえ、今回の件はいくつか対応の仕方もあるでしょう。 > (1)セッションをつかってデータをとっておく > (2)ソートをするトリガーにアンカーを使っているのであれば > GET方式でパラメータをつないでいく > (3)ボタンもしくはサブミットでのソートであれば、hiddenでデータの > 引継ぎをおこなう やっぱり、結構ややこしい処理を追加することになりますね。 ご提示のアイデア、大変参考になりました。 ありがとうございました。

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.1

No2の方の回答が二つあるのですが、ANo.2とANo.3のどちらを参考にしているのでしょうか。

litton101
質問者

補足

すみません、No2を参考としておりました。