プロが教える店舗&オフィスのセキュリティ対策術

PHPに関することで、ご教授頂けたら嬉しいです。
エラーメッセージを$_SESSION["error_msg"]に格納し、headerを使いエラーメッセージ用のページに飛ばすよう設定したところ、

89行|if ( FALSE === file_exists(CUSTOMER_LIST_BACKUP_DB) ) {
90行|if ( FALSE === touch(CUSTOMER_LIST_BACKUP_DB) ) {
91行|$_SESSION["error_msg"] = "新規バックアップファイル作成できませんでした<br>\n";
92行|header("Location:".ADIMN_ERROR_MSG_PAGE);
93行|}
94行|if ( FALSE === copy(CUSTOMER_LIST_DB,CUSTOMER_LIST_BACKUP_DB)) {
95行|$_SESSION["error_msg"] = "バックアップファイルのコピーに失敗しました<br>\n";
96行|header("Location:".ADIMN_ERROR_MSG_PAGE);
97行|} else {
98行|$_SESSION["msg"] = "customer_list_backupファイルを作成しました<br>\n";
99行|header("Location:".ADIMN_MSG_PAGE);
100行|}
101行|}

以下のようなエラーメッセージが表示されました。headerの前に空白などは入れてないとおもいます。
また、header("Location:".ADIMN_ERROR_MSG_PAGE);を2~3回繰り返し記載することも問題なのでしょうか?

Warning: touch() [function.touch]: Unable to create file /home/users/nori/maildb/customer_list_backup.dat because Permission denied in /home/users/nori/public_html/admin/customer/list.php on line 90

Warning: Cannot modify header information - headers already sent by (output started at /home/users/nori/public_html/admin/customer/list.php:90) in /home/users/nori/public_html/admin/customer/list.php on line 92

Warning: copy(/home/users/nori/maildb/customer_list_backup.dat) [function.copy]: failed to open stream: Permission denied in /home/users/nori/public_html/admin/customer/list.php on line 94

Warning: Cannot modify header information - headers already sent by (output started at /home/users/nori/public_html/admin/customer/list.php:90) in /home/users/nori/public_html/admin/customer/list.php on line 96

A 回答 (1件)

>> 以下のようなエラーメッセージが表示されました。



フォルダー /home/users/nori/maildb/ のパーミッション設定が不適切だからです。


>> headerの前に空白などは入れてないとおもいます。

header関数を実行する前に、Warning出力をしているから
Warning: Cannot modify header....が出力されます。
前述のパーミッションを正しく設定すれば治ります。
    • good
    • 0

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