如何使用表单构建URL

时间:2013-04-15 21:37:26

标签: php html post

该网站将使用php& mysql

对于我的新网站,我正在尝试使用干净的网址,而不是使用可怕的网址 page?x = 1& y = 23& ee = 23我想有更好的东西。

使用带有POST方法的表单,我希望得到类似

的内容

http://www.xxx.com/page-color-blue-size-12-light

如果action =“action-page.php”,那么加载的页面将需要从action-page.php读取$ _POST并创建一个新的URL并重定向到新的URL,这似乎不是一个很好的主意。

如果我使用$ _GET,那么我会用url结束吗?和&作为参数。

解决方案是否可以在点击提交之前更新方法的JS,但在这种情况下,该网站将不适用于谷歌......

正如你所看到的,我找不到一个好的解决方案......任何想法?

注意 -

感谢您的回复,但我不是在寻找网址重写,如果我试图阅读http://www.xxx.com/page-color-blue-size-12-light,但这不是我想要做的,我正在尝试构建来自帖子的这个URL。

3 个答案:

答案 0 :(得分:1)

通过POST请求发送参数

<form action="page.php" method="post">
  <input type="hidden" name="data" value="1" />
  <input type="submit" value="Submit">
</form>

请求网址仅为page.php$_POST['data']将包含您的参数。

如果您想使用http://www.xxx.com/page-color-blue-size-12-light等网址,则需要

  • 通过某些重写规则由Web服务器重定向;
  • 通过解析PHP脚本中的URL来路由到其他页面。

可能是第一个解决方案更好,因为第二个解决方案意味着处理2个HTTP请求。

答案 1 :(得分:1)

这只不过是称为URL重写。您可以从以下网站找到更多相关信息。

http://www.cyberdesignz.com/blog/website-design/url-rewriting-top-5-ways-of-php-url-rewriting/

答案 2 :(得分:0)

听起来我觉得你正在寻找帮助URL rewrites。它们涵盖了使您的位置栏显示漂亮而不是您提到的所有查询字符串参数的基础知识。 更新:

我理解你的问题好一点,我想我可能有一个解决方案,至少可以让你解决问题的第一部分。我把它放在jsfiddle上给你看看。

<form id="myform" action="" method="POST">
    <input type="text" id="color" name="color" value="blue"/>
    <br />
    <input type="text" id="size" name="size" value="12-light"/>
    <br />
    <input type="submit" value="Go" />
</form>

<script type="text/javascript">
jQuery(function($) {
    $("#myform").submit(function() {
        var color = $("#color").val();
        var size = $("#size").val();
        $("#myform").attr("action", "/page-color-" + color + "-size-" + size);
        $("#myform").submit();
    });
});
</script>