Обновление данных сразу в 2 таблицах, редактирование

У меня сразу несколько вопросов.. Пользователь может забронировать книгу (3 страница). Администратор может эту книгу отредактировать (1 страница). Также, книга появляется на странице 2, где находится список всех книг. И так, есть 3 страницы. Вопрос 1 заключается в след. Сначала разберусь с редактированиемм записей в целом. Ниже находится код страницы, на которой я пытаюсь отредактировать эту самую запись.

     <?php
include_once("header_admin.php");
include_once("../Connection.php");
//Если переменная Name передана
  if (isset($_POST["Name"])) {
    //Вставляем данные, подставляя их в запрос
    $file = $_FILES['uploadfile']['name'];
    if (empty($file)) {
        echo "<h2 align='center'>Файл не выбран</a>";
    }else {
         $filetype=$_FILES['uploadfile']['type'];
         $file_name = strstr($file, '.', true);
         $file_ext = strrchr($file, '.');
         $whitelist = array(".jpg", ".jpeg", ".png", ".PNG", ".gif"); 
         if (!in_array($file_ext, $whitelist)) {
            echo '<h2 align="center">Вы пытаетесь загрузить не допустимое расширение файла</h2>';
            exit();
         }else {
                //директория загрузки
                $uploaddir = "book/";
                //новое имя изображения
                $apend=$file_name.'_'.date('YmdHis').rand(100,1000).$file_ext;
                //путь к новому изображению
                $uploadfile = "$uploaddir$apend";
                if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile)) {
                  if (isset($_GET['red_id'])) {
                    $sql = mysqli_query($link, "UPDATE `book` SET `id_section` = '{$_POST['id_section']}',`Name` = '{$_POST['Name']}',`Author` = '{$_POST['Author']}',`BookEdition` = '{$_POST['BookEdition']}',`Yearofpublication` = '{$_POST['Yearofpublication']}',`Jenre` = '{$_POST['Jenre']}',`NumberofPages` = '{$_POST['NumberofPages']}',`image` = '{$_POST['$uploadfile']}' WHERE `id`={$_GET['red_id']}");
                } else {
                    //Иначе вставляем данные, подставляя их в запрос
                    $sql = mysqli_query($link, "INSERT INTO `book` (`id_section`,`Name`, `Author`, `BookEdition`, `Yearofpublication`, `Jenre`, `NumberofPages`, `image`) VALUES ('{$_POST['id_section']}','{$_POST['Name']}', '{$_POST['Author']}', '{$_POST['BookEdition']}', '{$_POST['Yearofpublication']}', '{$_POST['Jenre']}', '{$_POST['NumberofPages']}', '{$uploadfile}')");
                }
                    
                    }
                    
                    if ($sql) {
                        echo '<h2>Данные добавлены</h2>';
                      }else {
                            echo '<h2>Произошла ошибка. Данные не записанны.</h2>';
                          }                
            
        }
        }   
   
  }
?>
<?php
if (isset($_GET['red_id'])) {
    //редактируем строку из таблицы
    $sql = mysqli_query($link, "SELECT `id_section`, `Name`, `Author`, `BookEdition`, `Yearofpublication`, `Jenre`, `NumberofPages`, `image` FROM `book` WHERE `id`={$_GET['red_id']}");
    $book = mysqli_fetch_array($sql);
    if ($sql) {
      echo "<h2>Данные о книге редактируются..</h2>";
    } else {
      echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
    }
   }
?>
 <h1>Введите информацию о книге</h1>
 
<form action="" method="post" enctype="multipart/form-data">
  <table>
    <tr>
      <td>Название книги</td>
      <td><input type="text" name="Name" value="<?= isset($_GET['red_id']) ? $book['Name'] : ''; ?>"></td>
    </tr>
    <tr>
      <td>Автор</td>
      <td><input type="text" name="Author" value="<?= isset($_GET['red_id']) ? $book['Author'] : ''; ?>"></td>
    </tr>
        <tr>
      <td>Издательство</td>
      <td><input type="text" name="BookEdition" value="<?= isset($_GET['red_id']) ? $book['BookEdition'] : ''; ?>"></td>
    </tr>
    <tr>
      <td>Год публикации</td>
      <td><input type="number" step="any" id="shest1"/ name="Yearofpublication" value="<?= isset($_GET['red_id']) ? $book['Yearofpublication'] : ''; ?>">
            <script>
                document.getElementById('shest1').oninput = function () {
                if (this.value.length > 4) this.value = this.value.substr(0, 4); // в поле можно ввести только 7 символов
                }
            </script>
            </td>
    </tr>
    <tr>
      <td>Жанр</td>
      <td><input type="text" name="Jenre" value="<?= isset($_GET['red_id']) ? $book['Jenre'] : ''; ?>"></td>
    </tr>
    <tr>
      <td>Количество страниц</td>
      <td><input type="number" step="any" id="shest2" name="NumberofPages" value="<?= isset($_GET['red_id']) ? $book['NumberofPages'] : ''; ?>"/>
            <script>
                document.getElementById('shest2').oninput = function () {
                if (this.value.length > 7) this.value = this.value.substr(0, 7); // в поле можно ввести только 7 символов
                }
            </script>
            </td>
    </tr>
    <tr>
    <td>Секция</td>
        <td>
            <select name="id_section">
            <option></option>
            <?php
            $sql = mysqli_query($link, 'SELECT `id`, `name` FROM `section`');
            while ($result = mysqli_fetch_array($sql)) {
                echo "\t\t<option value=\"{$result['id']}\">{$result['name']}</option>\n";
            }
        ?>
</td>
 
<tr>
  <td>Изображение</td>
        <td><input type="file" name="uploadfile"/>
    </td>
    </tr>
 
  </select>
</tr>
   <tr>
      <td colspan="6"><input type="submit" value="OK" name="ok"></td>
    </tr>
    </table>
</form>
 
<?php
if (isset($_GET['del_id'])) { //проверяем, есть ли переменная
  $del_id = mysqli_real_escape_string($link, $_GET['del_id']);
  $result = mysqli_query($link, "SELECT image FROM `book` WHERE `id` = '$del_id'");
  $row = mysqli_fetch_array($result);
  $dir='';
  unlink($dir.$row[0]);
    //удаляем строку из таблицы
    $sql = mysqli_query($link, "DELETE FROM `book` WHERE `id` = $del_id");
    if ($sql) {
      echo "<h2>Данные о книге удалены.</h2>";
    }elseif($result->num_rows > 0) {
      echo '<h2>Книга не может быть удалена, поскольку она забронирована пользователемы</h2>';
    }
     else {
      echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
    }
  }
?>
 
 <h1>Все книги</h1>
 
<table border='1' align="center" width="80%">
  <tr>
  <td>№ секции</td>
    <td>Название книги</td>
    <td>Автор</td>
    <td>Издательство</td>
    <td>Год публикации</td>
    <td>Жанр</td>
    <td>Количество страниц</td>
  </tr>
  <?php
    $sql = mysqli_query($link, 'SELECT `id`, `id_section`,`Name`, `Author`, `BookEdition`, `Yearofpublication`, `Jenre`, `NumberofPages`FROM `book`');
    while ($result = mysqli_fetch_array($sql)) {
      echo '<tr>' .
           "<td>{$result['id_section']}</td>" .
           "<td>{$result['Name']}</td>" .
           "<td>{$result['Author']}</td>" .
           "<td>{$result['BookEdition']}</td>" .
           "<td>{$result['Yearofpublication']}</td>" .
           "<td>{$result['Jenre']}</td>" .
           "<td>{$result['NumberofPages']}</td>" .
           "<td><b><a href='?del_id={$result['id']}'>Удалить</a></b></td>" .
           "<td><b><a href='?red_id={$result['id']}'>Редактировать</a></b></td>" .
           '</tr>';
    }
  ?>

Проблема заклчается в следующем. При редактировании у меня сбрасывается картинка и секция книги. К этому никаких претензий, но вот я, допустим, добавляю новую картинку, редактирую что-то там еще, сохраняю, но запись удаляется из БД. Почему? Ну и, можно ли как-то сделать так, чтобы при редактировании не слетала картинка и секция? Например. Я нажимаю на "редактировать" и у меня в форме редактирования написаны все данные, и, например, маленький образец картинки, которая стоит на данный момент. Вот, кстати, что появляется, если я пытаюсь отредактировать Warning: Undefined array key "$uploadfile" in C:\xampp\htdocs\Library\Admin\Book.php on line 27

Линия 27 -->

$sql = mysqli_query($link, "UPDATE `book` SET `id_section` = '{$_POST['id_section']}',`Name` = '{$_POST['Name']}',`Author` = '{$_POST['Author']}',`BookEdition` = '{$_POST['BookEdition']}',`Yearofpublication` = '{$_POST['Yearofpublication']}',`Jenre` = '{$_POST['Jenre']}',`NumberofPages` = '{$_POST['NumberofPages']}',`image` = '{$_POST['$uploadfile']}' WHERE `id`={$_GET['red_id']}");

Понятно, что он ругается на uploadfile, но почему? И еще, на 1 странице запись отается, но на других и в БД она исчезает. Опять таки. Почему? Я понимаю, что косякнула где-то, но. Я не понимаю где.

Ах, дополнение. Если я удаляю эту несуществующую отредактированную запись появляется ошибка --> Warning: unlink(): Invalid argument in C:\xampp\htdocs\Library\Admin\Book.php on line 131

Линия 131 -->

  unlink($dir.$row[0]);

И 2 вопрос, касающийся этого же почти. Вот, допустим, редактирование работает. Как сделать так, чтобы при редактировании информация менялась также у книг, которые пользователь забронировал? Я имею ввиду. Вот я забронировала книжку, она добавилась в мой список забронированных книжек, (ниже код, если он нужен. Код страницы брони, где находится список книг, забронированных кем-то). И как сделать, чтобы он редактировался и там тоже? Я так думала, что это автоматически будет происходить, при редактировании информации, но, может это не так, потому что у меня не работает редактирование?

<?php
    session_start();
    
    require_once 'Connection.php';
    ?>
    
    <?php
    if (!isset($_SESSION['admin']))
    {
      include_once("header.php");
    }else{
      include_once("headers/header_admin_1.php");
    }
     ?>
    
    <h1>Забронировать</h1>
    
    
    
    <table  align="center" border='1' width="20%" cellpadding="28" cellspacing="0" > 
     
    <?php
    if (isset($_GET['del_id'])) { //проверяем, есть ли переменная
      $del_id = mysqli_real_escape_string($link, $_GET['del_id']);
    
        $sql = mysqli_query($link, "DELETE FROM `reservation` WHERE `id` = $del_id");
        if ($sql) {
          echo "<h2>Данные о книге удалены.</h2>";
        } else {
          echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
        }
      }
    ?>
    
    <?php
    if(isset($_SESSION['user'])){
      $id = $_SESSION['user']['id'];
      $sql = mysqli_query($link, "SELECT * FROM `reservation` WHERE `users_id` = $id");
      while ($row = $sql->fetch_array()) {
        echo '<tr>' .
         "<tr><td>{$row['id_book']}</td>".
         "<td>{$row['users_id']}</td>".
         "<td>{$row['bookissuingdate']}</td>".
         "<td>{$row['bookreturndate']}</td>".
         "<td><b><a href='?del_id={$row['id']}'>Удалить</a></b></td>" .
        '</tr>';
      }
    }elseif(!isset($_SESSION['user']) && (isset($_SESSION['admin']))){
      $sql = mysqli_query($link, "SELECT * FROM `reservation`");
      while ($row = $sql->fetch_array()) {
          echo '<tr>' .
           "<tr><td>{$row['id_book']}</td>".
           "<td>{$row['users_id']}</td>".
           "<td>{$row['bookissuingdate']}</td>".
           "<td>{$row['bookreturndate']}</td>".
           "<td><b><a href='?del_id={$row['id']}'>Удалить</a></b></td>" .
          '</tr>';
        }
      }else{
        if (!isset($_SESSION['user']) && (!isset($_SESSION['admin'])))
    {
    echo 'Доступно только зарегистрированным пользователям.';
    }
      }
    ?>
    
    </table>
    
    <?php
    include_once("footerbottom.php");
    ?>

Ответы (0 шт):