我可以在没有javascript的情况下根据用户输入创建一个更改结尾的链接吗?

时间:2012-01-04 21:30:23

标签: php html

我想要一个像

这样的网址
  • www.google.com /

和用户输入文本区域。

如果用户输入 123 ,则链接将

  • www.google.com/123

并且会有一个按钮,他们可以点击进入此链接。

有人可以告诉我,如果没有javascript可行,或者如果没有?能告诉我如何最好地实施它吗?感谢您的时间。

4 个答案:

答案 0 :(得分:1)

您可以将表单发布到PHP页面,PHP将使用header将用户重定向到该URL。

<form method="post">
    <input type="text" name="urlpart" />
    <input type="submit" value="go" />
</form>

然后在页面顶部放置:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    header('location: http://www.google.ca/'.$_POST['urlpart']);
    exit();
}

请注意如何实施,因为它很容易导致XSS注射。

答案 1 :(得分:0)

如果您想要的链接位于查询字符串中(例如:http://google.com/search?q=blah+blah+blah),那么您只需使用带有网址的表单作为操作和方法GET

答案 2 :(得分:0)

您可以使用label标记模拟链接,当然您只能在?符号后更改网址的部分。带有谷歌链接的实例(在新窗口中打开,因此您仍然可以使用小提琴页面):http://jsfiddle.net/xCbSD/

答案 3 :(得分:0)

您可以创建一个用户服务器端脚本(如下面使用的PHP)和get方法的表单。以下是此类脚本的示例;

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

此脚本应创建一个包含文本框和提交按钮的表单。如果用户要在文本框中输入123并单击“提交”,则生成的URL应如下所示;

www.yoursite.com/index.php?input=123

与此video中显示的类似的简单mod_rewrite应该允许您将此URL重写为;

www.yoursite.com/123

注意:出于安全原因,最好过滤或清理用户输入的任何输入,否则您的网站很容易受到黑客攻击,例如SQL注入和跨站点脚本攻击。