2014-06-11 15 views
3

得到了表单设置提交一些东西。HTML表单POST方法不起作用(尽管显示URL参数)

有三个提交按钮,全部具有相同的名称(选择)和不同的ID(1,3)。

使用POST方法提交表单到form.php的

form.php的负荷,我可以看到URL形式PARAMS。

然而,有没有在POST数据来

的index.php:

<form action='form.php' action='POST'> 

<input type='hidden' name='index' value='".$cell_count."'> 

<div class='btn-group btn-group-m'> 
    <button name='choice' value='1' type='submit' class='btn btn-default btn-danger'> 
    ... 
    </button> 

    <button name='choice' value='2' type='submit' class='btn btn-default btn-warning'> 
    ... 
    </button> 

    <button name='choice' value='3' type='submit' class='btn btn-default btn-success'> 
    ... 
    </button> 
</div> 

<button name='choice' type='submit' value='4' class='btn btn-default btn-sm'> 
    ... 
</button> 

form.php的:

<?php 

    var_dump($_POST); 

    if($_POST['choice'] == 3) { 
    echo "Chose 3"; 
    } 
    else if($_POST['choice'] == 2) { 
    echo "Chose 2"; 
    } 
    else if($_POST['choice'] == 1) { 
    echo "Chose 1"; 
    } 

echo "index: " . $_POST['index']; 

?> 

结果:

http://i.stack.imgur.com/JrB7j.png 感谢您提供任何帮助!

+1

因为“能看到URL中的表单参数”告诉我这是一个'$ _GET',而不是'$ _POST'。 –

回答

8

你混合属性:

<form action='form.php' action='POST'> 

应该是:

<form action='form.php' method='POST'> 

现在你没有method属性,因此表格由GET(默认)发送。

+1

不能相信我错过了这一点,谢谢jeroen! –

2

你是表格应该使用method="POST"。您看到参数的事实意味着您的表单正在提交为GET

形式的代码应该是:

<form action='form.php' method='POST'> 
1

的行动不应该交的,该方法是POST。

<form action='form.php' method='post'>