• 締切済み

別ファイルに飛ばす方法

<body> aaa<br> <?php .... if($a == 1){ここを教えてください。} .... ?> </body> 上記内容の <?php 以前は固定です。それ以降でなんとかします。 JavaScriptでlocationを書けばできるかもしれませんが JavaScript無しの方法がいいです。 METAのRefreshはHTMLの文法違反ですか?<body>の中なので。 よい方法がなかったらMETAのRefreshにしたいのですが これが使えない有名なブラウザはありますか?

みんなの回答

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

print <<<eof <script language=javascript> location.href="なんたら" </script> eof; 結局トリガーとしてアクションなしに別に とばすんだったらaaaは表示されません。 なのでheaderでとばすんですけど・・・ トリガーをつけていいなら、「ここをクリック」 として、リンクをはるようにすればいいでしょう。 (おそらくそれが正解) 基本的にはbody内のmetaは動かない前提で 考えるべきです。(たぶん動くけど、突然 動かなくなっても仕様外だけに誰にも文句 言えません。)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

header("Location: x.php"); exit; がありますが既に何か書いてしまっているとき(print や echoで文字出力した場合)には使えません

A__
質問者

お礼

ありがとうございます。 その通り、aaaを表示するのは規定なのでheaderは使えません。

noname#86752
noname#86752
回答No.1

どんなタイミングで飛ばすのでしょう?時間ですか? それならrefreshにしたほうが簡単です。 何らかのイベントならそれはクライアントサイドのJavaScriptの仕事であって、サーバサイドで動くphpにはどうにもなりません。 有名どころのブラウザは全て対応しているでしょう。w3mとかlynxとか全体の1%にも満たないブラウザにも対応させたいのでしたら、JavaScriptやcookieすら使えませんよ。

A__
質問者

補足

時間がかかるんです。 if($a == 1)の手前がその重たい処理なんです。 w3mやlynxは非対応でよいです。 refreshが簡単だから、これ(<body>内で<META>)に非対応の 有名なブラウザが無ければ、そうしたいです。

関連するQ&A