Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Jerem971, salutlacompagnie
Auteur Sujet: Sauvegarde image et texte dans bdd

salutlacompagnie

Messages: 27

Bonjour tout le monde je rencontre un problème depuis plusieurs heures..
Je souhaite sauvegarder une image ainsi que deux autres champs de type texte.
Si quelqu'un peut m'aider je lui en serais très reconnaissant =)

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

if(isset($_FILES['image']) AND!empty($_FILES['image']['name']))
    {
        $taillemax = 2097152;
        $extensionsValides = array('jpg' , 'jpeg', 'gif', 'png');
        if($_FILES['image']['size'] <= $taillemax)
        {
            $extensionUpload = strtolower(substr(strrchr($_FILES['image']['name'], '.'), 1));
            if(in_array($extensionUpload, $extensionsValides))
            {
                $chemin = "../../image/".$_SESSION['id'].".".$extensionUpload;
                $resultat = move_uploaded_file($_FILES['image']['tmp_name'], $chemin);
                if($resultat)
                {
                    
                    $contenu = htmlspecialchars($_POST['contenu']);
                    
                    $categorie = htmlspecialchars($_POST['categorie']);
                    
                        if(!empty($_POST['contenu'])){
                        
                            if(!empty($_POST['categorie'])){
                    
                                $contenulength = strlen($contenu);
                                    if($contenu) {
                            
                                    $categorielength = strlen($categorie);
                                        if($categorie) {
                                            
                    $reqnews= $bdd->prepare('INSERT INTO statut (id_client, image, contenu, categorie, heure_post)
                    (?, :image, ?, ?, NOW()) WHERE id = :image'); 
                    $reqnews->execute(array($_SESSION['id'],
                    'image' => $_SESSION['id'].".".$extensionUpload,
                        'id' => $_SESSION['id'], $contenu, $categorie));
                        
                                header('Location: '.$_SERVER['HTTP_REFERER'].'');
        
                                } else {
                                 $erreur = "Votre categorie ne doit comporter que du texte";
                                }

                            } else {
                              $erreur = "Votre statut ne doit comporter que du texte";
                            }
           
                       } else {
                          $erreur = "Vous n'avez pas séléctionné de categorie";
                       }
           
                   } else {
                      $erreur = "Votre statut n'est pas complété";
                   }                        
                    
                    }
                    else
                    {
                        $erreur = "Votre image principale n'a pas été téléchargé correctement!";
                    }
                }
                else
                {
                    $erreur = "Votre photo doit être au format jpeg, jpg, gif ou png";
                }
            }
            else
            {
                $erreur = "Votre photo ne doit pas dépasser 2MO";
            }
        }                
                
    }
Cordialement =)
Publicité

Beignet

Messages: 522

Bien


ok

mais c'est quoi le problème ???

salutlacompagnie

Messages: 27

Oupsss! J'ai oublié d'expliquer le problème ^^

Le problème c'est que l'image ne s'enregistre pas dans la base donnée avec les autres champs ..
Pourtant la retrouve bien dans le dossier ou je stock les images des utilisateurs..

Donc que dois-je faire pour pouvoir sauvegarder mais 3 données en même temps?

Merci

Beignet

Messages: 522

if(isset($_POST['news'])) {
   if(isset($_FILES['image']) AND!empty($_FILES['image']['name'])) {
      $taillemax = 2097152;
      $extensionsValides = array('jpg' , 'jpeg', 'gif', 'png');
      
      if($_FILES['image']['size'] <= $taillemax) {
         $extensionUpload = strtolower(substr(strrchr($_FILES['image']['name'], '.'), 1));
         
         if(in_array($extensionUpload, $extensionsValides)) {
            $nomfichier = $_SESSION['id'].".".$extensionUpload;
            $chemin = "../../image/".$nomfichier;
            $resultat = move_uploaded_file($_FILES['image']['tmp_name'], $chemin);
            
            if($resultat) {
               $contenu = htmlspecialchars($_POST['contenu']);
               $categorie = htmlspecialchars($_POST['categorie']);
               if(!empty($contenu)) {
                  if(!empty($categorie)) {
                     $contenulength = strlen($contenu);
                     
                     if($contenu) {
                        $categorielength = strlen($categorie);
                        if($categorie) {
                           $reqnews = $bdd->prepare('
                              INSERT INTO
                              statut(id_client, image, contenu, categorie, heure_post)
                              (?, ?, ?, ?, NOW())
                              WHERE id = :id
                           '); 
                           $reqnews->execute([
                              $_SESSION['id'],
                              $nomfichier,
                              $contenu,
                              $categorie
                              'id' => $_SESSION['id'],
                           ]);
                           header('Location: '.$_SERVER['HTTP_REFERER']);
                        } else {
                           $erreur = "Votre catégorie ne doit comporter que du texte";
                        }
                     } else {
                        $erreur = "Votre statut ne doit comporter que du texte";
                     }
                  } else {
                     $erreur = "Vous n'avez pas séléctionné de categorie";
                  }
               } else {
                  $erreur = "Votre statut n'est pas complété";
               }
            } else {
               $erreur = "Votre image principale n'a pas été téléchargé correctement!";
            }
         } else {
            $erreur = "Votre photo doit être au format jpeg, jpg, gif ou png";
         }
      } else {
         $erreur = "Votre photo ne doit pas dépasser 2MO";
      }
   }
}
Si ton problème est résolu avec ce code, je t'expliquerai mes modifications Tire la langue

salutlacompagnie

Messages: 27

Salut,
Merci de m'avoir fournit un code mais celui ci  ne fonctionne pas, il y a une erreur ligne 35.. j'ai modifié ça dans tout les sens mais il n'y a rien à faire je n'arrive pas à la faire fonctionné correctement =(


Veuillez vous connecter ou créer un compte pour poster une réponse