HTMLを含むエコー内の変数の場合、二重引用符をエスケープするためにどこにスラッシュを追加しますか?
例:
echo "<input type=\"hidden\" name=\"id\" value=".$row['id']." />";
この部分:
value=".$row['id']."
PHPでHTMLを出力する際のヒント:
htmlspecialchars()
を使用して、「不正な」値を適切にエスケープします。echo
を使用した例:
_echo '<input type="hidden" name="id" value="', htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'), '" />';
_
またはprintf()
:
_printf('<input type="hidden" name="id" value="%s" />',
htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8')
);
_
または、HTMLモードで:
_?>
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?>" />
<?php
_
htmlentities
を使用:
echo "<input type=\"hidden\" name=\"id\" value=\"".htmlentities($row['id'])."\" />";
引用符をエスケープする必要がないように、単一引用符を使用してください。そのようです:
echo '<input type="hidden" name="id" value="'.$row['id'].'" />';