我将数据发布到表单操作到php自己一些字符出错。如果您将"
输入名称返回\
如何解决,则此字符为"
或\
<form id="form1" name="form1" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<label for="name"></label>
<input name="name" type="text" id="name" value='<? print htmlspecialchars($_POST['name']); ?>' />
<br />
<input type="submit" name="button" id="button" value="Submit" />
<? print htmlspecialchars($_POST['name']); ?>
</form>
答案 0 :(得分:1)
我不确定问题是什么,但我认为在将特殊字符返回到输入字段时会出现错误。如果是这样,请尝试:http://php.net/manual/en/function.htmlentities.php您需要将特殊字符转换为html实体,这样数据就不会被读作代码而导致问题。
我刚刚通过将message
input
更改为<?php echo htmlentities($_POST['name']); ?>
来测试了这一点,并且字符正常显示。
使用此代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label for="name"></label>
<input name="name" type="text" id="name" value="<?php echo htmlentities($_POST['name']); ?>" />
<br />
<label for="message"></label>
<textarea name="message" id="message" cols="45" rows="5"><?php echo $message; ?></textarea>
<br />
<input type="submit" name="button" id="button" value="Submit" />
</form>
echoed (<?php echo htmlentities($_POST['name']); ?>);
</body>
</html>