我有一个UPDATE php页面来编辑包含Youtube的嵌入代码的网站数据库,然后在调用该表时正确显示该代码。在更新页面上,我调用数据库的相同部分,以便能够更改/编辑嵌入代码,但它不会在表单中仅显示原始完整代码<iframe width=
。
<html>
<?
if (isset($_POST['update'])) {
?>
<form method="post">
Submitter: <input type="text" name="submitter" value="<?= $video['submitter'] ?>" /> <br />
Video Title: <input type="text" name="videoTitle" value="<?= $video['videoTitle'] ?>" /> <br />
Channel Name: <input type="text" name="channelName" value="<?= $video['channelName'] ?>" /> <br />
Video Link: <input type="text" name="videoLink" value="<?= $video['videoLink'] ?>" /> <br />
<input type="hidden" name="videoId" value="<?= $video['videoId'] ?>" />
<input type="submit" value="Save" name="save" />
</form>
<?
}//endIf
?>
</html>
答案 0 :(得分:1)
您必须使用htmlentities将引号转换为HTML实体。
$str = htmlentities($str);
http://php.net/manual/en/function.htmlentities.php
像这样使用:
<form method="post">
Submitter: <input type="text" name="submitter" value="<?= $video['submitter'] ?>" /> <br />
Video Title: <input type="text" name="videoTitle" value="<?= $video['videoTitle'] ?>" /> <br />
Channel Name: <input type="text" name="channelName" value="<?= $video['channelName'] ?>" /> <br />
Video Link: <input type="text" name="videoLink" value="<?= htmlentities($video['videoLink']) ?>" /> <br />
<input type="hidden" name="videoId" value="<?= $video['videoId'] ?>" />
<input type="submit" value="Save" name="save" />
</form>
此外,如果您要将此数据保存到数据库中,请确保在将表单发送的数据保存到数据库之前调用html_entity_decode。