プログラム ファイル全体でヘッダーを使用する PHP Web アプリケーションに問題があります。具体的には、次のような「error.php」というファイルを作成しました。
<p><?php
$errorCode= $_GET['message'];
switch($errorCode)
{
case "1":
echo"<br>Sorry, all input fileds except for apartment number must be completed.<br>";
break;
case "2":
echo "<br>You have entered an invalid name format.<br>";
break;
case "3":
echo "<br>Name update not successful.<br>";
break;
case "4":
echo "<br>Phone number update not successful.<br>";
break;
case "5":
echo "<br>You have entered an invalid phone number format.<br>";
break;
case "6":
echo "<br>You have entered an invalid street addres format.<br>";
break;
case "7":
echo "<br>Apartment number update not successful.<br>";
break;
case "8":
echo "<br>City name update not successful.<br>";
break;
case "9":
echo "<br>State name update not successful.<br>";
break;
case "10":
echo "<br>Zip code update not successful.<br>";
break;
case "11":
echo "<br>Email address update not successful.<br>";
break;
case "12":
echo "<br>You have entered an invalid email address format.<br>";
break;
case "13":
echo "<br>You have entered an invalid password format.<br>";
break;
case "14":
echo "<br>Can not find what to update.<br>";
break;
case "15":
echo "<br>You have entered an invalid apartment number.<br>";
break;
case "16":
echo "<br>You have entered an invalid password format.<br>";
break;
case "17":
echo "<br>You have entered an invalid email address format.<br>";
break;
case "18":
echo "<br>User not found in the database.<br>";
break;
case "19":
echo "<br>User ID not found in database. Login Failure.<br>";
break;
case "20":
echo "<br>Failed connection to the database.<br>";
break;
case "21":
echo "<br>Street Address update not successful.<br>";
break;
case "22":
echo "<br>User already exists.<br>";
break;
case "23":
echo "<br>Failed to create a new user account.<br>";
break;
case "24":
echo "<br>You have entered an invalid address format.<br>";
break;
default:
echo "<br>You have an unknown error.<br>";
}
?> </p>
問題は、アプリケーションの別の場所で次のようなステートメントを使用することです。header("location:/view/error.php?message=21"); など... 常に次のような警告が表示されるため、これが問題であることに気づきました。
"Warning: Cannot modify header information - headers already sent by (output started at /home/content/47/12002447/html/model/userRegistrationAction.php:6)/home/content/47/12002447/html/model/userRegistrationAction.php on line 92"
そして、ほとんどが同じファイルを指しているものがたくさんあります。私の質問は、現在使用している方法と同様の方法でヘッダーを使用して、ページを「error.php」にリダイレクトできる方法はありますか? 「include("error.php?message= 'some #')」は大量のオーバーヘッドが発生するため、使用したくありません。
ご協力いただきありがとうございます。