1

フォームの入力に基づいてユーザーをリダイレクトするフォームのコードを使用しています。ここから入手しました:

php - フォーム入力に基づいてユーザーをリダイレクトするにはどうすればよいですか?

フォーム:

<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 を使用して入力すると、リダイレクトされないことです。

ユーザーが送信した入力を小文字に変更して、適切にリダイレクトできるようにする方法はありますか。

4

2 に答える 2

2

「#」や「:」などの文字は、Web ブラウザーにとって特別な意味/機能を持つため、クエリを 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 に答える