とっておきの手土産を教えて

アイルのホスティングサービス上で応募フォームの
PGを作成しています。
仕様としては
1.ユーザーが入力
2.送信
3.空白チェックなどして問題があれば1に戻る
4.問題がなければ入力項目の確認画面へ飛ばす
という感じですが、現在は仕様の4で困っています。
普通に各種入力チェックをクリアーしたらheader
Location: URLで飛ばすだけなのですが、以下の
エラーが表示されます。
Cannot add header information - headers already sent by
・<HTML>が始まる前にコードを入れてます。
・on start()も入れてみましたが、結果は同じです。
・権限の方も確認しました。
さらに、
#!/usr/local/bin/php
<?
header("Location: URL");
exit;
?>
というheaderのみ実行させるコードでも同様の
エラーが発生しました。
モジュール版では同様のエラーが確認できません
でした。
もしかしたら基本的なことなのかもしれませんが、
よろしくお願いします。

A 回答 (1件)

私も、その手のエラーがまたか、ってぐらい出して


ます。
どうやら、ヘッダーを2度書いているので、怒られてる
みたいです。
if文で回避しましょう。
少し調べたら、ヘッダーがあるかどうかを調べる、headers_sentがあるので、これは使えるかもしれません。
(今調べて初めて知りましたので、これが使えるかは
分からないけど。^^;)

header("Location: URL");
だけじゃなくって、ヘッダーっぽいものも前に出て
いると同じエラーになりますよ。

参考URL:http://php.s3.to/man/faq.using.html

この回答への補足

回答ありがとうございます。
headers_sent関数ですが、これはヘッダーが送信済み
の場合にエラーを返すというものなので今回の目的と
は残念ながら違います。
エラーを回避したいのではなく、起こしたくないのです。
自宅のサーバならエラーが出ないのでCGI版のPHPに問
題があるのかもしれません。
環境の違いでいうとそれくらいしか思いあたるものが
ないです。
もしこのような現象が起きて解決された方がいれば
よろしくお願いします。
happy_booksさん回答ありがとうございました。

補足日時:2005/03/05 23:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報