Probléme d'ajouter en PDO

Fermé
syrine01 Messages postés 44 Date d'inscription dimanche 5 février 2012 Statut Membre Dernière intervention 10 avril 2017 - Modifié par jordane45 le 28/12/2015 à 04:23
jordane45 Messages postés 36882 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 janvier 2023 - 28 déc. 2015 à 04:28
bonsoir tous


j'ai en train de récupérer le chemin d'une image téléchargée par un utilisateur puis le stocké dans la base de données pour avoir aprés leur l'affichage sur l'écran en stockant aussi l'id de l'utilisateur a insérer,en effet, j'ai 2 requêtes la 1ére pour insérer les informations d'utilisateur puis on récupère leur id et la 2éme pour insérer le chemin de l'image avec l'id d'utilisateur dans la table "images" . donc j'ai testé tous mes champs ils sont bien passé .je pense que le probléme dans la récupération du chemin de l'image (j'en sais pas vraiment).

Merci d'aider pour résoudre ce probléme


*
form id="demo-form2"  class="form-horizontal form-label-left" method="post" action="../traitement_code/ajouter_produits.php" enctype="multipart/form-data"> // code html
    <input type="file"  required="required"  name="up_img[]" multiple> //--> file 
     <button type="submit" class="btn btn-success" name="save">Sauvegarder</button> //->bouton du mon formulaire
  • /

//récupéraation de l'id produit insérer**
$last = $DB_con->lastInsertId();

                //sys up
                if (($_FILES['up_img']['error'] === UPLOAD_ERR_OK)) {
                  
                      //extensions des img autorisées pour téléchargement
                    $m = array(".png", ".jpeg", ".gif");
                     
                     //on va testé si l'extension de l'image existe dans tableau "$m" et que taille <2 ko
                    if (in_array($_FILES['up_img']['name'], $m) && ($_FILES['up_img']['size'] < 200000)) {
                      
                         //patch de répartoire
                        $nouveau ="img/";
                        $n = $nouveau . basename($_FILES['up_img']['name']);//basename - Retourne le nom du fichier dans un chemin.
                        
                      // assurer que le fichier est télécharger dans le dossier "up_img"
                        move_uploaded_file($_FILES['up_img']['tmp_name'], $n);


                        // requete d'insertion du patch de l'image up
                        $qt = $DB_con->prepare("INSERT INTO images (id_p,imge) VALUES (:pim,:nou) ");
                        $qt->bindParam(':pim', $last);
            
                        $qt->bindParam(':nou', $n);
                         
                     
                        $az = $qt->execute();
                    } else {
                      echo "votre image doit etre de type .png ou . jpeg ou .gif"';
                    }
                } else {
                   echo"erreur se produit lors de telechargement du votre fichier";
                }


EDIT : Ajout des balises de code. (la coloration syntaxique )
Explication disponible ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser à l'avenir.

1 réponse

jordane45 Messages postés 36882 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 janvier 2023 4 479
28 déc. 2015 à 04:28
Bonjour,

Déjà... ligne 34 du code php que tu nous a donné... il semble que tu aies une "quote" en trop.

Ensuite... ton explication n'est pas claire....
- Qu'obtiens tu dans ta BDD ? Quel chemin apparait dans ta table ?
- Le fichier est-il bien copié dans le répertoire que tu désignes ?

- Peux tu ajouter un bloc try/catch au niveau de ta requête pour voir si tu n'aurais pas des erreurs ?
(ainsi que l'instruction :
 error_reporting(E_ALL);  
au début de ton script PHP)
0