在php中,如何从下拉列表重定向到不同的页面?

在php中,如何从下拉列表重定向到不同的页面?,php,Php,当用户访问我的主页时,我希望他们选择要访问的页面。例如,从下拉列表中选择运动、琐事等。如何让它重定向到使用php选择的特定页面?这应该很简单,但我还没有通过搜索google找到解决方案。PHP运行服务器端,因此无法处理HTML客户端中的重定向。但是,您可以使用PHP根据需要动态打印下拉列表。然后在下拉列表中添加onSelect函数,该函数使用javascript:window.location=foobar.html进行重定向,其中foobar.html是要重定向到的页面。或者让onSelect

当用户访问我的主页时,我希望他们选择要访问的页面。例如,从下拉列表中选择运动、琐事等。如何让它重定向到使用php选择的特定页面?这应该很简单,但我还没有通过搜索google找到解决方案。

PHP运行服务器端,因此无法处理HTML客户端中的重定向。但是,您可以使用PHP根据需要动态打印下拉列表。然后在下拉列表中添加onSelect函数,该函数使用javascript:window.location=foobar.html进行重定向,其中foobar.html是要重定向到的页面。或者让onSelect fire成为一个javascript函数,在该函数中处理实际的重定向,并可以查看页面中的几个元素来决定将客户端重定向到何处

<?php
if ($_POST['select']){
   header("Location: ".$_POST['select']);
}
?>
<form type="post" action="">
    <select name="select">
       <option value="http://link1.com">link1</option>   
       <option value="http://link2.com">link2</option>
       <option value="http://link3.com">link3</option>
       <option value="http://link4.com">link4</option>
       <option value="http://link5.com">link5</option>
    </slect>
    <input type="submit" />
</form>

祝你好运

您应该考虑避免使用下拉菜单来处理此问题,而应使用链接。但是,如果您真的很喜欢,以下是解决方案:

PHP:

HTML:


在onSelect中调用javascript函数,试试这个-如果您希望重定向在用户选择页面时发生,可以使用javascript执行此操作。如果你想让它发生在他们点击GO按钮提交表单时,那么你可以用PHP实现。是的,我想用submit按钮完成,所以它应该是PHP。我对javascript一无所知。你们能用php发布一个示例代码吗?@user917469:你们应该先学习javascript和php,至少是基本的,这不是一个下拉菜单。我指的是当你点击列表就会打开的东西。否则它只显示顶部选项。@user917469:是的,它显示。请学习在评论前按F5,我在看到之前编辑了它2分钟。谢谢你澄清这一点。所以我必须使用javascript。我想我疯了,因为我尝试了不同的方法,只使用php和html。php运行服务器端,因此无法处理html客户端中的重定向。您想说什么还不是100%清楚,但我要声明PHP确实通过头重定向。@Shef-不过,我也同意这个警告;您和genesis发布的答案(可能是OP在寻找的答案)是对PHP或任何服务器端技术的严重误用,我要离开房间抽烟了:P@Bracketworks:我同意你的看法,我在OP上说过。是那些强硬的程序员想要重新发明轮子,我们对此无能为力。@Shef-是的,我也不认为OP意识到,为了方便导航,通过表单发布值也是可访问性和搜索引擎优化的噩梦。在回答这个问题时,你不应该假设链接可以替代下拉列表
if(isset($_POST['redirect'])){
    header('Location: '.$_POST['link']);
    exit;
}
<form action="" method="post">
    <select name="link">
       <option value="http://www.site.com/page1">Page 1</option>
       <option value="http://www.site.com/page2">Page 2</option>
       <option value="http://www.site.com/page3">Page 3</option>
    </select>
    <input type="submit" name="redirect" value="GO" />
</form>