質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

2回答

990閲覧

PHPファイルは表示されますが、なぜかHTMLファイルが表示できません。

qweras360

総合スコア6

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2017/08/26 16:03

編集2017/08/27 05:40

php初心者です。「Webとプログラミングのきほんのきほん(マイナビ出版)」という本をおすすめされ、勉強中です。当方家にMac環境しかないため、日本語対応していたmampをインストールして進めようとしておりました。

4章部分は問題なく終えて、5章に入ったところで問題が……どうやら、htmlファイルが見つからない(404 not foundedのエラーメッセージ)。おすすめしていただいた方からのアドバイスでphp形式に変えてみたところ、表示はできたものの、formのactionによる呼び出しが行われない。この時、URLは「http://localhost:8888/example5-1-2.php/example5-1-1.php?username=%E5%B1%B1%E7%94%B0%E5%A4%AA%E9%83%8E」となっているのでデータの送信はできているはずなのですが、5-1-1.phpへ表示がかわらず、フォーム画面のままでした。

イメージ説明

コードの記述間違いかと公式で配布されている正しいファイルをhtdocsに入れてみるも、結果は変わらず……。

試しに、4章で成功したファイル(php形式)をhtmlで記述してみると、やはり404エラーが吐き出されました。

私のできうる範囲でこのようなエラーについて探して見たのですが、見つからず……。解決策があれば、是非教えていただきたいです。よろしくお願いいたします。

追記:
confにて各箇所にhtml対応のために加える部分があると知り、その通りにやってみたのですが、やはりhtmlファイルは404 not found。URLの重複も謎のままです……。

使用したコード

//example5-1-1.html <html> <body> <form method="GET" action="example5-1-1.php"> お名前:<input type="text" name="username"> <input type="submit" value="送信"> </form> </body> </html>
//example5-1-1.php <html> <body> <?php echo "こんにちは" . $_GET["username"] . "さん"; ?> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

http://localhost:8888/example5-1-2.php/example5-1-1.php?username=%E5%B1%B1%E7%94%B0%E5%A4%AA%E9%83%8E

example5-1-1.phpがURLに2つ並んでるのはおかしいと思いますよ。

今のままだと htdocs/example5-1-1.php/example5-1-1.php にアクセスしていることになります。
htmlおよびphpの記述に間違いはないように見受けられます。

htdocsの配下に置いているのでしたらhtml は
http://localhost:8888/example5-1-1.html
がhtmlのアクセス先のはず。

あわせて下記もご確認ください。

あとはファイルが破損してないかとか他の画像などのファイルを置いてみてアクセスできるかとか。

投稿2017/08/27 02:06

編集2017/08/27 02:16
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

qweras360

2017/08/27 05:35

ご回答ありがとうございます。 ご指摘を受け、URLから直接「example5-1-2.php」(example5-1-1.htmlを.phpに名称変更したもの)を削除すると、正しく表示させることができました。しかし、なぜ重複するのでしょう……。 エラーログは動いていますし、色々やっているうちに500のエラーが出たこともあるので、apacheはきちんと動いているはず……documentrootの設定も確認しましたが、htdocsが指定されておりましたので、その辺りに問題はないと思います。 しかし、適当に画像データをhtdocsに入れてURLを打ち込んでみましたところ、404エラーでした。.jpgでも.pngでもダメだったので、これはもしやphpしか表示できないのか?と一瞬思ってしまいました……。 他に、何か原因となるものはありませんでしょうか……?
m.ts10806

2017/08/27 08:42

環境を完全に把握できているわけではないので原因は申し訳ないですが検討がつかないです。 確実に自分のいる階層のからの相対パスとするか、絶対パスを入れるといいかもしれません。 同じ階層なら action="./example5-1-1.php" ドキュメントルート配下であれば action="/example5-1-1.php" apache動いているかどうかはxamppであればxamppコントローラにて、そうでないならコマンドで確認するのが確実です。 (httpdに関するコマンドを調べてやってみてください) >.jpgでも.pngでもダメだったので、これはもしやphpしか表示できないのか?と一瞬思ってしまいました……。 そんなことはないと思います。基本的にどんなファイルでもhttp://~の形式で(ローカル環境ならhttp://localhost/など)で表示可能なはずです。 ドキュメントルートに設定している先にファイルを置いていないか、apacheが正常に起動していない可能性があるように思います。
qweras360

2017/08/27 15:37

そうですか……重ね重ねありがとうございます。apacheのほうでなにか問題が起こっていないかもう少し調べてみます。
guest

0

自己解決

おさわがせして申し訳ありません。無事解決いたしましたのでご報告させていただきます。
http://www.webcyou.com/?p=752
https://pc-karuma.net/mamp-settings-mac/
このあたりのサイトの記事を頼りにapacheのhttpd.conf内のテキストやファイル形式の設定にあたる部分(?)をhtml形式に対応させてみたところ、無事htmlが動くようになりました。そもそもphpの中でhtmlが動くための設定が足りていなかったようです。
どうやら比較的新しいapacheはこの設定が必要だったようで……本当に無知で申し訳ないです。
質問にお答えくださったmts10806様、本当にありがとうございました。

投稿2017/08/28 00:13

qweras360

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/08/28 00:15

「phpの中でhtmlが動くための設定」???? 今まで対応したことがなかったので分からないのですが、実際にどのように設定をしたのか当回答に追記で記載してみてもらっていいですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問