首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我们得到一个错误作为未定义的索引,我们失去了我们的数据?

为什么我们得到一个错误作为未定义的索引,我们失去了我们的数据?
EN

Stack Overflow用户
提问于 2020-10-31 06:18:25
回答 2查看 199关注 0票数 0

我们已经使用php将数据放到数据库中,并且对搜索数据也进行了处理,这里我们面临的唯一问题是当我们在搜索数据后按下“更新”按钮时,我们会收到如下通知

注意:未定义索引:第130行中C:\xampp\htdocs\bkc\update-search.php中的FromD

注意:未定义索引:行131上C:\xampp\htdocs\bkc\update-search.php中的ToD

注意:未定义索引:第132行上C:\xampp\htdocs\bkc\update-search.php中的联系人

注意:未定义索引:行中C:\xampp\htdocs\bkc\update-search.php中的子目录

我们正在丢失FromD、ToD、联系人、数据库中的子数据以及按下更新按钮后收到的消息“更新失败”。

注意:

number/integer

  1. FromD,ToD,Contact is text and Child is

  1. 其他是信息。正在使用消息“数据更新”

成功地进行更新。

代码:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Search and Update</title>

    <style>
        .align{
            align:center;
        }
        .grad1 {
            height: 600px;
            background-color: red; 
            background-image: linear-gradient(315deg,#F6BB45, #18AA99);
            border-radius:20px;
            color:white;
        }
        
        .container{
            margin: 10px 50px 50px 50px;
        }
      </style>

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

</head>
<body>
    
    <div class="container grad1 text-center">
        <h1>Update Reservation Details</h1>
        <form action="" method="POST"> 
            <div class="form-group ">
                <label for="exampleInputEmail1"><h5>Email address</h5></label>
                <input type="email" class="form-control " name="email" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email to Search">
            </div>
            <!--
            <div class="form-group">
                <label for="exampleInputPassword1"><h5>Password</h5></label>
                <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
            </div>
            -->
            <button type="submit" class="btn btn-warning" name="search" value="Search Data"><h5>Search</h5></button>
          </form>

        <?php
          $conn = mysqli_connect("localhost","root","");
          $db = mysqli_select_db($conn,"booking");

          if(isset($_POST['search']))
          {
            $email = $_POST['email'];
            
            $query = "SELECT * FROM bookingt where email='$email' ";
            $query_run = mysqli_query($conn,$query);

            while($row = mysqli_fetch_array($query_run))
            {
                ?>
                    <form action="" method="POST">
                        <div class="form-group">
                            <br>
                            <h4>Your Details:</h4>
                            <p><b>Email:</b>
                            <input type ="hidden" name="Email" value="<?php echo $row['Email'] ?>"/>
                            <b>Name:</b>
                            <input type ="text" name="Name" value="<?php echo $row['Name'] ?>"/></p>

                            <p><b>Source:</b>
                            <input type ="text" name="Source" value="<?php echo $row['Source'] ?>"/>
                            <b>Destination:</b>
                            <input type ="text" name="Destn" value="<?php echo $row['Destn'] ?>"/></t>
                            <b>From:</b>
                            <input type ="text" name="From-D" value="<?php echo $row['FromD'] ?>"/>
                            <b>To:</b>
                            <input type ="text" name="To-D" value="<?php echo $row['ToD'] ?>"/></p>
                            
                            <p><b>Contact:</b>
                            <input type ="text" name="contact" value="<?php echo $row['Contact'] ?>"/>
                            <b>Bus:</b>
                            <input type ="text" name="Bus" value="<?php echo $row['Bus'] ?>"/>
                            <b>Class:</b>
                            <input type ="text" name="Class" value="<?php echo $row['Class'] ?>"/></p>

                            <p><b>No. of adults:</b>
                            <input type ="number" name="Adult" value="<?php echo $row['Adult'] ?>"/>
                            <b>No. of childs:</b>
                            <input type ="number" name="child" value="<?php echo $row['Child'] ?>"/>
                            <b>No. of Uchilds:</b>
                            <input type ="number" name="Uchild" value="<?php echo $row['Uchild'] ?>"/></p>
                        </div>
                        <button type="submit" class="btn btn-danger" name="update" value="Update Data"><h5>Update</h5></button>
                    </form>
                <?php
            }
          }

        $conn->close();
        ?>

    </div>

</body>
</html>
<?php

ini_set('display_errors',1);
error_reporting(E_ALL);

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

try{
    $conn = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($conn,"booking");
}   catch(Exception $ex)    {
    echo "Error";
}

function getPosts()
{
    $posts = array();
    $posts [0] = $_POST['Name'];
    $posts [1] = $_POST['Source'];
    $posts [2] = $_POST['Destn'];
    $posts [3] = $_POST['FromD'];
    $posts [4] = $_POST['ToD'];
    $posts [5] = $_POST['Contact'];
    $posts [6] = $_POST['Bus'];
    $posts [7] = $_POST['Class'];
    $posts [8] = $_POST['Adult'];
    $posts [9] = $_POST['Child'];
    $posts [10] = $_POST['Uchild'];
    $posts [11] = $_POST['Email'];
    return $posts;
}

if(isset($_POST['update']))
{
    $data = getPosts();
    $update_Query = "UPDATE `bookingt` SET `Source`='$data[1]',`Destn`='$data[2]',`Bus`='$data[6]',`Class`='$data[7]',`Adult`='$data[8]',`Child`='$data[9]',`Uchild`='$data[10]',`FromD`='$data[3]',`ToD`='$data[4]',`Name`='$data[0]',`Contact`='$data[5]' WHERE `Email`='$data[11]' ";
    try{
        $update_Result = mysqli_query($conn, $update_Query);

        if($update_Result)
        {
            if(mysqli_affected_rows($conn) > 0)
            {
                echo "Data Updated !!!";
            }
            else
            {
                echo " Updation Failed";
            }
        }
    }   catch(Exception $ex){
        echo "Error Update ".$ex->getMessage();
    }

}

$conn->close();
?>
EN

回答 2

Stack Overflow用户

发布于 2020-10-31 07:54:55

表单中的字段名和PHP代码中的字段名必须相同。这些名称也区分大小写。更正PHP代码,以便使用html格式的名称。例如,将ToD更改为-D,从子到子,等等

票数 2
EN

Stack Overflow用户

发布于 2020-10-31 06:41:01

请检查"FromD“、"ToD”、"Contact“和”子“的名称,请在您提交的表格中找到。

我认为您错过或拼错了表单中的这4个字段的name属性.

您是使用表单还是执行ajax调用?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64618988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档