在网页中,用户可以将字符串输入到输入元素中。提交表单后,所有输入都会根据规则进行验证。验证后,输入页面再次显示给用户,带有标记的错误和已经填写的输入元素。
验证页面中用于发回数据的部分代码:
$query_string = '?filename='.$timed_file_name . '&name=' . $name . '&text='.$text;
header('Location: http://' . $server_dir . $next_page . $query_string);
很明显,不能在标头中使用 & 符号,因为如果我键入 jack&jones,它会弄乱标头,而 php 将只返回 jack。
我可以用一种丑陋的方式做到这一点:
验证页面:
$name = html_entity_decode($name);
$name = str_replace("&","aammppeerrssaanndd",$name);
输入页面:
$name = $_GET['name'];
if (strpos($name,'aappoossttrroopphh') !== false) {
$name = html_entity_decode($name);
$name = str_replace("aappoossttrroopphh","&",$name);
}
有一个简单的解决方案吗?