2016-04-02 47 views
0

如何有条件地设置PHP表单动作? 我有以下的下拉选项,在两轮驱动和四轮驱动选择我想重定向或去a.php只会否则另一个前轮驱动选择打开网页B使用IF设置PHP表单动作

<form action="page.php"> 
    <select name="tractor"> 
     <option value="2wd">2WD</option> 
     <option value="mfwd">MFWD</option> 
     <option value="4wd">4WD</option> 
    </select> 
<input type="submit"> 

 here is the whole code 
    <?php ob_start ?> 
<!DOCTYPE html> 
<html> 
    <body> 

    <form method="post"> 
    <select name="tractor"> 
    <option value="2wd"><a href="iar7.php">2WD</a></option> 
     <option value="mfwd">MFWD</option> 
     <option value="4wd">4WD</option> 

    </select> 
    <br><br> 
    <input type="submit" name="cmd_submit" /> 

</form> 
<?php 
if(isset($_POST['cmd_submit'])){ 
    if($_POST['tractor'] == "2wd" || $_POST['tractor'] == "4wd"){ 
     //redirect here 
     header('location:iar7.php'); 
    }else{ 
     header('location:iar-calculator.php'); 
    } 
    } 
    ?> 
    </body> 
    </html> 
+0

招'html'标签的PHP代码上面... –

回答

0

可以像这样做。省略action属性,并添加method="post" ..否则,你需要添加一个get方法有...并获得tractor的查询字符串做一个条件语句您action attribute ....

HTML代码

<form method="post"> 
<select name="tractor"> 
    <option value="2wd">2WD</option> 
    <option value="mfwd">MFWD</option> 
    <option value="4wd">4WD</option> 
</select> 
<input type="submit" name="cmd_submit" /> 
</form> 

PHP代码:

<?php 
    if(isset($_POST['cmd_submit'])){ 
     if($_POST['tractor'] == "2wd" || $_POST['tractor'] == "4wd"){ 
      //redirect here 
      header('location:a.php'); 
     }else{ 
      header('location:b.php'); 
     } 
    } 
+0

Sam我得到'警告:不能修改标题信息 - ' – Funk

+0

@Funk已经发送的标题你可以在文件的第一行添加'ob_start'吗?或移动你的'HTML'标签上面的PHP代码..在这里阅读本文http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php –

+0

我添加了整个代码我正在我的问题的底部 – Funk