dポイントプレゼントキャンペーン実施中!

OS:Linux
PHP、Postgres
のシステム環境です。

現在PHPのheader()関数が動いてくれません。
(リダイレクトできない。)
<HTML>
<HEAD><TITLE>aaaa</TITLE></HEAD>
<BODY>
<?php
header('Location: http://aaa.com/');
?>
</BODY>
</HTML>
こんな風にHTMLタグなにか出力した後にheader関数を呼び出すとエラーになり、headerのコールはすべての出力の前に行うこととサイトで調べてみまして分かったのですが。
あるシステムではHTMLタグの中に入れてもheader関数は問題なく動いています。

php.iniの設定なのでしょうか、それともプログラムの記述方法で回避できるのでしょうか?

このおかげで膨大な修正が必要になりました。
回避策はございますでしょうか?

よろしくお願いいたします。

A 回答 (2件)

>headerのコールはすべての出力の前に行うことと



そのとおりです。
明らかに間違った記述なのではまるので修正しておいた
方がよいと思います。

どうしてもというならバッファリングする手もあります。
<?PHP
ob_start();
print "test";
header("Content-Type:text/html;charset=euc-jp");
ob_end_flush();
?>

参考URL:http://jp2.php.net/manual/ja/function.ob-start.php
    • good
    • 0
この回答へのお礼

ありがとうございます。
できました。

お礼日時:2006/09/22 16:03

headerは、何か出力した後では、動作しません。



多分エラーが出ていると思いますが、

<html>の前なら動作いたしますので。

何か条件を入れた後に、headerが動作するようにしましょう。

参考URL:http://php.s3.to/man/function.header.html
    • good
    • 0

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