電子書籍の厳選無料作品が豊富!

PHPを勉強している初心者ですが、
HTMLでつまづいています。
formタグのactionでは通常、送信先のファイルを指定すると思いますが、
action="?"と記載されています。
この場合どのような動きになるのでしょうか。

<form action="?" method="POST">
<img src="image.php?time=<?=$time?>&key=<?=$key?>">
<br>
画像の文字列:<input type=text name=image_key></td>
<br>
<br>
<input type=hidden name=time value="<?=$time?>">
<input type=hidden name=key value="<?=$key?>">
<input type=submit value="ログイン">
<br>
<hr>
copyright(C) <a href="http://php.to/">http://php.to/</a>
</form>

A 回答 (3件)

PHPはほとんどわかりませんが、htmlから言えば、


「?」は「./?」の省略形のような気がします。
かなり省略されてまして、今開いているページが「index.php」だと仮定すれば、
本来は「./index.php?」と書けます。
しかし、index.phpをトップページに指定してある場合、「./」でも問題ありません。
これは「http://okwave.jp/index.php」へ「http://okwave.jp/」でアクセスできるのと同じ事です。
そしてさらに、「./」は省略できます。

ですので、結局「?」しか残らないのです。
つまり、自分自身のファイルへformを送信しているのでしょう。

「?」はgetメソッドのときにパラメータを指定するときに使うものなのだと思っているので、ちょっとわからないですが、自分自身に送っているのでしょう。


ですので、「この場合どのような動きになるのでしょうか。」と聞かれれば、
「自分自身を送信先のファイルとしている」ですね。
    • good
    • 0
この回答へのお礼

丁寧な回答ありがとうございます。
自分自身を表しているんですね。
すっきりしました。

お礼日時:2012/06/12 07:18

HTMLは、javascriptから操作できます。


つまり、action属性にどんな値が入っていようが、後からなんとでも加工ができるということです。
ちなみに、額面通りに?を解釈すると、表示中のページにデータが送信されます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
表示中のファイルに送信することがわかりました。

お礼日時:2012/06/12 07:19

あくまでサンプルだからじゃないでしょうか?

この回答への補足

ちゃんと、実行できるんです。
下記サイトのサンプルソースです。
http://php.to/tips/7/
とても不思議です。。。

補足日時:2012/06/11 21:23
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
表示中のファイルに送信することがわかりました。

お礼日時:2012/06/12 07:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!