普段POSTメソッドしか使用をいたしません。
POSTを使う場合には、例えば
- form.phpのフォームデータに埋め込まれたformタグにmethod="post"でHTTPメソッドを指定し
- ユーザーがら入力等された情報がHTTPヘッダーに格納され
- ウェブサーバー側でこれを解釈して処理する
と言う大まかな流れが理解できます。
一方、こちらのサイトを参考にGETを使おうと思ったのですが、どうにも同じようなイメージが
湧きません。。(URL常に表示されて受け渡されると言う前提は存じ上げているのですが)
↑create_image.phpの7行目 $id = $_GET['id']で急に使用されております。
どこにもformでmethodでgetを使用している痕跡がないのですが、割愛されているだけなのでしょうか?
もしそうであるとすれば、
1)ユーザーからform.phpでGETメソッドによりidの情報が取得される
2)画像が外部参照により表示される、view.php側では外部の画像ファイルを参照するために
echo '<img src="./create_image.php?id='.$row["ID"].'" />'で
id付きのURLを動的に生成する
3)外部参照先のimage.phpではcreate_image.php?id=XXとなってidが渡され
MYSQLの該当idのデータを取得し出力される
(このように外部ファイルでheaderを image/png等にして出力させこのページをsrc等で参照させる方法は
が画像読み込みで一般的である方法はなんとなく理解はできております)
という流れなのかもしれませんが、
A) 上記で申し上げた通り、どこからGETしてきたのか(上記の(1)が割愛されているだけ?)
B) なぜ直接actionでreloadされないページのcreate_image.php?id=XXが外部参照されている
だけなのに、勝手にidの値を受け取りそれにより必要なページを生成した上で、view.phpから適切に参照されているのかが理解できません。POSTの感覚で、値を渡した先(action="XX.php")がreloadされて初めてその値をHTTPヘッダーが認識して、動的にサイトを構築する理解でいるのですが、このGETのケースでいけば、
$id = $_GET['id']を受け取るべきcreate_image.phpが背後に勝手に動的にページを作成して参照させているようで、どうしても腹落ちしません。
*もしform.phpのactionで"create_image.php?id=nn"のように生成させに行っているのならなんとなくわかる気がするのですが、これでは画像生成用のページに飛んでしまい、view.phpにいかないですよね、、、
もし、アドバイス等を頂ければとても嬉しいです。
よろしくお願い申し上げます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/25 12:29
2018/02/25 12:30
2018/02/25 13:21