我有一个HTML网络表单,客户可以在其中选择要打印的报告。现在,我必须从选择菜单中获取值,并将客户重定向到正确的报告页面。
示例:
<form action="print-report.php" name="print" method="get" target="_blank">
<select name="period">
<option value="daily" selected>Daily Report</option>
<option value="anual">Anual Report</option>
<option value="weekly">Weekly Report</option>
<option value="monthly">Montly Report</option>
</select>
<input type="submit" value="Print Report"></form>
现在在另一页中,我必须获得客户需要的报告类型并将其重定向到正确的页面,但我不知道如何。
<?php
if get daily redirect to daily.php
elseif get weekly redirect to weekly.php
<?php
我该怎么做?
答案 0 :(得分:2)
当您使用PHP通过表单使用POST或GET方法使用PHP提交数据时,表单数据将分别通过$ _POST或$ _GET数组传递,这是可以通过PHP文件访问。两个数组的关键是表单元素的名称。
因此,要获取所选下拉列表的值,您可以在PHP代码中使用以下内容:
<?php
$SelectedValue = $_GET['period'];
if($SelectedValue == "daily") { header("Location: daily.php"); }
else if($SelectedValue == "weekly") { header("Location: weekly.php"); }
// add your other options and redirects here
?>
虽然值得注意的是您可能也有兴趣使用 switch-case statement :
<?php
switch($_GET['period'])
{
case "daily": header("Location: daily.php"); break;
case "weekly": header("Location: weekly.php"); break;
// add your other options and redirects here
default: header("Location: error.php"); break;
}
?>
答案 1 :(得分:0)
您可以查看从$_GET
方法收到的内容,然后重定向到特定页面(例如):
if ($_GET['period'] == 'daily') {
// redirect to daily
} else {
// redirect to other
}
答案 2 :(得分:0)
in print-report.php:
$url = $_GET["print"];
if($url == 'daily' || $url == 'weekly' || $url == 'monthly' || $url == 'yearly'){
header("Location: {$url}.php");
}else{
header("Location: 404.php"); // I just added this line to check for url param doesn't match your script name.
}
答案 3 :(得分:0)
尝试:
if ($_GET['period'] == 'daily') {
header('Location: daily.php');
} else if ...
答案 4 :(得分:0)
您也可以使用jquery直接从您的html页面重定向。 这是你的代码:
<form action="daily.php" name="print" method="get" target="_blank">
<select id="select_report" name="period">
<option value="daily" selected>Daily Report</option>
<option value="anual">Anual Report</option>
<option value="weekly">Weekly Report</option>
<option value="monthly">Montly Report</option>
</select>
<input type="submit" value="Print Report">
</form>
我刚刚添加了一个ID来选择框id="select_report"
并将表单操作设置为&#34; daily.php&#34;因为默认选择每日价值。
现在只需使用jquery cdn和此脚本进行重定向 -
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
$("#select_report").on('change', function(){
var x = $("#select_report").val();
if(x=="daily")
{
$('form').get(0).setAttribute('action', 'daily.php');
}
else if(x=="anual")
{
$('form').get(0).setAttribute('action', 'annual.php');
}
else if(x=="weekly")
{
$('form').get(0).setAttribute('action', 'weekly.php');
}
else if(x=="monthly")
{
$('form').get(0).setAttribute('action', 'monthly.php');
}
})
</script>