注意:未定义的索引:搜索

时间:2017-12-11 11:22:16

标签: php undefined

我是PHP代码的新手。我创建了一个输入文本来搜索数据库中的所需数据,还有一个删除按钮,用于从页面中删除所选数据。所有功能都可以正常工作但在我单击删除按钮后,所选数据被删除并出现此错误。

  

注意:未定义的索引:搜索   第114行的C:\ xampp \ htdocs \ FinalProject \ search.php

这是我的代码:

的search.php

<?php 
$con =mysqli_connect("localhost","root","","reservation");
$set =$_POST['search'];
if ($set) {
$show = "SELECT * FROM reserve WHERE Username = '$set'";
$result = mysqli_query($con, $show);
while ($row=mysqli_fetch_array($result)){ ?>
<tr>
            <td><?php echo $row['ID']; ?></td>
            <td><?php echo $row['Username']; ?></td>
            <td><?php echo $row['Person']; ?></td>
            <td><?php echo $row['Book_date']; ?></td>
            <td><?php echo $row['Book_time']; ?></td>
            <td><?php echo $row['Table_no']; ?></td>
            <td><?php echo $row['Cus_acc']; ?></td>
            <td><?php echo $row['Cus_food']; ?></td>
            <td><?php echo $row['Cus_drink']; ?></td>
            <td><?php echo $row['Cus_request']; ?></td>
            <td><a class="del_btn" href="reserve_del.php?del=<?php echo 
$row['ID']; ?>">Delete</a></td>
</tr>
<?php } ?>
<?php } ?>

reseacrh_del.php

<?php
$con = mysqli_connect('localhost','root','','reservation');
if (isset($_GET['del'])) {
        $ID = $_GET['del'];
        mysqli_query($con, "DELETE FROM reserve WHERE ID=$ID");
        $_SESSION['msg'] = "Delete Successful.";
        header("location: search.php");
    }       
?>

有人请帮帮我..谢谢

2 个答案:

答案 0 :(得分:0)

测试$ _POST变量中数据的存在,然后在$ test上影响$ _POST [&#39; search&#39;]:

    <?php 
$con =mysqli_connect("localhost","root","","reservation");

if (!empty($_POST)) {
$set =$_POST['search'];
$show = "SELECT * FROM reserve WHERE Username = '$set'";
$result = mysqli_query($con, $show);
while ($row=mysqli_fetch_array($result)){ ?>
<tr>
            <td><?php echo $row['ID']; ?></td>
            <td><?php echo $row['Username']; ?></td>
            <td><?php echo $row['Person']; ?></td>
            <td><?php echo $row['Book_date']; ?></td>
            <td><?php echo $row['Book_time']; ?></td>
            <td><?php echo $row['Table_no']; ?></td>
            <td><?php echo $row['Cus_acc']; ?></td>
            <td><?php echo $row['Cus_food']; ?></td>
            <td><?php echo $row['Cus_drink']; ?></td>
            <td><?php echo $row['Cus_request']; ?></td>
            <td><a class="del_btn" href="reserve_del.php?del=<?php echo 
$row['ID']; ?>">Delete</a></td>
</tr>
<?php } ?>
<?php } ?>

答案 1 :(得分:0)

检查这将有助于您:在这里,我在删除页面上传递您的用户名,并从那里重定向搜索页面,其中必须发布并获取相同的变量条件 的的search.php

<?php 
$con =mysqli_connect("localhost","root","","reservation");
$set = !empty($_POST['search']) ? $_POST['search'] : (!empty($_GET['search']) ? $_GET['search'] : null);
if ($set) {
$show = "SELECT * FROM reserve WHERE Username = '$set'";
$result = mysqli_query($con, $show);
while ($row=mysqli_fetch_array($result)){ ?>
<tr>
            <td><?php echo $row['ID']; ?></td>
            <td><?php echo $row['Username']; ?></td>
            <td><?php echo $row['Person']; ?></td>
            <td><?php echo $row['Book_date']; ?></td>
            <td><?php echo $row['Book_time']; ?></td>
            <td><?php echo $row['Table_no']; ?></td>
            <td><?php echo $row['Cus_acc']; ?></td>
            <td><?php echo $row['Cus_food']; ?></td>
            <td><?php echo $row['Cus_drink']; ?></td>
            <td><?php echo $row['Cus_request']; ?></td>
            <td><a class="del_btn" href="reserve_del.php?del=<?php echo 
$row['ID']; ?>&username=<?php echo $row['Username']; ?>">Delete</a></td>
</tr>
<?php } ?>
<?php } ?>

<强> reseacrh_del.php

<?php
$con = mysqli_connect('localhost','root','','reservation');
if (isset($_GET['del'])) {
        $ID = $_GET['del'];
        mysqli_query($con, "DELETE FROM reserve WHERE ID=$ID");
        $_SESSION['msg'] = "Delete Successful.";
        header("location: search.php?search=".$_GET['username']);
    }       
?>