チョコミントアイス

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>

よろしくお願いします

A 回答 (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;
}
?>
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/07/01 16:26

PHPを使ってなら



<input type="text" name ="" value="<?php echo htmlspecialchars('<p><a href="./">TOPに戻る</a>'); ?></p>">
    • good
    • 0
この回答へのお礼

回答ありがとうございます
htmlspecialcharsで送れました

受けとったphpで表示したらhtml表示できていました

ポストすると受け取り先のphpでhtmlspecialchars_decodeしなくても自動でhtmlに変換されるのでしょうか?

よろしくお願いします

お礼日時:2014/07/01 14:52

なぜnameにつっこんでいるのかわかりませんが・・・



<input type="text" name="hoge" value="&lt;p&gt;&lt;a href=&quot;./&quot;TOPに戻る&lt;/a&gt;&lt;/p&gt;">

とすればいいのでは?
少なくともクォートの競合だけは直さないとまずいですね
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/07/01 14:13

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


おすすめ情報