无法从表单中检索帖子值

时间:2013-01-12 18:31:40

标签: php forms

在页面test.php中我有一个类似

的表单
<form action="test.php" method="post">   

<a href="test.php?id=5" name="test_name1">click me</a> 
<a href="test.php?id=5" name="test_name2">click me</a>
<a href="test.php?id=5" name="test_name3">click me</a>

</form>

如果有人点击这些链接,那么我必须查看类似

的内容
if (isset($_POST['test_name1'])) {  

    //do my work
}

但这不适合我。我必须检查所有链接,该表格有大约10个这样的链接。请帮忙

4 个答案:

答案 0 :(得分:1)

这不是表单的工作方式。您在GET表单中有POST个链接。

示例POSTscript.php):

<?php

  if( isset($_POST[submit]) ) {
     //do
  }

?>

<form method="post" action="script.php">
<input type="submit" name="submit" />
</form>

示例GETscript2.php):

<?php

  if( isset($_GET[id]) ) {
    //do
  }

?>

<a href="script2.php?id=2">Click me</a>

这可能更像是你想要完成的事情(script3.php):

<?php

  if( isset($_GET[id]) && isset($_GET[name]) ) {
    //do
  }

?>

<a href="script3.php?id=5&name=test_name1">click me</a> 

答案 1 :(得分:1)

看起来像你想要的复选框,你可以试试

<form   method="post">
    <input type="checkbox" name="check_list[]" value="value 1">value one<br>
    <input type="checkbox" name="check_list[]" value="value 2">value tow<br>
    <input type="checkbox" name="check_list[]" value="value 3">value three<br>
    <input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {
            echo $check;  
    }
}
?>

答案 2 :(得分:0)

$ _ POST 方法仅适用于 FORM 元素,不适用于 Anchor 元素。但在您的情况下,您有 Anchor 元素链接到php文件。您可以检查 isset 的ID,但不能检查 锚点 元素名称。 id 也会通过以下方式进行检查:

if(isset($_GET['id'])) {


}

答案 3 :(得分:0)

您不能将链接用作表单参数...您可以做的是创建隐藏值并具有三种不同的形式。虽然这种方法使用按钮,当使用$ _POST而不是$ _GET(显示链接中的数据)时,传输的数据不太明显。

<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name1">
</form>
<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name2">
</form>
<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name3">
</form>

然后在页面顶部,您可以检查...

<?php
if(isset($_POST['test_name1'])){
//they clicked button 1.
}
?>

如果您想从仅使用链接获取数据,您可以执行此操作并使用$ _GET检索数据...

<a href="test.php?id=5">click me</a>

<?php
if(isset($_GET['id']){
//they clicked your link.
}
?>
相关问题