1个HTML表单,带有2个操作按钮

时间:2013-12-15 02:08:59

标签: php forms if-statement

我已经阅读了许多关于在单个HTML表单上拥有2个操作按钮的方法的帖子。我选择使用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();
?>

我收到以下错误消息:

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

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

我想这对你所期望的一切都很简单,但我似乎无法弄明白。我完全不明白我在做什么。我认为它必须 是关于声明变量还是类似的东西?

这是表格代码

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

2 个答案:

答案 0 :(得分:0)

确保您的表单方法设置为“发布”,并且您的按钮名称为“计算”

答案 1 :(得分:0)

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

例如:

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