1

我正在使用基于表单输入重定向用户的表单代码。我从这里得到它:

php - 如何根据用户的表单输入重定向用户?

表格:

<form action="index.php" method="get">
<input type="text" name="q" />
<input type="submit" />
</form>

索引.php

header("Location: http://example.com/browse/".$_GET['q']);

我遇到的问题是当用户使用 CAPS LOCK 键入时,它不会重定向它们。

一旦用户提交了输入,有什么方法可以将输入更改为小写,这将允许他们正确重定向。

4

2 回答 2

2

您还可以对查询进行 url 编码,因为“#”或“:”等字符对网络浏览器具有特殊含义/功能。因此,如果用户使用了这些字符,这不会破坏您的导航。

参考:Php Doc - urlencode()

header("Location: http://example.com/browse/". urlencode($_GET['q']));

将其与上述 Marc B 的答案结合起来,将导致:

header("Location: http://example.com/browse/". urlencode(strtolower($_GET['q'])));

要解析下一页上原始的小写用户输入,只需使用urldecode()

参考:Php Doc - urldecode()

// original lower-cased query
$original_query = urldecode($path);
于 2012-04-07T21:39:38.843 回答
1

strtolower()

header("Location: http://example.com/browse/". strtolower($_GET['q']));
于 2012-04-07T21:22:53.023 回答