页面上的多个提交

时间:2011-01-07 14:22:20

标签: php if-statement submit

我有这个PHP代码:

$result = mysql_query("SELECT distinct om_quote_no from `porders` order by om_quote_no desc") or die(mysql_error());
echo '<select name="project_no">';
while ($row = mysql_fetch_array($result)) {
echo "<option value=".$row['om_quote_no'].">".$row['om_quote_no']."</option>";
}
echo '</select>';
?>  
<input type="submit" value="Submit" />
</form>
<div id="table">
<?php
                if($_GET){

因为你可以看到PHP正在形成一个下拉输入,一旦提交它将执行一些代码,但我需要做的是有两个下拉输入,因此有两个提交按钮,但是我不知道如何形成PHP if语句来区分哪个提交被按下,所以我将(伪):

if (submit1){

}

if (submit2){

}

这可能吗?

3 个答案:

答案 0 :(得分:1)

如果您提供<input type="submit">元素名称,则单击的名称将其名称和值发送到服务器。

<input type="submit" value="Submit" name="submit1">

如果点击则会将submit1=Submit发送到服务器。因此,您可以使用if ($_GET['submit1'])查看是否已按下。

答案 1 :(得分:1)

这不是最好的方法,但也可以这样做:

<select name="test" onchange="document.location ='test.php?submit=dropdown1'">
<option>test</option>
<option>test1</option>
</select>

<br><br>

<select name="test1" onchange="document.location ='test.php?submit=dropdown2'">
<option>test2</option>
<option>test3</option>
</select>

在test.php文件中:

if($_GET['submit'] == 'dropdown1')
{
    print "One";
    //statements to execute
}elseif($_GET['submit'] == 'dropdown2'){
    //statements here to execute
    print "Two";
}

答案 2 :(得分:0)

<input type="submit" value="Submit 1" name="submit1"/>
<input type="submit" value="Submit 2" name="submit2"/>

<?php

if(isset($_POST['submit1'])){
//do stuff
//grab select option
$select_option=$_POST['project_no'];

}else if(isset($_POST['submit2'])){
//do stuff
}else{
//do stuff
}

?>

或者如果您的方法是GET而不是将$ _POST更改为$ _GET:)