• ベストアンサー

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> よろしくお願いします

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

  • ベストアンサー
  • 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% (5238/13705)
回答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間違えました (自分でもおどろき