我正在尝试根据两个select
选项将页面重定向到相关页面。我不确定这是否最好用Javascript或PHP完成,因为我希望能够轻松地更改页面 - 这让我觉得某种PHP表单处理程序是最好的。
非常感谢任何有关如何运作的例子。我做了JSFiddle来帮忙。如果我不够具体,我试图让页面重定向到某个页面,如果有人选择“工程”,然后选择“新南威尔士”,如果他们选择“健康”,然后选择“新南方”威尔士“等等。
提前致谢。
答案 0 :(得分:0)
找到了解决方案,@ Sean的评论提供了大部分内容,我只是略微调整了代码。使用PHP:
<?php
if ($_POST['specialist'] == "engineering" && $_POST['state'] == "act"){ header("Location: act.php");}
else if ($_POST['specialist'] == "engineering" && $_POST['state'] == "nsw"){ header("Location: nsw.php");}
else if ($_POST['specialist'] == "engineering" && $_POST['state'] == "nt"){ header("Location: nt.php");} ...
等
答案 1 :(得分:0)
更清洁的解决方案是
<?php
if ($_POST['specialist'] == "engineering" && isset($_POST['state'])){
switch($_POST['state']){
case "act":
header("Location: act.php");
break;
case "nsw":
header("Location: nsw.php");
break;
case "nt":
header("Location: nt.php");
break;
default:
// Redirect to a default page if not matched or some other message
break;
}
}
?>
这样您每次都不必检查工程师。你可以为不同的职业制作多个。在重定向之后使用exit();
或break;
也是一种很好的做法,在这种情况下实施。
您可以通过使用$_POST
变量并直接使用它来加快速度,但这很容易被其他人滥用,因此请务必检查可用值。
<?php
$engineering_states = array('act', 'nsw', 'nt', 'qld', 'sa', 'tas', 'vic', 'wa');
if($_POST['specialist'] == "engineering"){
if(in_array($_POST['state'], $engineering_states)){
header("Location: $_POST['state'].php");
}
}
?>
答案 2 :(得分:0)
我这样做的方法是创建一个数组(以后也可以用数据库代替)。
<?php
$a = Array(
"engineering" => Array( "act"=>"enggact.php",
"nsw"=>"enggnsw.php",
"nt"=>"enggnt.php"
),
"health" => Array( "act"=>"heltact.php",
"nsw"=>"heltnsw.php",
"nt"=>"heltnt.php"
),
"information-technology" => Array( "act"=>"itact.php",
"nsw"=>"itnsw.php",
"nt"=>"itnt.php"
)
);
if(isset($a[$_POST['specialist']][$_POST['state']])) {
header("Location:".$a[$_POST['specialist']][$_POST['state']]);
}
?>
希望这有帮助