我正在使用代码表单,该表单根据表单的输入重定向用户。我从这里得到了它:
php - How do I redirect a user based on their form input?
表格:
<form action="index.php" method="get">
<input type="text" name="q" />
<input type="submit" />
</form>
的index.php
header("Location: http://example.com/browse/".$_GET['q']);
我遇到的问题是当用户使用CAPS LOCK键入时,它不会重定向它们。
有没有办法在用户提交后将输入更改为小写,然后才能正确地重定向。
答案 0 :(得分:2)
您也可以对查询进行url编码,因为字符为“#”或“:”,它们对Web浏览器具有特殊的含义/功能。因此,如果用户使用了这些字符,这不会破坏您的导航。
header("Location: http://example.com/browse/". urlencode($_GET['q']));
将此与Marc B的上述答案相结合,将导致:
header("Location: http://example.com/browse/". urlencode(strtolower($_GET['q'])));
要在下一页上解析原始的低级用户输入,只需使用 urldecode():
// original lower-cased query
$original_query = urldecode($path);
答案 1 :(得分:1)
header("Location: http://example.com/browse/". strtolower($_GET['q']));