Supprimer une image qui est dans un dossier ?

Bonjour je ne sais pas comment supprimer une image qui est dans mon dossier upload, et le post avec le titre et contenu qui est lui dans ma base de donné.
Merci pour toute aide🙂
Par Batfire le 10 Jan 2019
Cette pub permet au site de vivre ...

10 Commentaires

Tu veux participer ?
Alors connecte toi ou inscris toi et viens participer !
Clouder
Le 10 Feb 2019
Tu as mis les echo ?
Batfire
Le 09 Feb 2019
Bonjour Clouder, non aucun problème...
Clouder
Le 01 Feb 2019
Ne t'inquiète pas on va trouver d'où vient le problème ! 🙂

Petite question : tu n'avais pas de problème sur ta page avant d'ajouter le code que je t'ai donné ?

Si oui on va essayer de le déboguer pour voir d'où vient l'erreur.
Tu vas mettre des :

echo 'ok';
dans ton code afin de savoir où tu as l'erreur
Batfire
Le 31 Jan 2019
Oui je vois bien, je fais le traitement directement sur ma page profile.php mais cela ne marche toujours pas...
Merci pour votre patience🙂.
Clouder
Le 31 Jan 2019
Ce que je voulais que tu fasses, c'est que tu traites tout ton code sur la même page. Donc si ton code pour supprimer ton image se fait sut ta page delete_post.php alors met tout ton code sur cette page. Car la méthode POST renvoie uniquement sur la page en cours.

Tu vois ce que je veux dire ?
Batfire
Le 30 Jan 2019
Malheureusement cela ne marche pas ...
( ! ) Parse error: syntax error, unexpected 'if' (T_IF) in C:\wamp64\www\sharing\profile.php on line 12
pourtant j'ai bien mis toutes les parenthèses et les points virgules, j'ai bien mis le code de delete_post.php vers profile.php.
<?php
session_start();

    include('config/connexionDB.php');

    // S'il n'y a pas de session alors on ne va pas sur cette page
    if (!isset($_SESSION['id'])){
        header('Location: index.php');
        exit;
    }

    if(!empty($_POST)){
       extract($_POST);
       $valid = true;

       if (isset($_POST['delete'])){

           $fileNameNew = (String) (trim($_POST['img']));

           $id = (int) htmlentities(trim($_POST['id']));

           if ($valid){

              echo $fileNameNew;

              exit;

           }
        }
    }

    // On récupère les informations de l'utilisateur connecté
    $afficher_profil = $DB->query("SELECT * FROM users WHERE id = ?",
        array($_SESSION['id']));

    $afficher_profil = $afficher_profil->fetch();

    $req = $DB->query("SELECT *
        FROM posts
        WHERE author = ? ORDER BY id ", array($_SESSION['username']));;

    $req = $req->fetchAll();

?>
<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link href="css/bootstrap.min.css" rel="stylesheet">
        <link href="css/profile.css" rel="stylesheet">
        <title>Wizung</title>
    </head>

    <body>
        <?php include('top_exit.html') ?><br>
        <div align="center">
          <h1 align="center"><?= $afficher_profil['firstname']; ?></h1>
          <div>
             <?php
                 if (file_exists("public/avatars/".$_SESSION['id'] . "/" . $_SESSION['avatar']) && isset($_SESSION['avatar'])) {
             ?>
                 <img style="border-radius: 25px" class="avatar" src="<?= "public/avatars/". $_SESSION['id'] . "/" . $_SESSION['avatar']; ?>" width="160" class="sz-image"/>
             <?php
                  }else{
             ?>
                  <img class="avatar" src="public/avatars/defaults/default.png" width="160" class="sz-image"/>
             <?php
                  }
              ?>

          </div><br>
          <div align="center">
             <ul>
                 <h6>Votre mail est : <?= $afficher_profil['email'] ?></h6>
                 <h6>Votre compte a été crée le : <?= $afficher_profil['account_date_creation'] ?></h6>
                 <a href="edit_profile">Change Information?</a><br>
                 <a href="avatar">Change Avatar?</a><br><br>
             </ul>
          </div>
        </div>
        <div align="center">
          <?php
          foreach($req as $r){

          $info = new SplFileInfo($r['fileNameNew']);

          $extaudio = array('mp3', 'flac');

          $extvideo = array('mp4', 'AVI');

          $extimage = array('png', 'jpg');

          if(in_array($info->getExtension(), $extimage)){

          ?>
                <div class="card" style="max-width: 45rem;">
                  <div class="card-body" align="center">
                      <div class="stream-item-top">
                       <div class="author">
                        <h5><?= $r['author'] ?></h5>
                       </div>
                       <div class="share-action">
                        <form action="#">
                         <input name="share" type="submit"/>
                        </form>
                       </div>
                       <div class="delete-action">
                        <form method="post">
                         <input type="hidden" name="id" value="<?= $r['id']?>">
                         <input type="hidden" name="img" value="<?= $r['fileNameNew']?>">
                         <input name="delete" type="submit"/>
                        </form>
                       </div>      
                      </div>
                      <?php echo"<img style='border-radius: 25px;' class='card-img-top' src='uploads/".$r['fileNameNew']."' >"; ?>
                      <h4><?= $r['content'] ?></h4>
                      <h6><?= $r['post_date_creation'] ?></h6>
                      <a href="#" class="btn btn-success">Like</a>
                      <a href="#" class="btn btn-danger">Dislike</a>
                  </div>
                </div><br>
          <?php
          }elseif(in_array($info->getExtension(), $extaudio)){
          ?>
                <div class="card" style="max-width: 45rem;">
                  <div class="card-body" align="center">
                      <div class="stream-item-top">
                       <div class="author">
                        <h5><?= $r['author'] ?></h5>
                       </div>
                       <div class="share-action">
                        <a href="#">
                         <img src="images/Share-icone.svg" width="30" height="30" alt="">
                        </a>
                       </div>
                       <div class="delete-action">
                        <a href="delete_post.php">
                         <img src="images/Cross-icone.svg" width="30" height="30" alt="">
                        </a>
                       </div>      
                      </div>
                      <?php echo "<audio src='uploads/".$r['fileNameNew']."'controls>"; ?>
                      <h4><?= $r['content'] ?></h4>
                      <h6><?= $r['post_date_creation'] ?></h6>
                      <a href="#" class="btn btn-success">Like</a>
                      <a href="#" class="btn btn-danger">Dislike</a>
                  </div>
                </div><br>
          <?php
          }elseif(in_array($info->getExtension(), $extvideo)){
          ?>
                <div class="card" style="max-width: 45rem;">
                   <div class="card-body" align="center">
                      <div class="stream-item-top">
                       <div class="author">
                        <h5><?= $r['author'] ?></h5>
                       </div>
                       <div class="share-action">
                        <a href="#">
                         <img src="images/Share-icone.svg" width="30" height="30" alt="">
                        </a>
                       </div>
                       <div class="delete-action">
                        <a href="delete_post.php">
                         <img src="images/Cross-icone.svg" width="30" height="30" alt="">
                        </a>
                       </div>      
                      </div>
                      <?php echo "<video src='uploads/".$r['fileNameNew']."'controls>"; ?>
                      <h4><?= $r['content'] ?></h4>
                      <h6><?= $r['post_date_creation'] ?></h6>
                      <a href="#" class="btn btn-success">Like</a>
                      <a href="#" class="btn btn-danger">Dislike</a>
                  </div>
                </div><br>
          <?php
          }

          }
          ?>

        </div>
    <body>
</html>
Clouder
Le 30 Jan 2019
Essaie avec ça : 

Page : Profil.php

<?php
session_start();

include('config/connexionDB.php');

if(!empty($_POST)){
extract($_POST);
$valid = true;
if (isset($_POST['delete'])){
  $fileNameNew = (String) (trim($_POST['img']));
  $id = (int) htmlentities(trim($_POST['id']));
  if ($valid){
   echo $fileNameNew;
   exit;
  }
}
}
?>
<html>
<head></head>
<body>
 <div class="delete-action">
  <form method="post">
   <input type="hidden" name="id" value="<?= $r['id']?>">
   <input type="hidden" name="img" value="<?= $r['fileNameNew']?>">
   <input name="delete" type="submit"/>
  </form>
</div>
</body>
</html>
Batfire
Le 30 Jan 2019
Helas cela ne marche pas....
//profile.php
<div class="delete-action">
   <form method="post" action="delete_post.php">
     <input name="delete_post" type="image" src="images/Cross-icone.svg" width="30" height="30" alt=""/>
   </form>
</div>
//delete_post.php
<?php

session_start();

include('config/connexionDB.php');

if(!empty($_POST)){
        extract($_POST);
        $valid = true;

        if (isset($_POST['delete_post'])){

            $fileNameNew = (String) (trim($_POST['fileNameNew']));
            $id = (int) htmlentities(trim($_POST['id']));

            if ($valid){

                echo $id;
            }   
        }
    }
exit;
?>

Clouder
Le 30 Jan 2019
Essaie de renvoyer plutôt ta requête de suppression sur ta page en cours avec une méthode POST. Car je pense que le GET c'est pas terrible avec ça comme non d'image : 5c3b9e02bd76c9.16488660.jpg
Batfire
Le 29 Jan 2019
l'affichage du contenu de ma variable avec echo ne marche pas cependant j'ai le contenu dans l'url.😭