🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

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

HTML

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

Q&A

解決済

1回答

2029閲覧

メールフォーム実装時にphpファイルの入力項目を減らしたい

atsushi-kane

総合スコア6

PHP

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

HTML

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

0グッド

1クリップ

投稿2019/12/22 13:18

編集2019/12/24 20:49

前提・実現したいこと

PHPとhtmlでメールフォームを実装しようとしています。

フリーのphpファイルとhtmlファイルをコピペしてやっているのですが、
htmlからpostで送りたい項目とPHPで受け取る項目の数が違うため、
送信内容確認画面で必要のない項目が出てきてしまいます。

発生している問題・エラーメッセージ

html

1<div class="form-container"> 2 <div class="form-up-container"> 3 <p class="txts">お名前(必須)</p> 4 <input type="text" name="お名前" required> 5 <P class="txts">メールアドレス(必須)</P> 6 <input type="email" name="Email" required> 7 <p class="txts">ご質問など(必須)</p> 8 <textarea name="お問い合わせ内容" required></textarea> 9 </div> 10 <div class="formbtn-box"> 11 <button class="formbtn txts" type="submit" id="sbtn" name="action" value="post">入力内容を確認</button> 12 <button class="formbtn txts" type="reset" id="rbtn">リセット</button> 13 </div> 14</div> 15 16```php 17<!-- ▼************ 送信内容表示部 ※編集は自己責任で ************ ▼--> 18<div id="formWrap"> 19<?php if($empty_flag == 1){ ?> 20<div align="center"> 21<h4>入力にエラーがあります。下記をご確認の上「戻る」ボタンにて修正をお願い致します。</h4> 22<?php echo $errm; ?><br /><br /><input type="button" value=" 前画面に戻る " onClick="history.back()"> 23</div> 24<?php }else{ ?> 25<h3>確認画面</h3> 26<p align="center">以下の内容で間違いがなければ、「送信する」ボタンを押してください。</p> 27<form action="<?php echo h($_SERVER['SCRIPT_NAME']); ?>" method="POST"> 28<table class="formTable"> 29<?php echo confirmOutput($_POST);//入力内容を表示?> 30</table> 31<p align="center"><input type="hidden" name="mail_set" value="confirm_submit"> 32<input type="hidden" name="httpReferer" value="<?php echo h($_SERVER['HTTP_REFERER']);?>"> 33<input type="submit" value=" 送信する "> 34<input type="button" value="前画面に戻る" onClick="history.back()"></p> 35</form> 36<?php } ?> 37</div><!-- /formWrap --> 38<!-- ▲ *********** 送信内容確認部 ※編集は自己責任で ************ ▲--> 39

試したこと

いまはhtmlの項目箇所の必要ない部分をコメントアウトして対応しています。
質問は、このコードの場合、
どこをみるとhtmlから送っている項目、phpで受け取っている箇所、がわかるのでしょうか?

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

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

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

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

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

m.ts10806

2019/12/22 23:08

コードはマークダウンのcode機能を利用してご提示ください。 また「うまくいかない」は誰にも何も伝えない表現なので避けてください(「質問するときのヒント」参照)
atsushi-kane

2019/12/23 03:50

板汚し、大変失礼いたしました。 初めての質問で、要領を得ず、皆様にご迷惑をおかけしたかもしれません。 お詫び申し上げます。
m.ts10806

2019/12/23 04:03

というか、あくまで読みやすく要件もきちんと書いてもらいたいだけなので、かしこまる必要もなく、質問編集してご対応いただければそれで良いですよ。
atsushi-kane

2019/12/24 20:47

編集してみましたが、PHPのコード箇所がhtmlと違ってしまっているのが、なぜかわかりません。 分からないことばかりですみません。
m.ts10806

2019/12/24 21:05

ヘルプ読まれては。 基本は コード部分を選択状態にする →codeボタンを押す →「ここに言語を入力」を対応する言語名に編集 だけです。
atsushi-kane

2019/12/24 23:01

それは行っています。htmlはそれでできましたが、2つ目のphpはそうはなりませんでした。
m.ts10806

2019/12/24 23:59 編集

行えてないからでは。 下記の形式になってません。 ```PHP //ここにコード ``` htmlのほうと見比べてください ```html //ここにコード ```
guest

回答1

0

ベストアンサー

下記が質問のようなのでそこだけに回答します。

どこをみるとhtmlから送っている項目

formタグ内にあるinput要素(select,textarea,button含む)のname属性の属性値

phpで受け取っている箇所

formタグのmethod属性の属性値がpostなら$_POST、未設定かgetなら$_GET
ただ、filter_input()でも受け取れます。

ちなみに基本的なこととなりますし、このあたりはPHPマニュアルにもサンプルコードをもとにしっかり記載があります。
PHPマニュアル:フォームの処理

buttonタグの情報で云々することは多くないので(特性をうまく使えば色々できるけど)基本的にはhtmlから送る情報のほうが多いでしょうけど、別にPHPで使わない情報は受けとるように書かなければ良いだけの話ですので、そこまで深く考える必要はないのではと。

投稿2019/12/25 00:27

m.ts10806

総合スコア80875

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

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

atsushi-kane

2019/12/25 01:38 編集

PHP側で受け取らないように書くということが 具体的にどうしたらいいのかが わからなかったので、最初の質問をしました。 こちらも私の書き方がわかりづらかったかと思います。 PHP側で受け取らないように書く場合は、 具体的にどこをどう変更したらよいのでしょうか?
m.ts10806

2019/12/25 01:55

追加質問があるのになぜ解決済みにしたのでしょうか…? あと、マークダウンの対応されないとこちらも正しく確認できませんし、そもそもPHPでは不要な項目って何でしょうか。 というか単純な話です。 aとbを送ったけどaだけ必要ならaだけ参照すればいい話です。bは参照しなければ使われないだけです。 いずれにしても、現在の質問内容からは「PHP側で受け取らないように書くということが 具体的にどうしたらいいのかが わからなかった」というのは伝わりませんけど…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問