在一个php文件中,我使用了以下代码:
header('Location: localhost/?room=ler&user='.urlencode('Indianu Talpa Iute'));
这会将我发送到一个url为localhost/?room=ler&user=indianu+talpa+iute
的页面,我想在同一个页面的表单中插入这些值,如下所示:
<input type="text" name="user" value=<?php echo ''.$_GET['user'].'' ?> >
但它只在文本字段中显示Indianu
。 为什么? 我该怎么解决这个问题?
它对“+”和“%20”(而不是空格)的工作方式相同。
在value
属性的值周围加上引号:
<input type="text" name="user" value="<?php echo ''.$_GET['user'].'' ?>" >
并且记住至少要使用HTMLSpecialChars()
来避免XSS:
<input type="text" name="user" value="<?php echo htmlspecialchars($_GET['user']) ?>" >
ps.$_get
不是函数; 这是一个超全局阵列。