我正在尝试使用php制作一个webapp。在那个应用程序中,我需要创建批处理,批处理主题等。我已经完成了这个应用程序的主要部分。它正在工作,但我正在发出错误通知,如:
Notice: Undefined index: currentBatchId in C:\wamp64\www\sp\addBatchSubject.php on line 4
我已经从" batchview.php"传递了批处理ID使用以下代码添加批次主题的页面:
<a href="addBatchSubject.php?currentBatchId=<?php echo $s['batchId']; ?>">Add Subject</a>
使用以下代码:
$currentBatchId=$_GET['currentBatchId'];
我可以收到该值,并且可以在此页面中显示任何问题。但是我希望使用以下代码将一些数据添加到数据库中:
if(isset($_POST['add']))
当我按[add]按钮时,它会生成错误通知,但数据已成功插入数据库。现在我想删除错误。 怎么了?当数据插入代码将数据发布到数据库时,$ _GET是否尝试获取另一个值? NB:$ _GET&amp; $ _POST在同一页面。
答案 0 :(得分:0)
如果我正确地关注你,我认为你需要改变代码的顺序..
<?php
if(isset($_POST['add'])) {
// handle adding new
// make sure to header("Location: xxx.php"); to remove post data
exit(); // because we don't need to continue
}
if(isset($_GET['currentBatchId'])) {
$currentBatchId=$_GET['currentBatchId'];
}
// then maybe you also need to handle the no post / get request
if(!isset($_POST['add']) && !isset($_GET['currentBatchId'])) {
// handle this case
// maybe header("Location: blah.php");
// maybe exit(); here too because we don't have enough information to render the page
}
希望有意义