JavaScriptかPHPでコメントフォーム作成方法とエラー解決方法

このQ&Aのポイント
  • JavaScriptかPHPを使用してコメントフォームを作成する方法について説明します。また、コメントフォームの作成中に発生したエラーの解決方法についても解説します。
  • コメントフォームを実現するためには、JavaScriptかPHPを利用する方法があります。具体的な手順としては、フォームのHTMLコードを作成し、バリデーションやデータの送信をJavaScriptで処理するか、PHPでサーバー側で処理するかの選択があります。どちらの方法を選ぶかは、開発者の好みや要件によります。
  • 質問文章中で発生しているエラーについては、変数やリクエストの取得方法に誤りがあります。エラーメッセージに従って適切な変数名やリクエスト名を指定することでエラーを解消することができます。具体的には、変数名をクォートで囲んで文字列として扱う必要があります。
回答を見る
  • ベストアンサー

JavascirptかPHPでコメントフォーム

http://qitailang.small.jp/webtech/commentbox/commentform.html このサイトのコメントフォームを使おうと思っているのですが 行き詰っています。 アパッチのhtdocsの直下にフォルダを置き、 フォルダ名をcommentform_modifiedとしてその下にsample.htmlを置き さらにその下に commentform commentform.php commentform.js commentform.css commentfiles としました。今の所パーミッションというのは触っていません。 元々このサイトとは違う練習用のPHPファイルはうまくいっています。ただ今回、 http://localhost/commentform_modified/sample.htmlとして実行した所PHPのエラーが出ています。 Notice: Use of undefined constant file - assumed 'file' in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 17 Notice: Use of undefined constant cmd - assumed 'cmd' in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 21 Notice: Undefined index: cmd in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 21 Notice: Use of undefined constant cmd - assumed 'cmd' in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 57 Notice: Undefined index: cmd in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 57 まず17行目から21行目辺りですが $commentdir = 'http://localhost/commentform_modified/commentform'; /*--------------------------------------------*/ $Comment = array(); if (!is_dir($commentdir)) mkdir($commentdir); if ($_REQUEST[file] && is_file("$commentdir/$_REQUEST[file].dat")) { $a=1; $Comment = file("$commentdir/$_REQUEST[file].dat"); } if ($_REQUEST[cmd] == 'commentRegist') { としています。 57行目は } elseif ($_REQUEST[cmd] == 'delete') { となっています。 双方とも何がいけないんでしょうか?

  • PHP
  • 回答数8
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.8

> Warning: mb_send_mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. h1-v6sm1981113pfg.135 - gsmtp メール送信に使うSMTPサーバー側でメール送信が拒否されています。 (SSLで送るべきSMTPサーバーを使っているのに、平文で送っている) レンタルサーバーやクラウドサーバーから直接メールを出すのであれば、わりと簡単ですが、 自宅サーバーからだとプロバイダにより迷惑メール対策でブロックされているので、 外部のSMTPサーバーの自分用のアカウトで経由させてメールを出す必要があります。 そうなるように、使っているSMTPサーバー(プロバイダとかgmailとか)の仕様に合わせて PHPの設定(php,iniやsendmailini)行いますが、それがきちんとできていないのでしょう。 なお、postfixのインストールは 関係ありません。 このPHPでコメントを追加したときに出るメールが不要ということなら、 mb_send_mail()の行を コメント行になるように殺してしまえば話は早いです。

KAIJI-000
質問者

お礼

何度もご回答有難うございました。

その他の回答 (7)

回答No.7

> flock()やfclose()の警告はまだ消えてくれません。 fopenに失敗して $fpが不正なのに、そのままflock()やfclose()に使っているのが 原因なのか $fpは正常なのに、flock()そのもので失敗しているのか どちらなのかを、確定させてその原因を取り除く必要があります。 エラーメッセージは Warning: flock() expects parameter 1 to be resource, boolean given ~ のままですか? また、 $fp = fopen($filename, "w+"); の下に if ( ! $fp ) die ("file open error : $filename <br />\n"); を入れて どんなパスとファイル名で 書き込もうとしているのか 確かめてみてはどうでしょう?

KAIJI-000
質問者

補足

返事が遅くなって申し訳ないです。 iniファイルを色々いじってみて flock()やfclose()のエラーは改善しました。 現在出ているエラーは下記の1つだけです Warning: mb_send_mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. h1-v6sm1981113pfg.135 - gsmtp in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 54 メールアドレスのエラーらしいですが、メールに送るこだわりはないですが これはSSL 証明のためのpostfixとかいう奴が必要となってくるのでしょうか?

回答No.6

> 以下のエラーもパーミッション設定というところでしょうか? サーバーがWindowsということなので commentfilesというフォルダのプロパティーで フルコントロールに なっていれば問題ないです。 ですが、いま現在、6つのエラーが出ているということですが これらは、プログラムのコーディング上の問題(というかバグ)と Apache+PHPの環境設定が不足しての問題です。 > Notice: Use of undefined constant comment - assumed 'comment' in C:\Program まえと同じで  未定義の定数を使っている警告です。 本来は$_REQUEST['comment']です。 (修正漏れでは?) > Notice: Undefined variable: value in C:\Program Files\Apache\Apache24\htdocs \commentform_modified\commentform\commentform.php on line 258 変数 $valueの初期化漏れの警告です。この場合だと無視できないことはないですが、 if ( flag ) { の次の行に $value = ''; を挿入すれば 解決するでしょう。 > Warning: fopen(commentfiles/!commentform_modified!sample*html.dat): failed to open stream: No error in C:\Program Files\Apache\Apache24\htdocs ファイル名の一部に*があるので、Windows上では作れないファイルというエラーです。 js側の file_url = file_url.replace(/\./g, '*'); の行を殺せば、解決するでしょう。 (ただ、そもそも、jsでわざわざ ファイル名中のドットを、* に変換している理由が不明です。) そのあとのflock()やfclose()で出ている2つのWarningは、 上記のような理由でファイルがオープンできななったときにエラー分岐しないで、 そのまま処理を続行させているプログラムのバグです。 > Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache \Apache24\htdocs\commentform_modified\commentform\commentform.php on line 47 これは、php.iniで php_mbstring.dll が組み込めていないという 実行環境上の問題です。 .これを解決しないと 進めないでしょう(別件のも同じです)

KAIJI-000
質問者

補足

>file_url = file_url.replace(/\./g, '*'); >の行を殺せば、解決するでしょう コメント行としましたが flock()やfclose()の警告はまだ消えてくれません。 Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 47 php_mbstring.dllは確かにコメントアウトしています。セミコロンが外れています。 それと一つ気になったのがmbstring.language = Japaneseというのがあるのですが、 前日にコメントアウトしたつもりが次の日にまた緑色に戻っているのですが こういうものですか?

回答No.5

jsのほうをみるとURLとして  /commentform/commentform.php?cmd=commentRegist&~ の場合と  /commentform.php?file='+GetFileName(location.pathname) の場合とがあって 後者には cmd=がないですね。 なのにphp側ではcmdが常にあるものとしてコーディングされていますので 後者でアクセスすると、Noticeの警告が出てしまいます。 (エラーではないですが、環境によっては警告のでてしまう  多少問題のあるコーディングのようです) このNotice警告を出さないようにするには > 21行目 if ($_REQUEST["cmd"] == 'commentRegist') { を if ( isset($_REQUEST["cmd"]) && $_REQUEST["cmd"] == 'commentRegist') { > 57行目 } elseif ($_REQUEST["cmd"] == 'delete') { を } elseif ( isset($_REQUEST["cmd"]) && $_REQUEST["cmd"] == 'delete') { に修正するとよいでしょう。 ただ、このNoticeの警告がでていても、コメントを追加する動作は動くはずです。 もし 現状でコメントを追加することができてないのなら ファイルのパーミッションなど、ほかの要因を見直しする必要があるでしょう。

KAIJI-000
質問者

補足

何度も補足有難うございます。 ただ、送信した後にエラーがまた出てしまっています。 以下のエラーもパーミッション設定というところでしょうか? httpd.confのポートが許可されてないとかの話でしょうか? Notice: Use of undefined constant comment - assumed 'comment' in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 24 Notice: Undefined variable: value in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 258 Warning: fopen(commentfiles/!commentform_modified!sample*html.dat): failed to open stream: No error in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 302 Warning: flock() expects parameter 1 to be resource, boolean given in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 303 Warning: fclose() expects parameter 1 to be resource, boolean given in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 310 Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 47

回答No.4

失礼しました。 " "の中で  $_REQUEST['file']  のような 連想配列を使うときには { } で囲んで {$_REQUEST['file']}  のようにして下さい。 例えば、 if ($_REQUEST['file'] && is_file("$commentdir/{$_REQUEST['file']}.dat")) { や $Comment = file("$commentdir/{$_REQUEST['file']}.dat"); です。

KAIJI-000
質問者

補足

いえいえ何度も補足有難うございます。 ただまだエラーが出ています。 cmdのところのようです。 定義されてない変数のエラーのようです。 cmdをダブルクォーテーションとしています。 Notice: Undefined index: cmd in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 21 Notice: Undefined index: cmd in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 57 21行目 if ($_REQUEST["cmd"] == 'commentRegist') { 57行目 } elseif ($_REQUEST["cmd"] == 'delete') {

回答No.3

> $Comment = 'file'("$commentdir/$_REQUEST['file'].dat"); $_REQUEST[~] の中 以外のも 書き換えてしまっているのが間違いです。

KAIJI-000
質問者

補足

何度も回答有難うございます。 if ($_REQUEST['file'] && is_file("$commentdir/$_REQUEST['file'].dat")) { $a=1; $Comment = file("$commentdir/$_REQUEST['file'].dat"); とComment=の横のfileのシングルクォーテンションを取ってみましたが まだ以下のエラーが出ています。 Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 17

回答No.2

Notice: Use of undefined constant ~ のメッセージは 「未定義の定数 ~を使っている」という 警告です。 これは、もともとのソースコード(commentform.php)が本来 $_REQUEST['file'] のように書くべきところを $_REQUEST[file] と文字列でなく定数で書いてあるので、それでこれの警告が出ています。 (ただし、これでも動いてはくれますが、  サーバー側のPHPの設定か.htaccessの設定か、PHP内でのエラーレポートの設定で、  E_NOTICEの警告を出すようにしていると、  このようにNoticeの警告メッセージがブラウザ画面に出てしまします) $_REQUEST[ ~]の部分を、全て'~'に書き換えると でなくなります。 もしくは、PHPの頭のほうで、例えば error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED); を入れて、E_NOTICEを無効にするかです。 でも これが動かない根本原因ではなくて、 他に問題があって、 13行目あたりの $commentdir = 'http://localhost/commentform_modified/commentform'; の文字列の内容がおかしいです。 $commentdir という変数は、 mkdir($commentdir); や is_file("$commentdir/$_REQUEST[file].dat")) { で使われているので、 この変数にセットすべき値は、"http://~"のようなURLの文字列ではなく、 サーバー上のディレクトリ名のはずです。  なので $commentdir = 'http://localhost/commentform_modified/commentform'; でなく $commentdir = 'commentfiles'; とすべきでしょう。 (もちろん独自のディレクトリを自分で作って、それを$commentdirにセットしてもよい訳ですが)

KAIJI-000
質問者

補足

ご回答有難うございます。 下記のように 4ヶ所のfileをシングルクォーテンションで囲み、 $commentdir = 'commentfiles'と したところ新たなエラーが出ました。 $commentdir = 'commentfiles'; /*--------------------------------------------*/ $Comment = array(); if (!is_dir($commentdir)) mkdir($commentdir); if ($_REQUEST['file'] && is_file("$commentdir/$_REQUEST['file'].dat")) { $a=1; $Comment = 'file'("$commentdir/$_REQUEST['file'].dat"); エラー文 Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 17 予期しないダブルクォートがあるエラーらしんですが、カッコが余計に多いですか?

回答No.1

出てるエラーが全部「文字」になってることに、気が付けば早かったのに! $_REQUEST[cmd] cmd という「マクロ」が見つからないということです。 これが配列変数の文字列とみなされていないだけです。 なので、 $_REQUEST["cmd"]だけでOKです。 ただ、前後がわからないので、なんですけども。 issetなどで変数があるか?も、チェックしたほうがより安全でしょうね。 define (cmd,"cmd");とかアホなことしても動くかもしれんが。

KAIJI-000
質問者

補足

cmdだけをダブルクォーテーションとしてましたが、 Notice: Use of undefined constant file - assumed 'file' in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 17 Notice: Undefined index: cmd in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 21 Notice: Undefined index: cmd in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 57 と3つには減りました。加えて No.2の方のアドバイス通りfileをシングルクォーテンションで囲むと Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\Program Files\Apache\Apache24\htdocs\commentform_modified\commentform\commentform.php on line 17 と新たなエラーが出てきました。 全文は文字数制限のため載せれませんが途中まで載せてみようと思います。 <?php $root = 'rootpasswd'; $commentdir = 'commentfiles'; $Comment = array(); if (!is_dir($commentdir)) mkdir($commentdir); if ($_REQUEST['file'] && is_file("$commentdir/$_REQUEST['file'].dat")) { $a=1; $Comment = 'file'("$commentdir/$_REQUEST['file'].dat"); } if ($_REQUEST["cmd"] == 'commentRegist') { $m_file=filedecode($_REQUEST[file]); $m_comment=commentdecode($_REQUEST[comment]); REQUEST_Purse(); $value = join("\t", array( "id=". createid(), "date=". time(), "name=$_REQUEST[name]", "pw=$_REQUEST[pw]", "title=$_REQUEST[title]", "comment=$_REQUEST[comment]", "\n" )); /*$value = mb_convert_encoding($value, "UTF-8", "EUC-JP");*/ array_unshift ($Comment, $value); data_save("$commentdir/$_REQUEST[file].dat", $Comment); /*メール送信*/ /*サーバーURL、最後の / は不要*/ $myhost="www.example.com:80"; mb_language("Japanese"); mb_internal_encoding("UTF-8"); $to = '自分のメールアドレスを入れています'; $subject = 'コメントの投稿がありました。'; $body = 'Commented HTML : '.$myhost.$m_file. "\r\n====\r\n".$m_comment; $headers = 'From: 自分のメールアドレスを入れています' . "\r\n"; mb_send_mail($to, $subject, $body, $headers); } elseif ($_REQUEST["cmd"] == 'delete') { $i = 0; foreach ($Comment as $line) { if (preg_match("/^id=$_REQUEST[id]\t/", $line)) { $comment = dbfields($line); if ($comment[pw] == $_REQUEST[pw] || $root == $_REQUEST[pw]) { array_splice($Comment, $i, 1); $match = true; break; } } $i++; } if ($match) data_save("$commentdir/$_REQUEST[file].dat", $Comment); } header("Content-type:text/html; charset=UTF-8"); echo <<<_ <form action="javascript:void(0)" name="commentform" id="commentform"> <ol class=rule> <li>このページに関するご感想・ご質問などをお書き下さい。</li>    中略 </ol> <table> <tr><th align=right style="width:5em;">お名前</th><td><input type="text" name="name" size=20 /></td></tr> <tr><th align=right>パスワード</th><td><input type="password" name="pw" size=8 maxlength=8/>英数字8文字以内</td></tr> <tr><th align=right>件名</th><td><input type="text" name="title" size=60 /></td></tr> <tr><td colspan="2"><textarea name="comment" rows=10 style="width:100%"></textarea></td></tr> <tr><td colspan="2" align=right> <span style="visibility:hidden"><input type="checkbox" name="rulecheck" id="rulecheck" value="1" checked /><label for="rulecheck">上記「コメントに関するお約束」に同意します。</label></span> <input type="reset" value="リセット" class="commandButton" /> <input type="button" value="送信する" class="commandButton" onclick=" if (this.form.name.value=='') { alert('お名前が記入されていません。'); return; } if (this.form.comment.value=='') { alert('コメント本文をご記入ください。'); return; } /*if (this.form.rulecheck.checked==false) { alert('「コメントに関するお約束」にご同意ください。'); return; }*/ if(confirm('送信してもよろしいですか?')) { 中略  getAjaxText  ここも触りました ('http://localhost/commentform_modified/commentform/commentform.php?cmd=delete&file='+GetFileName(location.pathname)+'&id='+this.form.id.value+'&pw='+this.form.pw.value, 'commentBox'); }" /> </form> </div> </div> _; ここからforeach文やいくつかの関数がありますが触ってないので大丈夫なはず?です。

関連するQ&A

  • PHPの変数未定義エラー

    <p>PHPのテストです。</p> <p> <?php print $name.'さん<br />'; ?> </p> と入れてみましたが僕の場合は ------------------------------------------------------------------------ PHPのテストです。 Notice: Undefined variable: name in C:\Program Files\Apache\Apache24\htdocs\sample3-1.php on line 17 さん ------------------------------------------------------------------------- となってしまいました。$name = NULL;をあらかじめ入れておけばこのページのように ------------------------------------------------------------------------- PHPのテストです。 さん ------------------------------------------------------------------------ となってくれます。この違いはバージョンなどの違いでしょうか?

    • ベストアンサー
    • PHP
  • PHPからMySQLに接続できません。

    PHP初心者でWindows XPを使っています。 「実戦マスター PHP+MySQL」という本で勉強しているのですがどうしてもわからないところがあるので教えてください。 MySQLモニタからデータベースの操作まではうまくいったのですが、phpからMySQLを操作する段になってmysql_connect('localhost', 'root', 'xxxx');とするとエラーになるのです。エラー画面は Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test\test7-1-1.php on line 6 です。何故こんなエラーが出るかわかりません…。どなたか助けて頂けませんでしょうか。

  • PHPの実行の際、パスが化ける

    WindowXPでApache+PHPでサーバのテストをしています。 実行はHTMLで記述して、クイックすると ↓の文字が実行されるようにしています。 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\1-9\追加コピー\192.php 実行すると下記のエラーが出ます。 Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Fatal error: Unknown: Failed opening required 'C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/test/1-9/霑ス蜉繧ウ繝斐・/172.php' (include_path='.;C:\Program Files\PHP5\pear;c:\Program Files\php5\includes') in Unknown on line 0 ---------------------------- つまり、ホルダー名:追加コピー、の部分が化けてしまいます。 これを回避する何か方法はあるのでしょうか よろしくお願いします。

    • ベストアンサー
    • PHP
  •    ☆ PHP & Mysqlとの連携で Apacheのhttpd.

       ☆ PHP & Mysqlとの連携で Apacheのhttpd.confテキストの設定方法 ・PHP入門者ですが、Mysqlとの連携でのプログラム実装を何度か試みたのですが、 上手くいきません。(;一_一) ・エラーコードは、Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\php\db_Connect.php on line 16 と返されます。 ・<?php phpinfo(); ?>を実行しても、mysqlの項目は表示もされません。 ググってますが、参考して実行してもどうしても上手くいきません。 誰か、ご教授くださいませ。 実行環境:OS windowsXP,PHP + Mysql +Apache2、DreamWeaver

    • ベストアンサー
    • PHP
  • WinowsXPでPHPからPostgreSQLにアクセスできません。

    Windows上でPHPを利用してPostgreSQLにアクセスを試みているのですが Fatal error: Call to undefined function pg_connect() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\dbtest.php on line 13 というエラーが出てアクセスできません。 調べていくうちにnfo.phpのConfigure Commandに"--with-pgsq"がないのが原因とはわかったのですが、下記開発環境での[php.ini],[httpd.conf]の設定をいろいろ試しましたが(勿論再起動も)info.phpのConfigure Commandに"--with-pgsq"が表示されないのです。 どなたか、アドバイスしていただけることがありましたらよろしくお願いします。 開発環境 OS:WindowsXP SP2 PHP:5.26 Apache:2.2 PostgreSQL:8.2

    • 締切済み
    • PHP
  • エラーについて

    Warning: main(DB.php): failed to open stream: No such file or directory in c:\program files\apache group\apache\htdocs\f-board-0.3.2\ini\common.php on line 14 Fatal error: main(): Failed opening required 'DB.php' (include_path='.;c:\php4\pear') in c:\program files\apache group\apache\htdocs\f-board-0.3.2\ini\common.php on line 14 このエラーはいったい何を意味しているのでしょうか? どなたか教えてください

    • ベストアンサー
    • PHP
  • エラーログの意味と対処方法を教えてください

    http://www.mt312.com/のフリースクリプトの携帯対応掲示板 REP-BBSでエラーログが大量に放出されました。 その一部を書きます。 PHP Notice: Undefined index: HEAD in xxx/model.php on line 158 PHP Notice: Undefined index: page in xxx/model.php on line 793 PHP Notice: Undefined variable: nStart in xxx/model.php on line 1088 PHP Notice: Undefined index: mode in xxx/model.php on line 547 PHP Notice: Undefined index: mode in xxx/index.php on line 15 PHP Notice: Undefined index: page in xxx/model.php on line 480 まだまだあります。 サーバーから数十ギガバイトのエラーログがあると指摘されました。 どれかひとつでもいいです。対処方法教えてください。

    • 締切済み
    • PHP
  • HTMLファイルにPHPファイルを組み込むとエラー

    HTMLファイルの拡張子をPHPへ変更し(正常に見えることを確認した)そのPHPファイルへ別に作成したPHPファイルを追加ペーストしたのですが下記のエラーが出て困っています。別に作成したPHPファイルは、単独では正常に見えるので、何故エラーが出るのかご教示をお願いします。検索すると下記のエラーと同じ内容が表示されたHPばかりでどうやって修正したら良いかわかりません。私としては、もともと作成したHTMLファイルにPHPを組み込めると時間的に楽なのですができないようなので仕方なくPHPへ変更してそれにコンテンツを追加しようとしています。PHPは、今回初めてなのでほとんど素人です。 Warning: include(magpierss-0.72/rss_fetch.inc) [function.include]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\popup\popup2.php on line 156 Warning: include() [function.include]: Failed opening 'magpierss-0.72/rss_fetch.inc' for inclusion (include_path='.;c:/php/includes;C:/php/PEAR;c:/php/popup/includes') in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\popup\popup2.php on line 156 Fatal error: Call to undefined function fetch_rss() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\popup\popup2.php on line 258 156行の文は include('magpierss-0.72/rss_fetch.inc'); です。 258行は function getRss($rssInfo) { $feed = fetch_rss($rssInfo['url']); ファイルが開けない?とうエラーは、単独では表示されなかった。何か使い方が悪いのかその辺も含めて教えていただけたらと思い投稿させていただきました。検索で調べましたが、同じエラー内容が表示されたHPがたくさんあり根本的な単純な間違いかもしれませんが宜しくお願いします。

    • 締切済み
    • PHP
  • 特殊な連想配列について

    どなたか教えてください。 $_REQUESTを使用した部分に警告が出て正しく表示されません。 参考にしたサンプルソースの説明書にはPHP5.2.6と書いてあったのですが、 私の環境は5.3ですのでそれが起因しているような気がするのですが、ググっても 全くわかりません。 if($_REQUEST(["xxx"]) != "" ) のような記述部分が全て Notice: Undefined index: xxx in C:\xampp\htdocs\abcde\test.php on line 49 のようになります。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 【PHP】Googleアドセンスが出力されない! $_SERVERのせい?

    こんにちわ。PHP でエラーが出てしまって困っています。質問させてください。 サイトに、Googleアドセンスを使ったテキスト広告が出力されません。 もしかすると、$_SERVERで、データを取得できてないからかな? エラーレポートは、こうです。 Notice: Undefined index: HTTPS in (サイトのルートディレクトリ)g_adsense.php on line 7 Notice: Undefined index: HTTP_REFERER in (サイトのルートディレクトリ)m/g_adsense.php on line 13 Notice: Undefined index: HTTP_UA_PIXELS in (サイトのルートディレクトリ)m/g_adsense.php on line 35 Notice: Undefined index: HTTP_X_UP_DEVCAP_SCREENPIXELS in (サイトのルートディレクトリ)m/g_adsense.php on line 38 エラーは全て、$_SERVER['HTTPS'] とか $_SERVER['HTTP_REFERER'] とか、サーバー環境変数の行です。 もしかして、どこかで設定されててだめなのかな?PHPコードについて、サーバー内でどんな設定がされているのかわかっていません。 設定を初期化する方法あったら教えてください。 ・Movable Type4.01で吐き出してます。 ・ケータイキットというプラグインを使ってます。 ・携帯向けのサイト ・PHP Version 4.4.7 ・サーバー=アパッチ。なにか良い方法ありますか?

    • ベストアンサー
    • PHP

専門家に質問してみよう