• 締切済み

PHPに関することで、ご教授頂けたら嬉しいです。

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

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

>> 以下のようなエラーメッセージが表示されました。 フォルダー /home/users/nori/maildb/ のパーミッション設定が不適切だからです。 >> headerの前に空白などは入れてないとおもいます。 header関数を実行する前に、Warning出力をしているから Warning: Cannot modify header....が出力されます。 前述のパーミッションを正しく設定すれば治ります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHP 画像のアップロードについて(move_uploaded_file)

    PHP初心者です。画像のアップロード機能を作成中です。 $path="/home/○○○/public_html/admin/w/p/5.jpg" move_uploaded_file($_FILES[MAINPHOTO]['tmp_name'], $path) で画像をアップしようとしたところ、次のエラーが出ます。 Warning: move_uploaded_file(/home/○○○/public_html/admin/w/p/5.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/○○○/public_html/admin/aaa.php on line 125 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phptC2x2A' to '/home/○○○/public_html/admin/w/p/5.jpg' in /home/○○○/public_html/admin/aaa.php on line 125 ローカルのadmin以下にw/pフォルダはきちんとあります。そこに5.jpgは存在してません。またアップする画像は別名です。 phpは4.2を使用しています。 サーバーはレンタルのkagoya.netを使用しています。 分かりやすい説明よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPで他のページへジャンプする方法

    phpを使って、WEBを作っています。だいぶPHPを使えるようになってきて、今が一番楽しいときです。 実は以前から引っかかっていて、解決できないことがありますのでお助けください。 if文などで、条件を満たしたときに別のページに移動したいのですが、その移動のさせ方に下のようなソースを記入しています。 if($row==1){ header("location:********.php"); } でも、どうもあまり良い方法ではないような気がしています。 (※*****はユーザー名やファイル名です。) 下のようなエラーが表示されました。 Warning: Cannot modify header information - headers already sent by (output started at /usr/local/www/htdocs/******/public_html/******.php:17) 他のページにジャンプするような関数は何かないのでしょうか。 どなたか詳しい方宜しくご指導お願いいたします。

    • ベストアンサー
    • PHP
  • phpをレンタルサーバにアップしてもうまくいかない

    Xamppのapacheを用いて localhostで次のプログラムを実行するとうまくいくのですが いざレンタルサーバにアップするとうまくいきません。 (whss.bizというphp,mysql対応サーバ) <?php if(isset($_POST['userid'])==True && isset($_POST['password'])==True) { $userid=$_POST['userid']; $password=$_POST['password']; $logFile=dirname(__FILE__).'/'.$userid.'.log'; if(file_exists($logFile)==False) { file_put_contents($logFile,$password); header("Location:backtotop.html"); } else { echo '<font color="red">このユーザーIDはすでに使われています。<br> 恐れ入りますが別のIDにして下さい。</font><br>'; } } ?> <html> <head> <title>新規登録画面</title> </head> <body> 新規ユーザー登録を行います。<br> 好きなユーザー名とパスワードをともに半角英数字で入力してください。<br> <form action="newuser.php" method="POST"> ユーザー名:<br> <input type="text" name="userid" size="25" /><br /> パスワード:<br> <input type="text" name="password" size="25"> <input type="submit" value="入力完了"> </form> </body> </html> これはユーザーIDとパスワードを登録するものなのですが、 Warning: file_put_contents(/home/brightsuger/public_html/brightsuger.log) [function.file-put-contents]: failed to open stream: Permission denied in /home/brightsuger/public_html/newuser.php on line 9 Warning: Cannot modify header information - headers already sent by (output started at /home/brightsuger/public_html/newuser.php:9) in /home/brightsuger/public_html/newuser.php on line 10 入力完了を押すと↑がでてきてしまいます。 1つ目のWarningにあるように サーバー上ではfile_put_contentsはできないのでしょうか? また、2つ目のWarningは意味がよくわかりません。

    • ベストアンサー
    • PHP
  • PHPでのリダイレクト

    PHPでウェブアプリを作成しています。 PHPでのリダイレクト方法として、 header("Location: xxxxx.php"); を使うことが多いのですが、HTML出力のあとで使おうとすると、 「Warning: Cannot modify header information - headers already sent by (~」というPHPエラーが発生します。 HTML出力前にリダイレクトができればいいのですが、 HTMLをかいたあとに、PHP処理をさせている処理構造上、header関数以外でリダイレクトする方法はあるのでしょうか?

    • ベストアンサー
    • PHP
  • PHPの吐くデバッグ行番号の見方を教えてください。

    PHP入門者です。 まだ自分でスクリプト開発はできませんが、 サンプルスクリプトを改造しながら自習中です。 デバッグエラー表示で、このような行番号が出てくれるのは とても助かるんですが、 PHP Error Message Warning: Invalid argument supplied for foreach() in /home/user/public_html/include.php on line 127 この場合127行目を探しても該当しそうな間違いが発見できなくて 悩んでいます。 どうも、少しずつ行番号表示が実際のスクリプトファイルとずれて いることに薄々気づき始めました。 実際のスクリプトにはコメントとか色々入ってますから、 多分コメントは引き算した行数なのかな?とは思ってるんですが。 それでも間違えた心当たりの無い行に行き着いたりします。 デバッグが指示してくれる行番号とは、具体的にどの行を指摘して くれていることになりますでしょうか? こんなレベルの私ですが、どうかお助けください。

    • ベストアンサー
    • PHP
  • header関数が使えない

    <html> <head> </head> <body> <?php header("Location: http://www.php.net/"); exit; ?> </body> </html> のように、単にheader関数を試したら Warning: Cannot add header information - headers already sent by (output started at /home/***/index.php:5) in /home/***/index.php on line 6 のようなエラーがでました。header関数が使えないようなのですが、これはどこの設定を直せば解決できるのでしょうか? 普通に、phpinfo.phpは表示できるので、phpそのものは使えています。 Apache/1.3.26 PHP 4.2.2

    • ベストアンサー
    • PHP
  • 携帯、スマートフォンのPHP振り分け

    こんなPHPを書いているのですが どうしてもParse errorが出ます。 解決方法を教えて下さい!! ■エラー内容 Parse error: syntax error, unexpected T_EXIT in /home/sites/heteml/users/web/m/index.php on line 5 ■振り分けPHP <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: ​http://www.hogehoge.com/m/i/index.html");​ exit; }else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){ header("Location: ​www.hogehoge.com/m/s/index.html");​ exit; }else if(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){ header("Location: ​www.hogehoge.com/m/e/index.html");​ exit(); }else if(preg_match("iPhoneやスマートフォン用の判定", $agent)){ header("Location: www.hogehoge.com/m/smt/index.html"); exit(); }else{ header("Location: ​www.hogehoge.com/m/pc/index.html");​ exit(); } ?> よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHP エラー

    PHP勉強中の初心者です。会員登録画面を作り動作確認しているのですが ログインするときに下記のエラーが出ます。 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'nakahiro7'@'localhost' (using password: NO) in /home/nakahiro7/nakahiro7.webcrow.jp/public_html/public_html/login.php on line 15 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/nakahiro7/nakahiro7.webcrow.jp/public_html/public_html/login.php on line 15 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'nakahiro7'@'localhost' (using password: NO) in /home/nakahiro7/nakahiro7.webcrow.jp/public_html/public_html/login.php on line 16 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/nakahiro7/nakahiro7.webcrow.jp/public_html/public_html/login.php on line 16 Warning: mysql_query() [function.mysql-query]: Access denied for user 'nakahiro7'@'localhost' (using password: NO) in /home/nakahiro7/nakahiro7.webcrow.jp/public_html/public_html/login.php on line 18 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/nakahiro7/nakahiro7.webcrow.jp/public_html/public_html/login.php on line 18 Access denied for user 'nakahiro7'@'localhost' (using password: NO) login.phpのソースは下記です <?php require('dbconnect.php'); session_start(); if ($_COOKIE['email'] != ''){ $_POST['email'] = $_COOKIE['email']; $_POST['password'] = $_COOKIE['password']; $_POST['save'] = 'on'; } if(!empty($_POST)) //ログインの処理 if ($_POST['email'] != '' && $_POST['password'] != ''){ $sql = sprintf('SELECT * FROM member WHERE email="%s" AND password="&s"', mysql_real_escape_string($_POST['email']), mysql_real_escape_string(sha1($_POST ['password']))); $record = mysql_query($sql) or die(mysql_error()); if ($table = mysql_fetch_assoc($record)) { //ログイン成功 $_SESSION['id'] = $table['id']; $_SESSION['time'] = time(); //ログイン情報を記録する if ($_POST['save'] == 'on') { setcookie('email',$_POST['email'],time()+60*60*24*14); setcookie('password',$_POST['password'], time()+60*60*24*14); } header('Location: index.php'); exit();}else{ $error['login'] = 'failed'; }}else{ $error['login'] = 'blank'; } ?> <div id="lead"> <p>アドレスとパスワードを入力しログインしてください</p> <p>メンバーズ登録がまだの方はこちら</p> <p>&raquo;<a href="join/">メンバーズ登録をする</a></p> </div> <form action="" method="post"> <d1> <dt>アドレス</dt> <dd> <input type="text" name="email" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['email']); ?>" /> <?php if($error['login'] == 'blank'): ?> <p class="error">*アドレスとパスワードを記入ください</p> <?php endif; ?> <?php if ($eoor['login'] == 'failed'): ?> <p class="error">*ログインに失敗しました。正しく入力してください。</p> <?php endif; ?> </dd> <dt>pasword</dt> <dd> <input type="password" name="password" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['password']); ?>" /> </dd> <dt></dt> <dd><input id="save" type="checkbox" name="save" value="on"> <label for="save">次回から自動的にログイン</label> </dd> </d1> <div> <input type="submit" value="Log in"/></div> </form> ググりまくりましたが解決できませんでした。 エラーの解決方法 その他ご指摘ありましたらお願いいたします。

    • ベストアンサー
    • PHP
  • PHP Noticeエラーの後

    PHPにてNoticeエラーも開発時だしています。 しかしNoticeエラー出てもプログラムは止まりませんので、Notice後の行で header("Location: ".$_SERVER["REQUEST_URI"]); exit; とかしてるとNotice出てるのにブラウザや状況によって、Noticeエラーはブラウザ上に表示されずに、次の画面に遷移してしまう事があります。なのでapacheのエラーログをtail等でずっと表示してれば気づくのですが、そうもいかずブラウザ上に表示されてるものを頼りにしてるので、どこで間違ってるのか気づきにくいのです。 ということでNoticeやWarningでもプログラムを止める事は可能でしょうか?

    • ベストアンサー
    • PHP
  • phpとpostgreの接続にエラー解決方法について

    始めまして、PHPの勉強始まったばかりのものです。以下のエラーを解決するにはどうすればよいでしょうか? Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: database "touroku" does not exist in /home/k0410user/public_html/111/inc/include/init.inc on line 2 Warning: pg_query(): supplied argument is not a valid PostgreSQL link resource in /home/k0410user/public_html/111/inc/include/init.inc on line 6 Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /home/k0410user/public_html/111/inc/include/init.inc on line 8 Warning: pg_close(): supplied argument is not a valid PostgreSQL link resource in /home/k0410user/public_html/111/inc/include/init.inc on line 13

    • 締切済み
    • PHP
このQ&Aのポイント
  • ハンゲームでの保存先を問い合わせてもサポートはされません。
  • ハンゲームのファイル保存先について詳しく教えてください。
  • ネットでハンゲームを続けるための保存方法について知りたい。
回答を見る

専門家に質問してみよう