Обновление php mysql потеряно поле изображения - PullRequest
0 голосов
/ 10 июля 2020

Я обновляю свой пост с помощью поля изображения. Все идет хорошо, но я теряю путь к изображению, сынок, если я оставляю поле пустым, путь к изображению равен нулю.

Я пробовал разные способы включения старого пути к изображению поля. Это строки со старым и новым путями.

<input type="file" name="image" value="<?php echo $row['image']; ?>">
<input type="hidden" name="old_image" value="<?php echo $row['image']; ?>" >

Я пробовал также с <input type="file" name="image" value="<?php echo $image; ?>">, но это не работает. Есть предложения?

Заранее спасибо! :)

Это мой код:

<?php
    require 'database.php';
    $db = mysqli_connect("", "", "", "");

    $id=$_GET["id"];

    $title='';
    $image='';
    $image_text='';
    $category='';

    $result = mysqli_query($db, "SELECT * FROM `images` WHERE `id` = $id  ");
    while ($row = mysqli_fetch_array($result))
    {
       $title=$row['title'];
       $image=$row['image'];
       $papayos = $row['papayos'];
       $cantidad = $row['cantidad'];
       $image_text=nl2br($row['image_text']);
       $category=$row['category'];
    }
?>

<!DOCTYPE html>
<html lang="en" dir="ltr">
    <head>
      <meta charset="utf-8">
      <title>Modificar. Lapapaya.org Educación y colaboración </title>
      <meta name="keywords" content="colaboracion, economía del bien común, emprendimiento"/>
      <meta name="description" content="Plataforma para desarrollo de proyectos productivos con bonos de intercambio"/>
      <link rel="stylesheet" href="css/style.css">
      <link rel="shortcut icon" type="image/png" href="images/favicon.png">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.8.0/css/bulma.min.css">
      <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    </head>
    <body>
      <section class="section has-background-white">
        <div class="container">
          <div class="columns is-centered">
                <img class="logo-intro" src="images/logo.png" alt="Logo">
                <br>
          </div>
        </div>
      </section>
      <form method="POST" action='' enctype="multipart/form-data">
      <div class="container">
            <h1>Título del artículo</h1>
            <br>
        <div class="field">
        <div class="control">
          <input class="input is-warning is-fullwidth" type="text" name="title" value="<?php echo $title; ?>" placeholder="Título">
        </div>
            <br>
            <br>
            <div>
          <div class="notification"> <h1>Imagen</h1>
          <input type="hidden" name="size" value="1000000">
          <div class="field">
            <div class="control">
              <input type="file" name="image" value="<?php echo $row['image']; ?>">
              <input type="hidden" name="old_image" value="<?php echo $row['image']; ?>" >
            </div>
          </div>

          <div>
            <h1>Descripción</h1>
            <textarea class="textarea" name="image_text" rows="8" cols="80"><?php echo $image_text; ?></textarea>
              <br>
              <h1>Categoría</h1>
              <div class=" select is-warning is-fullwidth">
                <select type="text" class="" name="category" value="<?php echo $category; ?>">
                  <option value="1 ">Productos agrícolas</option>
                  <option value="2 ">Servicio</option>
                  <option value="3 ">Artesanía</option>
                  <option value="4 ">Arte</option>
                  <option value="5">Diseño Industrial</option>
                  <option value="6 ">Ciudad</option>
                  <option value="7 ">Economía</option>
                  <option value="8 ">Emprendimiento</option>
                  <option value="9 ">Programación</option>
                  <option value="10 ">Reflexión</option>
                  <option value="11">Río</option>
                  <option value="12 ">Seguridad alimentaria</option>
                  <option value="13 ">Vivienda</option>
                </select>
              </div>
              <h1>Precio</h1>
              <br>
          <div class="field">
          <div class="control">
            <input class="input is-warning" type="number" name="papayos" value="<?php echo $papayos; ?>" placeholder="Papayos">
          </div>
          <br>
          <h1>Cantidad</h1>
          <br>
      <div class="field">
      <div class="control">
        <input class="input is-warning" type="number" name="cantidad" value="<?php echo $cantidad; ?>" placeholder="Cantidad">
      </div>
          <br>
        <br>
      <div>

            <button class="button is-outlined is-medium is-fullwidth" type="update" name="update">Modificar</button>
          </div>
          </div>
        </form>

    </body>
  </html>

  <?php
  $server = '';
  $username = '';
  $password = '';
  $database = '';



  if (isset($_POST['update'])) {
    $title=$_POST['title'];
    $image_text=nl2br($_POST['image_text']);
    $category=$_POST['category'];
    $papayos =$_POST['papayos'];
    $cantidad =$_POST['cantidad'];
    $total = $papayos * $cantidad;
    $old_image = $_POST['old_image'];

    if(isset($_FILES['image']['name']) && ($_FILES['image']['name']!="")) {
      $size=$_FILES['image']['size'];
      $temp=$_FILES['image']['tmp_name'];
      $type=$_FILES['image']['type'];
      $image_name=$_FILES['image']['name'];
      unlink("images/$old_image");
      move_uploaded_file($temp, "images/$image_name");
    }else {
      $image_name=$old_image;
    }
    $update=mysqli_query($db, "UPDATE images SET title = '$title', image = '$image_name', image_text = '$image_text', category = '$category', papayos = '$papayos', cantidad = '$cantidad', total = '$total'  WHERE id = $id");
    if ($update) {
    echo  "<script>alert('Datos actualizados exitosamente')</script>";
    echo "<script>window.open('index.php', '_self')</script>";
    }
    else {
    echo  "<script>alert('Inserción fallida')</script>";
    }

 } ?>

1 Ответ

0 голосов
/ 10 июля 2020

Я исправил добавление этого над импут-файлом:

<img src="images/<?php echo $image; ?>">

:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...