プロが教える店舗&オフィスのセキュリティ対策術

こんにちわ,

今HTMLの勉強をしているのですが,
<html>
<body>
<form method="post" action="hogehoge.html"
enctype="text/plain">
名前:<input type="text" name="name" size="40"><br>
</form></body>
</html>

というように送った場合,
hogehoge.htmlのほうではどうすれば,変数nameの値を表示できるのでしょうか。
また,php等で使用できるのでしょうか。

普通にhogehoge.htmlに
<html>
<body>
「nameの内容」
</body>
<html>
としたいのです。

初歩的な質問ですが,よろしくお願いします。

A 回答 (5件)

再び回答にきました。



>nameがfoo[]の配列になっているんですが,その場合は,…

イマイチ質問の意図がわかりにくいです(^^;
配列に というところが特にわかりませんが、変数にということでしょうか?
配列は変数の集合みたいなものですから、フォームの部品であるselectの"名前"に配列を…というのはありえないと思います。

変数でということでなら一応質問の意味もわかるのですが、それでもやはり疑問に思うのは、「nameを変数で動的にする意味があるのか?」という点です。
nameは固定的に名前をつけておけば受け側のhogehoge.phpでも$_POST["name"]として受け取ることができますので便利で簡単かと。

もし、"name"の部分を動的に…ということであれば、hogehoge.phpになんとかしてindex.phpで使用したnameの値を送ってやらねばならないような気がするのですが…。
    • good
    • 0

基本的には、他の方が回答しているとおり、htmlだけでそれをするのは不可能です。



ただし、サーバにデータが行かなくても良ければ、html内にJavaScriptで処理を書くことはできます。その場合は、hogehoge.htmlにとばすのではなく、サブミットしたときにJavaScriptで書いたプログラムが呼ばれるようにします。そのプログラムで新しいページのhtmlを吐き出してあげればよいのです。

詳細は割愛します。ご参考までに。
    • good
    • 0

HTMLのみでは難しいと思います。



PHPなどでならばお察しのとおり送信されてきた値を受け取ることが可能だと思います。

PHP4ならば POST送信された値は

$_POST['name'] として変数へ格納することができます。

それらを、PHPでHTMLへ出力させることで可能です。

print "<html>";
print "<body>";
print $_POST['name'];
print "</body>";
print "</html>";

こんな風でどうでしょう?
ちなみに出力の仕方は色々ありますので上のはほんの一例ですが^^;
    • good
    • 0
この回答へのお礼

ありがとうございます。
ただ,たとえば,index.phpからhogehoge.phpに移る場合に,index.phpのほうで,
echo '<form action="hogehoge.php" method="POST">';
echo "<select name=\"foo[]\" size=3 multiple>";
echo "<option value=\"value1\"> 1"
echo "</option>";
echo "<option value=\"value2\"> 2";
echo "</option>";
echo "<option value=\"value3\"> 3";
echo "</option>";
echo '</select>';
echo '<input type="submit" value="選択">';
echo '</form>';
としたときには,
nameがfoo[]の配列になっているんですが,その場合は,
print "<html>";
print "<body>";
print $_POST['name'];
print "</body>";
print "</html>";
はどのようにかきかえればいいのでしょうか。

お礼日時:2003/10/30 15:06

>hogehoge.htmlのほうではどうすれば,変数nameの値を表示できるのでしょうか



html ファイルは、表示の体裁を整えるための記述しかできませんので、データの受け取り機能は持っていません。
データを受け取って処理する場合、cgiやasp,phpなどの「プログラム」で処理する必要があります。
    • good
    • 0

html→htmlにはデータを受け渡して実行するような機能はありません。


あくまでも出力だけをするものです。
そのようなことがしたいのだったらCGIを使用する必要がありますよ。
CGIは受け渡されたデータを実行するためのものなので言われるようなことが出来ます。
    • good
    • 0

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