【发布时间】:2016-05-24 11:14:37
【问题描述】:
我有一个个人资料页面,我想在其中为大多数用户显示数据库中的信息,以及一个将当前数据作为具有修改权限的用户的默认值的表单。
if ($IDprofile == $_SESSION['userID'])
{
echo "<form method='post'>
Surname: <input type='text' required name='surname' maxlength=50
value=".htmlentities($user['Surname'])."><br>
Name: <input type='text' required name='name' maxlength=50
value=".htmlentities($user['Name'])."><br>
Birthdate (format YYYY-MM-DD): <input type='text' required name='BirthDate' value='";
if ($user['BirthDate'] != null)
echo $user['BirthDate'];
else
echo "-";
echo "'><br>
Description: <input type='text' maxlength=255 name='description' value='";
if ($user['Description'] != null)
echo htmlentities($user['Description']);
else
echo "-";
echo "'><br>
<input type='submit' value='OK'></form>";
}
如您所见,我尝试使用htmlentities,它应该将撇号转换为&#39;,但它不起作用。 addslashes 和 addcslashes 等其他方法也不起作用。
显示的是我的表单输入以及它应该具有的值,直到应该有撇号的地方,它刚刚结束。 addslashes 做同样的事情,在结尾前加上 /。
最让我不解的是,我的数据库里有一个带撇号的姓氏,而这个显示得很好。
【问题讨论】:
-
您能举出正确显示和不正确显示的示例用户吗?您能否发布一个示例,说明它应该是什么样子以及它做错了什么?
标签: php mysql string apostrophe