• 締切済み

携帯サイトで、ページジャンプ

携帯サイトで、 DBを検索した結果によって、ページをジャンプさせるスクリプトを書きたいのですが、検索結果を判断するところまでは、わかるのですが、ジャンプさせる方法がわかりません。 header(Location: ); ですと、既にヘッダ情報を読み込んでいるために、エラーになってしまいます。 初歩的な問題と思っているのですが、Googleなどで昨日より検索しているのですが、思った回答が見つかりません。 有識者の方、お力を貸していただけませんか?

みんなの回答

回答No.2

何かを吐き出す前に分岐ロジックを入れると問題ありません。 例えば <html> <head><title>aaa</title></head> <?php 分岐ロジック ?> <body> ..... とかでは駄目です。 いきなり、 <?php switch(環境変数){ case(A): header("Location: ./i/");//imode用  exit(); break; case(B): header("Location: ./ez/");//ezweb用  exit(); break; .....以下略 ?> と言うような分岐だけのphpプログラムを作ればまず問題無いと思います。 どうしても先にヘッダ部を書きたい場合はまとめて吐き出すように出力制御関数を使う手もあります(echoでダエラーダンプする場合はこれを使うと便利です)。

参考URL:
http://php.s3.to/man/ref.outcontrol.html
dev14
質問者

補足

ありがとうございます。 私が、根本的に理解していないのかも知れませんが、 たとえば、ユーザーにテキストで、番号の入力をさせて、 検索ボタンを押したときに、検索結果に応じたページにジャンプさせたいのです。 ですから、どうしても<BODY></BODY>の中に書かれるロジックになると思っています。

noname#8825
noname#8825
回答No.1

携帯サイトのことはよくわかりませんが、header を、<html> や <HDML> の後ろに置いていませんか? ドキュメント開始のタグより前に置けば、問題ないと思われますが、どうでしょうか?

dev14
質問者

お礼

ありがとうございます。 headerを使うということは、そのように使わなければなりませんね。 header以外の方法がないものかと思っていました。 include()で分岐ごとに別ページを呼ぶという方法も考えたのですが、ページ全体を変えたいので、もう一歩です。

関連するQ&A