老親介護に悩む30~60代の方へ
老親介護ねっと[老人ホーム編]
トップ 老人ホームの選び方 介護関連ニュース 新規オープンホーム情報 老人ホーム取材レポート お問い合わせ リンク集 Q&A

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Apache+PHPのコメントフォームが反応しない

http://fukafuka295.jp/hp/hp_no2.html
このサイトで紹介されているコメントフォームを
自分のApacheのhtdocsに置いて、フォルダ名をWebmasterTOOLとし
http://localhost/WebmasterTOOL/comment.htmlとして表示させた後
送信ボタンを押しましたが反応しません。アパッチ上ではこういうテストは出来ないのでしょうか? レンタルサーバーが必要ですか?

投稿日時 - 2018-05-12 22:03:35

QNo.9497791

すぐに回答ほしいです

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

> ここまではやりすぎですか?

プログラムの内容次第ですが、やっておいたほうがよいでしょう。

> phpinfoのページでmbstringの欄が無いのはおかしいですか?

はい。おかしいです。

投稿日時 - 2018-05-14 12:29:17

補足

mbstringの件はこちらの設定不足でした。
extension_dirのディレクトリがおかしかったミスです。
文字化けしていますがほぼ解決しています。有難うございました。

投稿日時 - 2018-05-14 19:21:06

お礼

色々ご丁寧にありがとうございました

投稿日時 - 2018-05-27 13:14:33

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

Localテストに使っているApacheの環境設定ができていないようです。

> Warning: date(): It is not safe to rely on the system's timezone settings

php.iniでタイムゾーン設定ができていないときにでるワーニングです。
php.iniで
date.timezone = Asia/Tokyo
を設定して、Apacheを再起動すれば出なくなります。

> Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache\Apache24\htdocs\WebmasterTOOL\comment.php on line 10

こっちは、PHPにmb_stringというPHP拡張モジュールが
導入できていないときにでるエラーです。
php.iniで
;extension=php_mbstring.dll
と書いてあるところの先頭のセミコロンを削除してApacheの再起動です。
(もし、php_mbstring.dllというファイルが見つからないというエラーが出るようなら
 Apacheのインストール手順の見直しが必要です)

投稿日時 - 2018-05-13 15:33:52

補足

何度もありがとうございます。
5行目のエラーは消えました!
ただ10行目のエラーはまだ消えてません。
セミコロンを削除してApacheの再起動はしたんですが・・・
mbstring周りの設定をネットで調べてみるとイクラさんのサイトを見つけたのですが、
https://www.phpbook.jp/tutorial/install/index8.html
ここまではやりすぎですか?
あと気になったのはこの人みたいにphpinfoのページで
mbstringの欄が無いのはおかしいですか?
Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache\Apache24\htdocs\WebmasterTOOL\comment.php on line 10

投稿日時 - 2018-05-13 19:31:26

ANo.2

apache及びPHPの動作環境が不明なので的確な回答ができません。
他の回答者様も書かれていますがapache及びPHPが正しく設定されている環境なら問題なく動作できます。
1.PHPは動作していますか?
  PHP単独の場合とApacheからの場合
2.comment.php 単独で実行するとどうなりますか?
3.Apacheのログ内容にエラーが無いかも確認してください。

気になる点
actionとsrcには”http”からの指定もできますがトラブルを避けるには必要がない限り止める方が良いです。
Windows環境でしたら各ファイルの文字コードにも注意が必要です。

投稿日時 - 2018-05-13 06:49:19

補足

1. PHP単独をコマンドプロンプトでHello worldを実行しましたが
うまく表示されています。Apache経由も問題なく動きます。

2. アパッチ経由で単独実行すると下記のように表示されています。
Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in C:\Program Files\Apache\Apache24\htdocs\WebmasterTOOL\comment.php on line 5

Fatal error: Call to undefined function mb_language() in C:\Program Files\Apache\Apache24\htdocs\WebmasterTOOL\comment.php on line 10

5行目は$pdate=$date=date("<b>Y/m/d H:i </b>");
10行目はmb_language("Japanese");
となっています。

3.ログのエラー長いですが、以下の通りです。文字制限のため途中まででご了承ください。
simplesimple_htmlは昔作ったwordpressのファイルですが実行しているつもりはないのにエラーが出ています。

[Sun May 13 11:22:38.628998 2018] [mpm_winnt:notice] [pid 3744:tid 476] AH00456: Apache Lounge VC11 Server built: Jul 15 2013 20:45:22
[Sun May 13 11:22:38.628998 2018] [core:notice] [pid 3744:tid 476] AH00094: Command line: 'C:\\Program Files\\Apache\\Apache24\\bin\\httpd.exe -d C:/Program Files/Apache/Apache24'
[Sun May 13 11:22:38.628998 2018] [mpm_winnt:notice] [pid 3744:tid 476] AH00418: Parent: Created child process 4592
[Sun May 13 11:22:39.569753 2018] [mpm_winnt:notice] [pid 4592:tid 360] AH00354: Child: Starting 64 worker threads.
[Sun May 13 11:24:30.469935 2018] [:error] [pid 4592:tid 880] [client ::1:49369] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in C:\\Program Files\\Apache\\Apache24\\htdocs\\version.php on line 1
[Sun May 13 11:26:23.522382 2018] [mpm_winnt:warn] [pid 4592:tid 964] (OS 64)指定されたネットワーク名は利用できません。 : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Sun May 13 11:37:14.627283 2018] [:error] [pid 4592:tid 872] [client 127.0.0.1:49809] WordPress \xe3\x83\x87\xe3\x83\xbc\xe3\x82\xbf\xe3\x83\x99\xe3\x83\xbc\xe3\x82\xb9\xe3\x82\xa8\xe3\x83\xa9\xe3\x83\xbc: Incorrect string value: '\\x83R\\x83s\\x81[...' for column 'option_value' at row 1 for query INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_theme_roots', 'a:6:{s:10:\\"moive=blog\\";s:7:\\"/themes\\";s:26:\\"simplesimple_html - \x83R\x83s\x81[\\";s:7:\\"/themes\\";s:17:\\"simplesimple_html\\";s:7:\\"/themes\\";s:14:\\"twentyfourteen\\";s:7:\\"/themes\\";s:14:\\"twentythirteen\\";s:7:\\"/themes\\";s:12:\\"twentytwelve\\";s:7:\\"/themes\\";}', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`) made by do_action_ref_array, call_user_func_array, wp_maybe_auto_update, WP_Automatic_Updater->run, wp_update_themes, wp_get_themes, search_theme_directories, set_site_transient, add_site_option, add_option
[Sun May 13 11:37:15.486703 2018] [:error] [pid 4592:tid 872] [client 127.0.0.1:49809] WordPress \xe3\x83\x87\xe3\x83\xbc\xe3\x82\xbf\xe3\x83\x99\xe3\x83\xbc\xe3\x82\xb9\xe3\x82\xa8\xe3\x83\xa9\xe3\x83\xbc: Incorrect string value: '\\x83R\\x83s\\x81[...' for column 'option_value' at row 1 for query UPDATE `wp_options` SET `option_value` = 'O:8:\\"stdClass\\":2:{s:12:\\"last_checked\\";i:1526179035;s:7:\\"checked\\";a:6:{s:10:\\"moive=blog\\";s:3:\\"1.0\\";s:26:\\"simplesimple_html - \x83R\x83s\x81[\\";s:15:\\"\xe3\x83\x90\xe3\x83\xbc\xe3\x82\xb8\xe3\x83\xa7\xe3\x83\xb3\\";s:17:\\"simplesimple_html\\";s:3:\\"1.1\\";s:14:\\"twentyfourteen\\";s:3:\\"1.0\\";s:14:\\"twentythirteen\\";s:3:\\"1.1\\";s:12:\\"twentytwelve\\";s:3:\\"1.3\\";}}' WHERE `option_name` = '_

投稿日時 - 2018-05-13 12:21:41

ANo.1

そのフォームのボタンを表示しているところ、リンク先が指定されていないか、フォームの名前を間違えて指定してるのではないでしょうか。
ローカルのapacheでも動作はしますよ。

投稿日時 - 2018-05-12 22:15:27

補足

ご回答有難うございます。

action=とsrc=の部分でファイルを置いてあるディレクトリを指定しましたが
まだ反応しません。


<form method="POST" action="http://localhost/WebmasterTOOL/comment.php?rep=1" target="com">
<span style="font-size:18px;font-weight:100;color:#ff0000">■ </span><b>一言コメントをどうぞ!</b>(100字まで)<br>
<input type="text" id="comment" name="comment" size="80" style="width:535;border:1px solid #00ccff">
<input type="submit" id="submit" value=" 送信 " style="width:54">
</td></form>
</tr>
<tr>
<td>
<div id="commentv" style="font-size:13px;line-height:15px;color:#666699;width:580px;height:160px;border:1px solid #00ccff;padding:8px;overflow-y:scroll;display:none;"></div>
<iframe name="com" src="http://localhost/WebmasterTOOL/comment.php" id="com" style="width:301px;height:201px;frameborder:0px;border:0px;padding:0px;overflow:hidden;display:none;"></iframe>

投稿日時 - 2018-05-13 03:12:30