首页 > 解决方案 > 不断报错:注意:未定义索引

问题描述

修复了通知的错误,谢谢。但我仍然无法向我的表中添加任何记录。我仍然收到插入失败消息

在此处输入图像描述


我的 php 代码中出现以下错误:

注意:未定义的索引:第 15 行 /Applications/MAMP/htdocs/www/private/add_actor.php 中的 first_name

注意:未定义索引:第 15 行 /Applications/MAMP/htdocs/www/private/add_actor.php 中的 last_name

注意:未定义索引:第 15 行 /Applications/MAMP/htdocs/www/private/add_actor.php 中的birth_year

插入失败

我做错了什么?我试图让我的表单将输入的信息提交到我的数据库。这是我的表单代码:

<html>
  <head>
    <title>Add Actors</title>
    <link href="../public/stylesheets/films.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
      <div>
        <form method="POST" action="add_actor.php" class="form">
          <fieldset>
            <legend>Add Actors Form</legend>
            <div class="container">
              <label for='first_name'>First Name</label><br />
              <input type="name" placeholder="first_name" /><br />
            </div>
            <div class="container">
              <label for="last_name">Last Name</label><br />
              <input type="name" placeholder="last_name" /><br />
            </div>
            <div class="container">
              <label for="gender">Gender</label><br />
              <select name="gender">
                <option value="male">Male</option>
                <option value="female">Female</option>
              </select><br />
            </div>
            <div class="container">
              <label for="birth_year">Year Born</label><br />
              <input type="name" placeholder="year"/><br />
            </div>
            <div class='container'>
              <input type='submit' name='Submit' value='Submit' />
            </div>
          </fieldset>
        </form>
      </div>
  </body>
</html>

这是我的 php 代码:

<?php
  $servername = "localhost"; $username = "webuser"; $password = "secret1234";
  $dbname = "movies_db";

  // Check connection
  $conn = mysqli_connect($servername, $username, $password, $dbname);

  // Check connection
  if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
  }
  else{
    echo "<h1>Connected successfully</h1>";
    $sql = "INSERT INTO actors ('actors_firstname', 'actors_lastname', 'actors_gender', 'actors_birthyear') VALUES
    ('".$_POST['first_name']."','".$_POST['last_name']."','".$_POST['gender']."','".$_POST['birth_year']."')";

    $res2 = mysqli_query($conn,$sql);

    if($res2 === TRUE){
      echo "New record created successfully";
    }
    else{
      echo "Insert failed";
    }
  }
?>

有人可以告诉我我的错误在哪里吗?

标签: php

解决方案


在您的 HTML 标记中没有名称。因此在 $_POST[...] 中没有变量。试试这样:

<input type="text" placeholder="first name" name="first_name" />

推荐阅读