php里面$ _POST的名字

时间:2016-05-07 11:34:34

标签: php

我正在尝试创建表单,在提交时我希望它运行查询。虽然会有多个表单和多个查询。 [因为这将在while循环中。]

if ($_POST['Test']) {
 //Query here
}

<form name="Test" method="post">
        <input type="submit" name="Test" value="Click here"/>
</form>

所以,如果我这样,它会起作用。虽然它在一个while循环中,取决于页面上有多少,但它不会单独工作。

我尝试在输入名称和$ _POST中添加变量,例如它是如何测试&#34;。$ id。&#34;但它似乎不起作用。这是我的完整代码。

if ($_POST['Test'.$id.'']) {
 //Query here
}

<form name="Test'.$id.'" method="post">
        <input type="submit" name="Test'.$id.'" value="Click here"/>
</form>

我怎么能这样做?

由于

3 个答案:

答案 0 :(得分:1)

我不知道你为什么需要这个,但试着按照自己的意愿制作。

if ($_POST['Test'.$id]) {
 //Query here
}

<form name="Test<?php echo $id;?>" method="post" action="">
        <input type="submit" name="Test<?php echo $id;?>" value="Click here"/>
</form>

答案 1 :(得分:1)

使用以不同方式命名的提交按钮执行您现在所做的操作是错误的。你永远不会知道你将拥有多少按钮以及下一步该做什么。

我不知道你的多种表格的用途是什么,但我想它们是用于处理一些类似的项目,我想有一些假设的数据库记录。在这种情况下,你应该这样做。

使用相同 input名称生成所需数量的表单。例如,如果要更新列表中的某些用户名,可以执行以下操作:

<form name="" method="post">
    <input type="hidden" name="userid" value="1" />
    <input type="text" name="username" value="John" />
    <input type="submit" name="Test" value="Click here"/>
</form>
<form name="" method="post">
    <input type="hidden" name="userid" value="2" />
    <input type="text" name="username" value="Max" />
    <input type="submit" name="Test" value="Click here"/>
</form>
<form name="" method="post">
    <input type="hidden" name="userid" value="3" />
    <input type="text" name="username" value="Sam" />
    <input type="submit" name="Test" value="Click here"/>
</form>

请参阅,所有表单都具有相同名称的相同输入。因此,无论您提交哪种表单,您都会使用 3 键将$_POST作为数组:

userid
username
Test

之后,您只需对所有类似表单使用一个处理程序:

if (isset($_POST['Test'])) {
    echo $_POST['userid'],', ',$_POST['username'];
    // do other stuff
}

答案 2 :(得分:0)

使用PHP作为模板语言。编写HTML并包含短标签。

你可以用一种形式处理大多数事情。像“name [id]”这样的输入名称将导致PHP数组$_POST['name'] = [ 'id' => 'some_value']。多个提交按钮可以通过显示<button>name未显示和内部HTML的value标记来实现。

<?php
if(isset($_POST['which_button']))
  echo "Button $_POST[which_button] has been pressed.";

if(isset($_POST['some_choice']))
  var_dump($_POST['some_choice']);

$some_field = isset($_POST['some_field']) ? $_POST['some_field'] : '';

$some_data_from_db = 'DUMMY DATA';
?>

<form method="post">
  <input name="some_field" type="text" value="<?php echo $some_field?>">
  <input name="some_data_from_db" type="text" value="<?php echo $some_data_from_db?>">

  <input type="checkbox" name="some_choice[a]">a
  <input type="checkbox" name="some_choice[b]">b
  <input type="checkbox" name="some_choice[c]">c

  <button name="which_button" value="1">Button 1</button>
  <button name="which_button" value="2">Button 2</button>
  <button name="which_button" value="3">Button 3</button>
</form>