1个HTML表单,包含2个操作按钮


1 HTML form with 2 action buttons

我读过很多关于在一个HTML表单上使用两个操作按钮的各种方法的文章。我选择在PHP函数文件中使用if语句来处理它,以确定单击了哪个按钮并运行相应的代码。这是我第一次使用IF语句,语法似乎与示例相匹配。

<?php
//Connect to database
include("../ConfigFiles/ConnectDB_local_i.php");
 if($_POST["Calculate"])
 {
echo "<br>I clicked the Calculate button<br>";
 }
if(isset($_POST["Upload"]))
{
//Populating the variables
$InvoiceNo = $_POST["vInvoiceNo"];
$InvoiceDate = $_POST["vDate"];
$ClientName = $_POST["vName"];
$ClientAddress = $_POST["vAddress"];
$ClientPhone = $_POST["vPhone"];
$ClientEmail = $_POST["vEmail"];
$DescLine_1 = $_POST["vDescLine1"];
//Writting to DB
echo "<br>I wrote to the database<br>";
$query = "INSERT INTO `invoicedata_table` 
            (`InvoiceNo`, 
            `InvoiceDate`, 
            `ClientName`, 
            `ClientAddress`,  
            `ClientPhone`,  
            `ClientEmail`,
            `DescLine_1`) 
        VALUES 
            ('$InvoiceNo',
            '$InvoiceDate',
            '$ClientName',
            '$ClientAddress',
            '$ClientPhone',
            '$ClientEmail',
            '$DescLine_1');";
$mysqli->query($query) or die($query.'<br />'.$mysqli->error);
 }
//Close the DB connection
$mysqli->close();
?>

我收到以下错误消息:

注意:未定义的索引:在E:''EasyHP''EasyHP-DevServer-13.1VC9''data''localweb''my portable files''AdminSecure''InvoiceSaveFunction.php中计算,第5行

当阅读更多的帖子时,这个问题似乎可以通过使用isset()来解决。当我尝试(查看第二个if)时,我没有得到错误,但它也没有运行代码。

我想这对你所期望的来说很简单,但我似乎想不通。我不完全明白我在做什么。我想它一定是关于声明变量还是类似的东西?

这是表单代码

<form action="InvoiceSaveFunction.php" method="post">
<input type="submit" value="Calculate" />
<input type="submit" value="Upload" />

您需要将name属性添加到输入按钮中。

例如:

<input type="submit" name="Calculate" value="Calculate" />
<input type="submit" name="Upload" value="Upload" />

确保表单方法设置为"post",并且按钮名称为"Calculate"