[PHP-users 6104] Re: Basic認証でのエラー

Haruki Nakayama php-users@php.gr.jp
Wed, 13 Mar 2002 00:18:29 +0900


中山です。
えっと以下のコードで、headerより先にechoしていますが、コレがいけないと思われ
ます。

> ---実行したコード---
> <?php
> echo isset($PHP_AUTH_USER);
>   if (!isset($PHP_AUTH_USER)) {
>    header("WWW-Authenticate: Basic realm=\"My Realm\"");
>    header("HTTP/1.0 401 Unauthorized");
>     exit;
>   } else {
>     echo "<p>Hello" .  $PHP_AUTH_USER . " </p>";
>         echo "<p>Youre pwd is " . $PHP_AUTH_PW . "</p>";
>   }
> ?>

マニュアルのheader()の説明には、

覚えておいて頂きたいのは、header() 関数は、通 常の HTML タグまたは PHP から
の出力にかかわらず、すべての実際の出 力の前にコールする必要があることです。
頻出するエラーとして、include() または require() 関数、他のファイルをアクセ
スする関数 に空白または空行があり、header() の前に出力が 行われてしまうとい
うものがあります。同じ問題は、単一の PHP/HTMLファ イルを使用している場合でも
存在します。

と有ります。

コレでどうでしょうか?
_____________________________________________________

  haruki@parkcity.ne.jp
  NAKAYAMA Haruki
_____________________________________________________