• ベストアンサー

POSTで送りたい

PHP初心者です HTMLタグが混じっ文字をHTMLごとPOSTで次ページに送る方法を教えてください ここでは<p><a href="./">TOPに戻る</a></p>をポストしたいです <form action = "test_view.php" method = "post" > <input type="text" name="<p><a href="./">TOPに戻る</a></p>"> <input type="submit" name="" value="送信"> </form> よろしくお願いします

  • flash0
  • お礼率97% (297/306)
  • PHP
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

マルチバイト文字をhtmlspecialcharsでエスケープするときは クォートのタイプや、文字コードまで渡してやるとトラブルが減ります。 また、postで送られてくる生データあくまでもエンコードされたデータでしかないので それをphp側で最大限解釈しているものです。 生データを確認する場合はこんな感じで行います <form method="post"> <input type="text" name="hoge" value="<?php print htmlspecialchars('<p><a href="./">TOPに戻る</a>',ENT_QUOTES,'UTF-8'); ?>"> <input type="submit" value="送信"> </form> <?php if(isset($_POST)){ $rawpostdata = file_get_contents('php://input'); print $rawpostdata; } ?>

flash0
質問者

お礼

回答ありがとうございます php側で最大限解釈してるんですね勉強になりました

その他の回答 (2)

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

PHPを使ってなら <input type="text" name ="" value="<?php echo htmlspecialchars('<p><a href="./">TOPに戻る</a>'); ?></p>">

flash0
質問者

お礼

回答ありがとうございます htmlspecialcharsで送れました 受けとったphpで表示したらhtml表示できていました ポストすると受け取り先のphpでhtmlspecialchars_decodeしなくても自動でhtmlに変換されるのでしょうか? よろしくお願いします

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

なぜnameにつっこんでいるのかわかりませんが・・・ <input type="text" name="hoge" value="&lt;p&gt;&lt;a href=&quot;./&quot;TOPに戻る&lt;/a&gt;&lt;/p&gt;"> とすればいいのでは? 少なくともクォートの競合だけは直さないとまずいですね

flash0
質問者

お礼

すいません nameと value間違えました (自分でもおどろき

関連するQ&A

  • 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
  • POSTとGETを利用しようと

    サブミットのときにはgomiのデータが$_POST['gomi']にセットされキャンセルのときにはgomiのデータが$_GET['gomi']にセットされるようにしたいのですが x.html: <form action="x.php" method="post"> <input type="text" name="gomi"/> <input type="submit" value="set"/> </form> <p><a href="x.php">cancel</a></p> ではもちろんcancelをクリックしても$_GET['gomi']にgomiのデータがセットされません どうしたらできるでしょうか?

    • ベストアンサー
    • PHP
  • $_POSTが、上手くできません。。

    PHP勉強中の初心者です。 簡単な教材で勉強しているのですが、何度やっても上手く行かない部分があり、質問させて頂ければと思います。 やりたい事としては、「form.html」で入力した内容を、$_POSTで「view.php」に表示をするということです。 上手くいっていない処理としては、「form.html」のフォームから文字を入力し、「view.php」で、『○○さん、こんにちは』と表示がしたいのですが、実際には、「form.html」に文字を入れて送信すると、「view.php」の全ソースがブラウザ上で、表示されてしまいます。 こちらは、どのようにすれば、『○○さん、こんにちは』という風に表示することが出来ますでしょうか?php自体の設定に問題があるのでしょうか? もしお分かりになる方がいらっしゃれば、ご教授いただけると幸いです。宜しくお願い致します。 ■form.html <HTML> <HEAD> <TITLE>テキスト送信のテスト</TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </HEAD> <BODY bgcolor="#FFFFFF" text="#0000000"> <FONT size="4">テキスト送信のテスト</FONT> <FORM name="form1" method="post" action="view.php"> 名前:<BR> <INPUT type="text" name="onamae"> <BR> <INPUT type="submit" value="送信"> </FORM> </BODY> </HTML> ■view.php <html> <head> <title>PHPのテスト</title> </head> <body> <?php print $_POST["onamae"]. "さん、こんにちは"; ?> </body> </html>

    • ベストアンサー
    • PHP
  • POSTに対しての認識は下記でよいでしょうか?

    POSTに対しての認識は下記でよいでしょうか? http://www.phpbook.jp/appli/form/index3.html ・<form method="POST" action="./kaitou2.php">' action指定のphpファイルに入力した情報が渡される。 ・method="POST POSTという転送方法を採用 ・<form method="POST" name="text1"> <input type="submit" name="btn1" value="回答"> </form> </body> </html> name="text1" どのようその値を取得するか。getelementbyidと同じこれがついている要素の値を取得して下記に渡される。 $input_data = (int)$_POST['text1'];

    • ベストアンサー
    • PHP
  • リンクをクリックした時にformからPOST送信したい。

    HTML、PHP、JavaScript等でサイトを作っているのですが・・・。 【実現出来ている例】 <form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">  <input type="submit" value="送信"> </form>  submitボタンを一つ置いて、それがクリックされた場合に formの内容をPOSTで送信する。 【実現したい例】 <form name="form1 method="post">  <a href="Next.php" onClick="???">???</a> </form>  formの中のリンクをクリックされた場合に、formの内容を POSTで送信したいのですが、その実現方法がわかりません。 GETで送るという手もあり得ますが、今回はどうしてもPOST したいのですが。

    • ベストアンサー
    • HTML
  • 複数のフォームから送信

    複数のフォームから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> ------------------------------------

  • リンク風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等の知識が必要となるのでしょうか? ご教授宜しくお願い致します。

  • $_POST['hoge']のデータをフラッシュするには

    <form method="post" action=""> <input type="text" name="hoge1" value="$_POST['hoge1']"> <input type="text" name="hoge2" value="$_POST['hoge2']"> <input type="submit" value="送信"> </form> データ送信してもフォーム内にデータが残るようにしたのですが、HTMLをこのままにして、PHPの方で$_POST['hoge']の中身を消去したいのですが、どのようにすればいいでしょうか? 記入漏れの時にはそのデータが残り、すべてを記入してデータ送信後は再び何も書かれていない状態にしたいのです。できれば、Javascriptを使わないでやりたいと考えています。よろしくお願い致します。

    • 締切済み
    • PHP
  • フォーム送信後の更新ボタンでも$_POST変数が初期化されない

    フォームのサブミット後にプログラムが走るようになっているtest.phpがあるのですが、フォーム送信後に更新ボタンを押しても再度ポストされるようになってしまっています。 ブラウザの更新ボタンを押したときには、ポストせずにフォームをクリアしたいのですが、どうすればできますでしょうか? <form method="post" action="<?php print($_SERVER['PHP_SELF']); ?>"> <input type=text name=aaa> <input type="submit" name="submit" value="submit"> </form> <?php if($_POST['submit']) { 処理 } ?>

    • ベストアンサー
    • PHP
  • POSTできない

    いま、phpを勉強中です。 そこで簡単なコードを書いてテスト&トライしてますがいきなりつまずいてます… <HTML> <HEAD> <TITLE>post request</TITLE> </HEAD> <BODY> <FORM ACTION="sample.php" METHOD="POST"> 名前:<input type="text" name="myname" value=""> <input type="submit" name="cmd" value="送信"> </FORM> <?php print "入力された文字は?".$myname . "<BR>"; ?> </BODY> </HTML> これを実行し、フォームに文字を入れて送信しても画面にでてきません。"入力された文字は?"だけが表示されたままです。(送信を押すと砂時計がでるのでプログラム自体は走っていると思います) postを使う場合どこか設定をしないといけないのですか??よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう