Php 如果名称是一个变量,如何使用$\u POST?

Php 如果名称是一个变量,如何使用$\u POST?,php,Php,我有一个按钮,在循环中生成每个表行后生成,每个连续按钮的名称由$a++变量生成。如何在edit\u contact.php页面上使用$\u POST方法,以便使用$\u POST数组中的变量 变量存储在$\u POST数组中,我已使用Print\r($\u POST)进行了检查;例如,当我单击表格的第三行编辑按钮时,它将显示为: Array ( [3] => edit ) 以下是我的list_contact.php页面上的循环代码: $a = "0"; // print whethe

我有一个按钮,在循环中生成每个表行后生成,每个连续按钮的名称由$a++变量生成。如何在edit\u contact.php页面上使用$\u POST方法,以便使用$\u POST数组中的变量

变量存储在$\u POST数组中,我已使用Print\r($\u POST)进行了检查;例如,当我单击表格的第三行编辑按钮时,它将显示为:

Array ( [3] => edit ) 
以下是我的list_contact.php页面上的循环代码:

$a = "0";

// print whether success or not

if ($rst)
{
    if (mysql_num_rows($rst)>0) // chech there are records
    {
        echo "<form name=addcontact method=post action=edit_contact.php>";
        echo "<table border=\"1\" cellspacing=\"0\">";

        /*** print out feild names ***/

        while ($row = mysql_fetch_array($rst)) // fetch each row
        {
            echo "<tr>";

            for ($i=0; $i<mysql_num_fields($rst); $i++) //for ech row print out field values
            {
                echo "<td>" . $row[$i] . "</td>";
            }

            echo "<td>" . "<input id=button type=submit name=" . $a++ . " value=Edit" . "</td>";

            echo "</tr>";

        }

    echo "</table>";
    echo "</form>";
    }

  else
    {
     echo "There are no records in the database";
    }
}

我怎样才能让那篇文章只反映我的变量?ie 3

重新构造代码,使
名称
实际上是一个常量,
是动态的

echo "<td><input id=button type=submit name=\"edit\" value=\"" . $a++ . "\"></td>";
它将产生值:
value=\“”$a++。“\”
用于单击的按钮


它将根据您的需要返回类似于
3

您可以使用隐藏的输入字段,而不是:


echo”“。“您可以执行一次。您不需要更多字段。只需使用
foreach
访问其

foreach($_POST as $key => $value){
     if(strtolower(trim($value)) == "edit"){ // Validate if editing being sent
         // Display it if true
         echo $key; // and this is the variable you want
     }
}

mysql\u num\u rows
和其他mysql函数已被弃用。请尝试使用
mysqli
扩展或
PHP数据对象(PDO)
既然你是一名学生,这将是一个不学习使用mysql_*函数的好时机,因为它们已被弃用。看看mysqli或PDO。不幸的是,这是他们给我们学习的材料。虽然我会把它记下来给我的老师,但我为什么要花钱学习旧材料。谢谢我从学生那里听到了很多这样的消息。这让我很难过目前,教科书落后于教师讲授的时间几年,这些教师本身并没有实践开发人员,因此没有跟上最新的技术。你是对的。虽然我认为在我的案例中,这非常令人担忧,因为我在上一次审查这一特定材料时才查阅,但上一次审查是在2014年5月6日。该单元是同样由老师准备并在网上发布,它甚至不是一本教科书。所以我认为这是完全不可接受的,我会提出正式的投诉。谢谢你的帮助。是的,没错,我需要按钮说我确实尝试过这个,我添加了隐藏的输入字段,它将变量带到$u POST数组中,尽管我不能t检索它。即使使用简单的echo“变量”。$\u POST[“ContactID”];它表示未定义的索引。您可以尝试添加
echo“”,打印($\u POST),“”;
以查看发送的POST数据。如果“ContactID”“不存在,那么表单就有问题了。我让它工作了,尽管提交到$\u POST数组时ContactID变量始终是最后一个循环的值。因此,如果有十个联系人,那么ContactID将始终为10,因为在循环中生成的每个新隐藏输入都具有相同的名称,并且在循环完成时ContactID为10,因为按钮名称是一个递增变量,所以每个新按钮都生成一个唯一的名称,即表行号。还有其他想法吗?此解决方案要求您为每一行创建一个表单。你可能忘了这么做,只设立了一个正式的绝对冠军!正是我想要的。完美地工作
$_POST['edit'];
foreach($_POST as $key => $value){
     if(strtolower(trim($value)) == "edit"){ // Validate if editing being sent
         // Display it if true
         echo $key; // and this is the variable you want
     }
}