• ベストアンサー

php内のformのvalueに変数の値をいれたい

どうぞよろしくお願いします。 php内のformのvalueに変数の値をいれたいのですが、下記の様に書くと<?=$a?> がそのままソースに出てしまいます。 どの様に書けば変数の値をvalueに格納できるでしょうか? <?php $a='abcd'; print'<form method="post" action="abc.php">'; print'<input type="hidden" name="a" value="<?=$a?>">'; print'</form>'; ?>

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

  • ベストアンサー
  • 4017B
  • ベストアンサー率73% (1304/1775)
回答No.1

<?php $a = 'abcd'; ?> <form method="post" action="abc.php"> <input type="hidden" name="a" value="<?php echo $a; ?>"> </form> ~こんな感じで。省略表記は全く意味無いので、普通にそのまま後から見返して分かり易い様に記述して置く方が良いです。 P.S. php構文の終わりを宣言する ?> は必要である場合を除き、通常のphpファイルの終端などでは常に省略して何も記述してない方が潜在的なバグを防げます。 また特に動的に変化の無い文字列を出力するだけなら、print や echo は使わずにHTML直書きにした方が10倍以上実行速度が速くなります。HTMLとphpプラグラムを混在させて記述出来るのがphpの最大の利点です。それをしないのであればphpで書く意味がありません。

pintxos
質問者

お礼

有難うございます。 また大変参考になるご意見いただき感謝いたします。 書き直してみます。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5078/13270)
回答No.2

print文でタグを出力したいのであれば print'<input type="hidden" name="a" value="' . $a . '">';

pintxos
質問者

お礼

ご回答いただいた内容で解決いたしました。 どうも有難うございます。

関連するQ&A

  • Formでの値の取得後、変数での表示ができない

    環境は; RedhatLinux7.1.2 Apache PHP PostgreSQL(今回は関係ないかな) 問題は、フォームにて値を渡した後$xxxxとして変数として表示できるはずなのにできないことです。 ちなみにPostの代わりにGetで行うとアドレス部分に確かに値が渡されたことが認められます。 同じファイルをPHPが使用できるレンタルサーバーで試したところ問題はありませんでした。 **** form.html ***** <form name="a" action="test.php" method="post"> <input type="text" name="a"> <input type="submit" value="submit" name="submit"> </form> **** test.php **** <? print $a; ?> 何が悪いのか全くわからないので、どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • Formを使ったPHP間での受け渡しについて

    いつもお世話になっています。 PHP間での変数の受け渡しで・・ <form action="<?= test.php ?>" method="POST">   <input type="hidden" name="id" value="aaa"/>   <input type="submit" name="submit" value="送信"> </form> と記述するとtest.phpには渡したいaaaが渡されるのですが、 これだとsubmitを押さないと渡せないため困っています。 したいことをまとめると、submitを使わずにページが表示されたら スグに変数が渡されるようにしたいです。 いろいろ試してみましたが、力不足で出来ませんでした。 宜しくお願いします!

    • ベストアンサー
    • PHP
  • PHPでFORMから来る変数名を変数にするには

    PHPでFORMから来る変数名を変数にするにはどうしたらよろしいでしょうか? 可変変数など調べたのですが、値を変数にすることは出来ても変数名を変数にする事は難しいようです。 <form action="reg.php"> <input type = "text" name = "comment"> <input type = "submit"> </form> このform内のnameが動的に変わるプログラムで,reg.phpにおいて名前(今ならcomment)を変数に格納したいと思っています。 reg.php 本来なら $comment = _REQUEST['comment']; とすると思うのですが、commentが動的に変動する場合、_REQUEST内をどう書き換えれば良いかが分からず困っています $dynamic_name = _REQUEST['ここをどう書けばよいでしょうか'] このことを考えてから今はform内ですが、formでなくてもどうやって書いてよいか分からず疑問に思いました 例えば $test = 'abc'; としたとき $test_name にtestという文字列を入れたい場合(つまりabcの変数名)どうやって入れたらよいのでしょうか?(もちろんtestと言う名前は動的に変わります) 詳しい方いらっしゃいましたらご回答いただければと思います。 良いアドバイスございましたら教えてください よろしくお願いします

    • 締切済み
    • PHP
  • <FORM> </FORM> の中に さらに <FORM> </FORM>があるときのSUBMITボタンについて

    今、 <FORM ACTION="aaa.asp" METHOD="POST" Name="form1"> <input type="SUBMIT" value="ボタン1"> <FORM ACTION="bbb.asp" METHOD="POST" Name="form2"> <input type="SUBMIT" value="ボタン2"> </FORM> </FORM> としていて、ボタン2を押すとbbb.aspに 飛んでほしいのでに、aaa.aspに飛んでしまいます。 こういう場合どのようにすればよいのでしょうか? それぞれのボタンは hidden の値をそれぞれの フォームの中の値を渡したいので どうしてもSubmitがいいのです。

    • ベストアンサー
    • HTML
  • リンク風sabmitのformをまとめられますか?

    フォームの送信を、リンク風に表示しているのですが、 複数ある場合、フォームタグをまとめることはできるのでしょうか? 下記にHTMLを記載しております。 <form name="word1" method="POST" action="word.php"> <input type="hidden" name="fruit" value="みかん"> </form> <form name="word2" method="POST" action="word.php"> <input type="hidden" name="fruit" value="りんご"> </form>    ・    ・    ・    ・ <form name="word100" method="POST" action="word.php"> <input type="hidden" name="fruit" value="ぶどう"> </form> <a href="javascript:document.word1.submit()">みかん</a> <a href="javascript:document.word2.submit()">りんご</a>    ・    ・    ・    ・ <a href="javascript:document.word100.submit()">ぶどう</a> と、1つ1つ書いていて長すぎると思っていたのですが まとめることは可能なのでしょうか? また、可能であれば、javascript等の知識が必要となるのでしょうか? ご教授宜しくお願い致します。

  • form変数の初期化

    <br /><b>Notice</b>: Undefined index: your_name in <b>C:\xampp\htdocs\test\index.php</b> on line <b >83</b><br /> 入力画面で上記のエラーが解決しません。 どうすればいいでしょうか? 入力画面 <?php $_POST = array(); ?> <form method="post" action="./form_check.php"> <div class="element_wrap"> <label>氏名</label> <input type="text" name="your_name" value="<?php echo $_POST["your_name"]?>"> </div> <div class="element_wrap"> <label>メールアドレス</label> <input type="text" name="email" value=""> </div> <input type="submit" name="btn_confirm" value="入力内容を確認する"> </form> 確認画面 <?php $your_name = $_POST["your_name"]; ?> <form method="post" action="./test.php"> <div class="element_wrap"> <label>氏名</label> <p><?php echo $your_name; ?></p> </div> <div class="element_wrap"> <label>メールアドレス</label> <p><?php echo $_POST['email']; ?></p> </div> <input type="submit" name="btn_submit" value="送信"> </form> <form method="post" action="./index.php"> <!--<input type="button" name="btn_back" onclick="history.back()" value="戻る">--> <input type="submit" name="btn_back" value="戻る"> <input type="hidden" name="your_name" value="<?php echo $_POST['your_name']; ?>"> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>"> </form>

    • 締切済み
    • PHP
  • 同一ページで複数のformを扱う場合

    同一のページ内にhiddenでIDを振った削除ボタンを用意しクリックされたIDを取得するにはどのようにすれば良いでしょうか? <form action="/test.php" name="1" method="post"> <input type="hidden" name="id" value="1" /> <input type="submit" name="delete" value="削除"> </form> -- 省略 <form action="/test.php" name="10" method="post"> <input type="hidden" name="id" value="10" /> <input type="submit" name="delete" value="削除"> </form> formにnameを振ってみても最後のIDがPOSTされてしまいます。

    • 締切済み
    • PHP
  • 5個のFormタグを1つのFormタグでまとめたい

    <form method="POST" action="jan_Edit.asp" id=form2 name=form2> <input type="hidden" name="a" Value =<% = YY1 %> > ~</form> <form method="POST" action="jan_Edit.asp"> <input type="submit" value="This Month"> </form> <form method="POST" action="jan_Edit.asp" id=form2 name=form2> <input type="hidden" name="a" Value =<% = YY2 %> >~</form> 現在、カレンダーを作成しています。上記(3つしか乗せてませんが同じ内容) 変数は YY1=1年前の月初 MM1=1か月前の月初 MM2=1ヶ月後の月初 YY2=1年後の月初で インプットタイプでサブミットを使用しています。端的にいうと、現在Formを5個使って月次、年次でカレンダーを作ってます しかし、Formがこれだけ並んでたら、かっこ悪いので1つのForm文でまとめれたらと 思ってますがなかなかグーグル先生でもみつかりません。 Formを一つにまとめれたらと思いますが、どなたか知恵をおかしください。

    • ベストアンサー
    • HTML
  • for文でpostの値を受け取る方法

    以下のようなコードで、postで投げられた値を、for文で、添え字を組み立てて受け取って表示したいのですが、添え字の生成が間違っているのか、うまくいきません。 何を修正すればよいか教えてください。 <form action="" method="post"> <input type="hidden" value="A" name="name_0"> <input type="hidden" value="B" name="name_1"> <input type="hidden" value="C" name="name_2"> <input type="hidden" value="D" name="name_3"> <input type="submit"> </form> <?php for($i =0; $i < 4; $i++){ if (!empty($_POST['name_$i'])) { print $_POST['name_$i']; } } ?>

    • ベストアンサー
    • PHP
  • 【初歩】PHP_SELFで更新先の画面に変数の値を渡すには?

    下記のような構造のPHPスクリプトで,更新ボタンを押して PHP_SELFで同じ画面を再表示した際,$varの中が空っぽに なってしまうのですが,「1」を維持するにはどうしたらいいですか. <form></form>の間に,type="hidden"のフォームを設けて 格納するとかしかないでしょうか? <form method="post" action="<?php $_SERVER["PHP_SELF"] ?>"> ~~フォーム部品~~ <input type="submit" name="reg" value="更新"> </form> <?php $var = 1; ?>

    • ベストアンサー
    • PHP