• ベストアンサー

フォームからのデータの引渡し

<FORM method="post" action="./formmail.php"> <INPUT type="text" name="namae" size="20"> <INPUT type="text" name="tel" size="20"> : : : </FORM> というようなhtmlファイルからformmail.phpでデータを受け取る方法教えていただきたいのです。 上記HTMLファイルのINPUTタグ(入力項目)の数も自由に変更可能でnameも自由に変更した場合でも、formmail.phpは一切変更なしに対応したいのです。 例えばPerlならCGI側に if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); @a = split(/&/, $query_string); foreach $x (@a) { ($name, $value)=split(/=/, $x); $msg .= "$name:$value<BR>\n"; } } とすることにより、受け取れると思います。 PHPではどう書けばよいでしょうか? よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは。 foreach($_POST as $name => $value){ $msg .= "$name : $value<BR>\n"; } これだけでいいのかな。 あー、PHP楽チン。

kazu28
質問者

お礼

ありがとうございました。 おかげさまで解決しました。 本当にPHPは楽チンですね。

その他の回答 (1)

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.1

PHPって何?って感じのわたしなのですが、 興味があって調べてみました。 ここに参考になるサンプルがあるようです。 http://php.benscom.com/manual/ja/reserved.variables.php ご覧下さい。

kazu28
質問者

お礼

いいページを教えていただきありがとうございました。 私には少し難しいような・・・ でも、頑張って勉強します。

関連するQ&A

  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • 同一ページの複数のフォーム通信

    お世話になります。 <form method='POST' action='#1'> <input name='text1'> <input name='text2'> <form method='POST' action='#2'> <input name='text3'> <input method='submit' value='B'> </form> <input method='submit' value='A'> </form> Aにて text1,2,3を#1へ送信 Bにて text3を#2へ送信 したいのですが、上手くできません。 <form></form>で囲まれている中に 更に<form></form>する事はできないのでしょうか? 代替案はありますか?? よろしくお願いします。

  • POSTデータのNAME属性をVALUEによって取得する方法

    HTML→PHPのPOSTデータのやりとりについて、 【HTML】 <form name="form1" method="post" action="xxx.php"> <input name="01" type="text" value="1"> <input name="02" type="text" value="0"> <input name="03" type="text" value="0"> <input name="04" type="text" value="1"> <input type="submit" name="Submit" value="送信"> </form> 【xxx.php】 フォームから送信されたデータを使って、「value」が"1"の「name」を拾うのにはどのように書けばいいでしょう? ↓このように取得したいです。 $data[0]="01"; $data[1]="04"; よろしくお願いします。

    • ベストアンサー
    • PHP
  • 標準入力からデータが読込めない

    現在perlにてcgiを作成しています。 以下のようなcgiを作成したのですが、POSTで受取ったデータが 標準入力より取得できません。 解決策、又は、調査方法等ご存知の方いらっしゃいましたら教えてください。 --------- a.cgi -------- #!/usr/bin/perl print "Content-type: text/html\n\n"; if( $ENV{'REQUEST_METHOD'} eq "POST" ){ read( STDIN, $buffer, $ENV{'CONTENT_LENGTH'} ); }else{ $buffer = $ENV{'QUERY_STRING' }; } print <<"HTML"; <HTML><HEAD><TITLE>テスト</TITLE> <META http-equiv=Content-Type content="text/html;"> </HEAD> <BODY> <FORM id=Form1 name=Form1 action=a.cgi method=post> HTML print <<"HTML"; <INPUT type=hidden value=aaa name=text1> <INPUT onclick="return confirm('送信します。よろしいですか?');" type=submit value=送信 name=Button1> </FORM> </BODY> </HTML> HTML exit; -------------------------------------------------- $ENV{'REQUEST_METHOD'} は POST を取得できていますし、 $ENV{'CONTENT_LENGTH'} も文字数は取得できています。 どうか宜しくお願い致します。

    • ベストアンサー
    • Perl
  • PHPでフォームからの送信

    PHPでフォームからデータを送信する方法について教えてください。例えばPHPファイルの中に下の様にフォームを作成して、送信ボタンを2つ作ります。一つのボタンをクリックすると全てのフォームの情報が送信されてしまいますが、独立して送信できるようにはできないのでしょうか。簡単にでもできるかできないかを教えていただけましたら、あとは自分でなんとかがんばりますので、どなたか教えていただけれますと幸いです。宜しくお願いします。 <form action="abc.php" method="post"> AAA:<input type="text" name="simei"> BBB:<input type="password" name="pass"> <input type="submit" value="送信"> </form> <form action="abc.php" method="post"> CCC:<input type="text" name="simei"> DDD:<input type="text" name="pass"> <input type="submit" value="送信"> </form>

    • ベストアンサー
    • PHP
  • フォームから受け取ったデータを変数に/PHP

    入力フォームからデータを送信し、受け取ります。 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> この時に受けったデータが、「りんご」だとして この「りんご」を変数にしたいです。 ↓ <?php $keyword = "りんご"; ?> このようにするには、 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> の後にどのような処理をすればよいでしょうか? または初めから「$keyword」としてフォームからデータを送ることはできるのでしょうか? 何卒ご指導の程よろしくお願いします。

    • ベストアンサー
    • PHP
  • 複数のフォームデータの更新

    こんにちは、 現在下記のような感じで、それぞれのIDごとに、 データを更新しておりますが、 これを一度の更新で、複数のデータの更新を行うには、 どうすればよいでしょうか?SQL文を繰り返せば出来そうですが!? いまひとつ、ピンとこないのでよろしくお願いいたします。 <form name="form1" method="post" action="kousin.php?id=1"> <td>あいう</td> <td><input name="A" type="text" id="A" size="2"></td> <td><input name="B" type="text" id="B" size="2"></td> <td><input name="C" type="text" id="C" size="2"></td> <input type ="submit" name = "submit" value = " 更新 "> <form name="form1" method="post" action="kousin.php?id=2"> <td>かきく</td> <td><input name="A" type="text" id="A" size="2"></td> <td><input name="B" type="text" id="B" size="2"></td> <td><input name="C" type="text" id="C" size="2"></td> <input type ="submit" name = "submit" value = " 更新 "> kousin.php側 $id = $_GET['id']; $time0 = $_POST['A']; $time1 = $_POST['B']; $time2 = $_POST['C']; $update = "update time_tb set "$time" where id='$id'";

    • 締切済み
    • PHP
  • 画面の更新無しでフォームデータを送信する

    送信した値は外部ファイルに書き込むため、ページの更新は避けたいのですが、何か方法はありませんでしょうか? 送信完了のチェックとかも必要ないです。 <form name="my_form" method="post" action="./index.php"> <input type="text" name="count" value="1"><br /> <input type="submit" value="送信" /> </form>

    • 締切済み
    • PHP
  • [Netscape Communicator 4.7]×[FORMタグ]の組み合わせ続き

    先に投稿した質問内容に利用規約違反してしまっている部分があったので、修正・追加したものを再度投稿します。 htmlファイル(特に関係無さそうな部分省略) <form name="form1" method="post" action="送り先CGI"> <input type="password" name="pasu1" size="10"> <input type="password" name="pasu2" size="10"> <input type="password" name="pasu3" size="10"> <input type="submit" name="sabu" value="nn4win"> </form> CGIファイル(特に関係無さそうな部分省略) #!/usr/bin/perl $title = 'フォーム内容表示'; $jcodelib = './jcode.pl'; $kanjicode = 'euc'; require "$jcodelib"; &init_form($kanjicode); $pasu1 = $form{'pasu1'}; $pasu2 = $form{'pasu2'}; $pasu3 = $form{'pasu3'}; $sabu = $form{'sabu'}; &error; exit(); sub init_form { local($query, @assocarray, $assoc, $property, $value, $charcode, $method); $charcode = $_[0]; $method = $ENV{'REQUEST_METHOD'}; $method =~ tr/A-Z/a-z/; if ($method eq 'post') { read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } else { $query = $ENV{'QUERY_STRING'}; } @assocarray = split(/&/, $query); foreach $assoc (@assocarray) { ($property, $value) = split(/=/, $assoc); $value =~ tr/+/ /; $value =~ s/%([A-Fa-f0-9][A-Fa-f0-9])/pack("C", hex($1))/eg; &jcode'convert(*value, $charcode); $form{$property} = $value; } } sub error { print <<__END__; content-type:text/html <html> <head> <title>$title</title> $contenttype </head> <body bgcolor="#FFFFFF" text="#000000"> $pasu1<br> $pasu2<br> $pasu3<br> $sabu<br> </body> </html> __END__ exit(); }

    • 締切済み
    • CGI
  • PHPでの変数引渡しに関して

    "HTML -> PHP1 -> PHP2"という順序で変数の引渡しを行いたいと考えております。 "HTML -> PHP1"への変数引渡しは正常なのですが、"PHP1 -> PHP2"への変数引渡しがうまくいかない状態です。 1) "HTML -> PHP1" ・HTML <form name="toroku" method="POST" action="result.phtml">  <input type="text" name="word1" size="34"></td></tr>  <input type="text" name="word2" size="34"></td></tr>  ・・・・ </form> ・PHP1(result.phtml) <? require('../include/init.inc'); $word1 = $_POST{'word1'}; $word2 = $_POST{'word2'}; $word3 = $_POST{'word3'}; $email = $_POST{'word7'}; $word8 = $_POST{'word8'}; $seireki = $_POST{'seireki'}; $tuki = $_POST{'tuki'}; $nitiji = $_POST{'nitiji'}; $result = pg_query($con, "select .........."); $rows = pg_num_rows($result); var_dump($HTTP_POST_VARS); ?> <FORM action="./result2.phtml" method="post"></FORM> ・結果 array(8) { ["word1"]=> string(6) "テスト"       ["word2"]=> string(6) "テスト"       ["word3"]=> string(6) "テスト"       ["word7"]=> string(16) "test1@test.co.jp"       ["word8"]=> string(16) "test1@test.co.jp"       ["seireki"]=> string(4) "2008"       ["tuki"]=> string(2)"01"       ["nitiji"]=> string(2) "01" } 2) "PHP1 -> PHP2" ・PHP2 <? var_dump($HTTP_POST_VARS); ?> ・結果 array(0) { } 2)でHTMLの変数を継続して渡したいのです。 ご存知のかたがいたしたら、ご教示頂ければと思います。

    • ベストアンサー
    • PHP

専門家に質問してみよう