【发布时间】:2013-11-29 22:23:32
【问题描述】:
我有一个表格:
<form action="results.php" method="get">
<select name="genres[]">
<option value="jazz"></option>
<option value="blues"></option>
<option value="rock"></option>
</select>
</form>
提交表单后,在 URL 中输入变为example.com/?genres%5B%5D=jazz&genres%5B%5D=blues&genres%5B%5D=rock
除此之外,它看起来不太好,我的表单中有多个输入(大约 18 种类型),所以如果用户选择很多,URL 会变得很长。我希望它变成/?genres=jazz,blues,rock
现在我已经阅读了this post,但它没有说明如何制作更简洁的 URL。接下来,我必须将输入用作数组,例如$genres = $_GET['genres'] 才能在另一个函数中使用。
【问题讨论】:
-
假设您使用的是 apache,您应该可以使用 .htaccess 重写规则来实现这一点。见:httpd.apache.org/docs/2.2/howto/htaccess.html
-
你可以用 POST 代替吗?
-
我可以使用 POST,但如果人们共享 URL,其他人不会看到相同的结果,这就是我使用 GET 的原因。