2012-04-23 3 views
0

これは非常に簡単な質問かもしれませんが、わかりません。私は人の身長を示す5' 5''のようなPHPを使って、HTMLの隠しフィールドに特殊文字を含む値を格納する必要があります。PHPを使用してHTMLの隠しフィールドに特殊文字を含む値を格納する方法

値はMySqlデータベースに保存されます。私はこの

echo "<input type='hidden' id='ed_your_height' name='hd_your_height' 
value=".html_entity_decode($your_heigth)."/>"; 

echo "<input type='hidden' id='ed_your_height' name='hd_your_height' 
value=".htmlentities($your_heigth)."/>"; 

のようなものを試してみましたが、それは私の値の両方のケースで5'の代わり5' 5''を与えます。私はドロップダウンでこれらの値を表示し、いくつかの比較を実行する必要があります。

特殊文字を含む値をHTML隠しフィールドに格納してから(データベースから取得する)どうすればよいですか?

+0

「var_dump($ your_height);」とは何ですか? –

答えて

0

htmlentities()html_entity_decode()に適切なフラグを付けてください。

$string = html_entity_decode($_POST['fieldname'], ENT_QUOTES, 'UTF-8'); 
0

使用htmlspecialchars:クライアント側、サーバー側で

<input type="text name="fieldname" value="<?php echo htmlentities($string, ENT_QUOTES, 'utf-8'); ?>"> 

value="<?=htmlspecialchars($string)?>" 

short_open_tagがオン(不良)またはPHP 5.4(良好)を使用していると仮定します。それ以外の場合は、完全な<?php echoフォームを使用してください。

PS:最初に問題が発生したのは、属性を引用していなかったからです。ブラウザの[ソースの表示]オプションを使用した場合、出力はvalue=5' 5''であるため、値として解釈されます'5とカスタムブール値属性5''と呼ばれます。

関連する問題