1

I am getting the undefined index error and I'm unable to mitigate this error.

<?php include "htmlStart.php";?>

<div class="homeContent uk-padding-small adminHome">
  <form name="AddTeacherForm" action="" method="post">
    <fieldset class="uk-fieldset uk-text-center">

      <legend class="uk-legend">Add Teachers</legend>

      <div class="uk-margin">
        <input class="uk-input" type="text" name="name" placeholder="Name">
      </div>
      <div class="uk-margin">
        <div class="uk-form-controls">
          <select class="uk-select" id="form-horizontal-select" name="subject01">
            <option value="0" selected="selected" disabled=disabled>Select Subject 01</option>
            <option value="math">Mathematics</option>
            <option value="sci">Science</option>
            <option value="eng">English</option>
            <option value="hin">Hindi</option>
            <option value="kan">Kannada</option>
            <option value="ss">Social Science</option>
            <option value="pe">Physical Education</option>
            <option value="moralSci">Moral Science</option>
            <option value="draw">Drawing</option>
            <option value="music">Music</option>
          </select>
        </div>
      </div>
      <div class="uk-margin">
        <div class="uk-form-controls">
          <select class="uk-select" id="form-horizontal-select2" name="subject02">
            <option value="0" selected="selected" disabled=disabled>Select Subject 02</option>
            <option value="math">Mathematics</option>
            <option value="sci">Science</option>
            <option value="eng">English</option>
            <option value="hin">Hindi</option>
            <option value="kan">Kannada</option>
            <option value="ss">Social Science</option>
            <option value="pe">Physical Education</option>
            <option value="moralSci">Moral Science</option>
            <option value="draw">Drawing</option>
            <option value="music">Music</option>
          </select>
        </div>
      </div>
      <div class="uk-margin">
        <div class="uk-form-controls">
          <select class="uk-select" id="form-horizontal-select3" name="subject03">
            <option value="0" selected="selected" disabled=disabled>Select Subject 03</option>
            <option value="math">Mathematics</option>
            <option value="sci">Science</option>
            <option value="eng">English</option>
            <option value="hin">Hindi</option>
            <option value="kan">Kannada</option>
            <option value="ss">Social Science</option>
            <option value="pe">Physical Education</option>
            <option value="moralSci">Moral Science</option>
            <option value="draw">Drawing</option>
            <option value="music">Music</option>
          </select>
        </div>
      </div>
      <div class="uk-margin">
        <div class="uk-form-controls">
          <select class="uk-select" id="form-horizontal-select4" name="subject04">
            <option value="0" selected="selected" disabled=disabled>Select Subject 04</option>
            <option value="math">Mathematics</option>
            <option value="sci">Science</option>
            <option value="eng">English</option>
            <option value="hin">Hindi</option>
            <option value="kan">Kannada</option>
            <option value="ss">Social Science</option>
            <option value="pe">Physical Education</option>
            <option value="moralSci">Moral Science</option>
            <option value="draw">Drawing</option>
            <option value="music">Music</option>
          </select>
        </div>
      </div>
      <div class="uk-margin">
        <input class="uk-button uk-button-default submit" type="submit" name="submit1" value="Add Teacher">
      </div>
    </fieldset>
  </form>

  <?php
                    if (isset($_POST["submit1"]) ) {
                        mysqli_query($link, "INSERT INTO `teachers`(`idTeacher`, `name`, `sub01`, `sub02`, `sub03`, `sub04`) VALUES ('','$_POST[name]','$_POST[subject01]','$_POST[subject02]','$_POST[subject03]','$_POST[subject04]')");
                        
                            ?>
    <div class="uk-text-center w3-padding w3-green w3-round-large"><strong>Added Successfully</strong></div>
    <?php
                        }
                        
                ?>
</div>
</div>
<?php include "htmlEnd.php";?>

I have referred similar SO questions but couldn't remove the error/warning.
Ref1   Ref2

I have tried using backticks (`) instead of ' as suggested in the comments of one of the answers.
Data does get added to the database table but, this warning keeps popping up.

Your Common Sense
  • 156,878
  • 40
  • 214
  • 345
YourPalNurav
  • 1,204
  • 9
  • 40
  • 1
    `if (isset($_POST["submit1"]) ) { mysqli_query($link, "INSERT INTO `teachers`(`idTeacher`, `name`, `sub01`, `sub02`, `sub03`, `sub04`) VALUES ('','$_POST[name]','$_POST[subject01]','$_POST[subject02]','$_POST[subject03]','$_POST[subject04]')");` using `isset($_POST["submit1"])` does not automaticlly mean the other POST values are set or not.. Also so should look into SQL injections, because INSERT queries can also be injected.. – Raymond Nijland Apr 09 '19 at 09:30
  • @Raymond Nijland so I should change isset to if (isset($_POST["submit1"],$_POST["???"]) ) – YourPalNurav Apr 09 '19 at 09:33

0 Answers0