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

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

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

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

Q&A

解決済

3回答

177閲覧

phpでのフォーム作成

shaobao

総合スコア33

PHP

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

0グッド

0クリップ

投稿2017/09/15 05:12

こんにちは。

phpフォーム作成について、参考書籍のなかにあるフォーム作成箇所を見ると、
$_SERVER["REQUEST_METHOD"] == "POST"ような記載がなくて、ネットで調べた時に、フォーム作成のチェックページに、$_SERVER["REQUEST_METHOD"] == "POST"ような記載の場合がある、これを記載しなくて良いでしょうか?

安全なフォームを作成したいと考えているので、
どなた方がわかればご教示お願い致します。

何卒よろしくお願いいたします。

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

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

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

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

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

guest

回答3

0

$_SERVER["REQUEST_METHOD"] == "POST"は、「POSTでリクエストが投げられた場合」という意味です。

必要か必要でないかは、状況次第です(たとえば、検索フォームなどでは、クエリをGETで投げられたほうが便利です)。

なお、当然ながらPOSTリクエストでない場合、$_POSTは空になります。$_REQUESTに類するもので取得したのでもない限り、「値の来た経路を間違える」ようなことも起きません。

投稿2017/09/15 05:15

編集2017/09/15 05:21
maisumakun

総合スコア145121

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

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

shaobao

2017/09/15 06:30

ご回答いただき誠にありがとうございます。 参考になりました。 ありがとうございました。
guest

0

ベストアンサー

フォーム作成のチェックページ

であればあった方が良いです。
URL直打ちでのアクセスの場合に$_POSTは参照できないのでisset()などで何かしら対応していない限りはPHPのエラーが出力されます。
個人的には下記のようにして異常検知を先に書くようにしています。

php

1if($_SERVER["REQUEST_METHOD"] !== "POST"){ 2//不正アクセスとみなす処理 3//ここは状況次第。「不正アクセスです」と一言出すだけにするとか入力画面などに強制リダイレクトするとか。 4 5}else{ 6//postされた処理。入力チェックなど 7 8}

投稿2017/09/15 05:22

m.ts10806

総合スコア80765

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

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

shaobao

2017/09/15 06:29

ご丁寧に回答いただき誠にありがとうございます。 参考になりました。 ありがとうございました。
guest

0

ちょっと質問の意図がわかりかねますが

$_SERVER["REQUEST_METHOD"] == "POST"

自体はあまり意味がありませんので、チェックする必要性は高くありません。
POSTの適当な要素を取りに行くときに前段階でmethodが何で送られてきてるかを
念の為しらべておくくらいの用途でしょう

投稿2017/09/15 05:18

yambejp

総合スコア114572

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

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

shaobao

2017/09/15 06:30

ご回答いただき誠にありがとうございます。 参考になりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問