我已经阅读了许多关于在单个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" />
答案 0 :(得分:0)
确保您的表单方法设置为“发布”,并且您的按钮名称为“计算”
答案 1 :(得分:0)
您需要将name属性添加到输入按钮。
例如:
<input type="submit" name="Calculate" value="Calculate" />
<input type="submit" name="Upload" value="Upload" />