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

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

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

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

Q&A

解決済

1回答

1061閲覧

フォームに入力した内容をPHPで取得できません

K.M.PEANUTS

総合スコア40

PHP

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

0グッド

0クリップ

投稿2020/08/25 13:11

html

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 7 </head> 8 <body> 9 <header> 10 11 </header> 12 <main> 13 <form action="らん.php" method="get"> 14 <label for="my_name">お名前</label> 15 <input type="text" id="my_name" name="my_name" maxlength="255" value=""> 16 <input type="submit" value="送信する"> 17 </form> 18 </main> 19 <footer> 20 21 </footer> 22 </body> 23</html>

php

1<!doctype html> 2<html lang="ja"> 3<head> 4<!-- Required meta tags --> 5<meta charset="utf-8"> 6<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7 8<!-- Bootstrap CSS --> 9<link rel="stylesheet" href="css/style.css"> 10 11<title>よくわかるPHPの教科書</title> 12</head> 13<body> 14<header> 15<h1 class="font-weight-normal">よくわかるPHPの教科書</h1> 16</header> 17 18<main> 19<h2>Practice</h2> 20<pre> 21お名前: <?php print(htmlspecialchars($_REQUEST['my_name'], ENT_QUOTES)); ?> 22</pre> 23</main> 24</body> 25</html>

書籍を参考にして上記のコードを書きました。
HTMLコードをネットで表示すると、![イメージ説明
このようになるのですが、フォームに名前を打ち込んで送信ボタンをクリックすると、このページには上記に添付したphpのコードが表示され、phpの画面を表示しているWebページでは![イメージ説明]
となったままでフォームに入力した内容が反映されません。どこが問題なのか教えてください。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/08/25 14:49

よくわかるPHPの教科書、teratailへの質問が多いです。しかも、トラブルが多くて本の内容ばかりを信じてしまうとハマります。別の書籍での学習に切り替えることをおすすめします。
guest

回答1

0

ベストアンサー

一応、示されたHTMLファイルとPHPファイルをコピペし、
フォーム送信先ファイル名だけ直しただけで、
期待通りの動作を確認できました。

HTMLファイルとPHPファイルの置き場所(ディレクトリ)は同じですか?
あと、ファイル名に日本語をつかっていますが、半角英数字のみにしても同じですか?
(この手のプログラミングでは、ファイル名は半角英数字のみ使うものです。)

投稿2020/08/25 14:56

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

K.M.PEANUTS

2020/08/26 00:08

PHPファイル名を『index.php』に変更し、formタグのaction="index.php"に変更しましたが、やはり送信内容を取得できません。HTMLファイルとPHPファイルの置き場所は同じです。 何か考えられる原因はありませんか?
退会済みユーザー

退会済みユーザー

2020/08/26 03:02

HTMLとPHPを、それぞれファイルの保存しなおしてhtdocs以下の決めた場所に狙ったとおりに配置されているかを今一度確認を。
K.M.PEANUTS

2020/08/26 09:37 編集

確認し、試してみたけどダメでした。『送信する』をクリックすると本来は何が表示されるべきなんですか?僕の場合はphpファイルのコードが表示されてしまうのですが。(ここで言う「phpファイルのコード」とは、VScodeからchromeにphpファイルをドラッグ&ドロップして表示されるページと同じです。)
退会済みユーザー

退会済みユーザー

2020/08/26 13:36

HTMLとPHPのファイル保存時の文字エンコーディングはBOMなしのUTF-8ですよね。 HTMLファイルを表示するときのURLはどうなっていますか? http://localhost:99999/よくわかるPHPの教科書/なんとか.html みたいでないと辻褄が合いません。(99999は適当な数字。) もしも、file:///Application/MAMP/htdocs/よくわかるPHPの教科書/なんとか.html みたいにURLがなっていたら、その表示方法は間違いです。
K.M.PEANUTS

2020/08/26 23:55

ようやく理解できました! PHPファイルを表示するときはhttp://localhost:8888・・・というように検索していましたが、htmlファイルを表示するときはドラッグ&ドロップで表示していました。正しくは、htmlファイルもhttp://localhost:8888・・・というように検索して表示する。ということで、確認したところ期待通りの結果得られました。本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問