Bonjour,

Je me retrouve avec une problématique avec mon formulaire. Le but de ce dernier est la possibilité d'ajouter un commentaire + l'upload d'une image. L'ajout du commentaire et l'upload du fichier se passe bien mais je n'arrive pas à rajouter le lien de l'image dans la BDD.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<meta charset="utf-8" />
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=panel;charset=utf8','root','');
if(isset($_GET['id']) AND !empty($_GET['id'])) {
   $getid = htmlspecialchars($_GET['id']);
   $article = $bdd->prepare('SELECT * FROM customers WHERE id = ?');
   $article->execute(array($getid));
   $article = $article->fetch();
   setlocale (LC_TIME, 'fr_FR');
setlocale (LC_TIME, 'fr_FR','fra');
$date2 = strftime("%A %d %B %Y %T");
$date = "24 Janvier 2021";
   if(isset($_POST['submit_commentaire'])) {
      if(isset($_POST['pseudo'],$_POST['commentaire']) AND !empty($_POST['pseudo']) AND !empty($_POST['commentaire'])) {
         $tmpName = $_FILES['file']['tmp_name'];
    $photo = $_FILES['file']['name'];
    $size = $_FILES['file']['size'];
    $error = $_FILES['file']['error'];
 
    $tabExtension = explode('.', $photo);
    $extension = strtolower(end($tabExtension));
 
    $extensions = ['jpg', 'png', 'jpeg', 'gif'];
    $maxSize = 400000;
 
    if(in_array($extension, $extensions) && $size <= $maxSize && $error == 0){
 
        $uniqueName = uniqid('', true);
        //uniqid génère quelque chose comme ca : 5f586bf96dcd38.73540086
        $file = $uniqueName.".".$extension;
        //$file = 5f586bf96dcd38.73540086.jpg
 
        move_uploaded_file($tmpName, './upload/'.$file);
        echo "Image enregistrée";
    }
    else{
        echo "Une erreur est survenue";
    }
 
         $pseudo = htmlspecialchars($_POST['pseudo']);
         $commentaire = htmlspecialchars($_POST['commentaire']);
         if(strlen($pseudo) < 25) {
            $ins = $bdd->prepare("INSERT INTO commentaires (user, commentaire, id_customers, photo) VALUES (?,?,?,?)");
            $ins->execute(array($pseudo,$commentaire,$getid,$file,));
            $c_msg = "<span style='color:green'>Votre commentaire a bien été posté</span>";
         } else {
            $c_msg = "Erreur: Le pseudo doit faire moins de 25 caractères";
         }
      } else {
         $c_msg = "Erreur: Tous les champs doivent être complétés";
      }
   }
 
 
   $commentaires = $bdd->prepare('SELECT * FROM commentaires WHERE id_customers= ? ORDER BY id DESC');
   $commentaires->execute(array($getid));
 
 
?>
<h2>Article:</h2>
<p><?= $article['f_name'] ?></p>
<br />
<h2>Commentaires:</h2>
<form method="POST" enctype="multipart/form-data">
 
   <input type="text" name="pseudo" placeholder="Votre pseudo" /><br />
   <textarea name="commentaire" placeholder="Votre commentaire..."></textarea><br />
   <h2>Ajouter une image</h2>
    <form action="upload.php" method="POST" enctype="multipart/form-data">
 
        <label for="file">Fichier</label>
        <input type="file" name="file">
   <input type="submit" value="Poster mon commentaire" name="submit_commentaire" />
 
</form>
<?php if(isset($c_msg)) { echo $c_msg; } ?>
<br /><br />
<?php while($c = $commentaires->fetch()) { ?>
   <b><?= $c['date_commentaire'] ?> <b/> <?= $c['user'] ?>: <?= $c['commentaire'] ?><br />
<?php } ?>
<?php
}
?>
Envois remerciant d'avance de votre aide