Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1598 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme d'enregistrement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme d'enregistrement

n°2282822
abdoulayec​oumba
Posté le 01-06-2016 à 13:34:31  profilanswer
 

Bonjour à tous, j'ai créé une table ayant pour colonnes ''prenom'' ,''nom'', ''adresse'', ''image'' . Ensuite j'ai créé dans le repertoire www de mon serveur Wamp un dossier dénommé ''membres''  et dont le chemin d’accès est : C:\wamp\www\enregistrer_images\membres .Dans ce dossier ''membres'' je souhaite enregistrer des photos auxquelles les chemins seront stockés dans ma table dans la colonne ''image'' .  
Voici mon code :
Pour la page formulaire_envoi.html
 
<html>
     
    <body>
       
        <br><br/>
    <form method="post" action="affichage.php" enctype="multipart/form-data">
       <label for="prenom">Prenom :</label>
          <input type="text" name="nom"  />
    <br><br/>
       <label for="nom">Nom :</label>
          <input type="text" name="prenom" />
    <br><br/>
    <label for="adresse">Adresse :</label>
          <input type="text" name="prenom" />
    <br><br/>    
       <label for="img">Telecharger une image :</label>
          <input name="img" type="file" />
    <input type="submit" name="valider" value="VALIDER"/>
    </form>
 
 
    </body>
 
Pour la page affichage.php
 
 
 
 
 
 <?php
 
         if ( isset( $_POST['prenom'] ))
 
           {  
                  $prenom = $_POST['prenom'];
 
                  $nom = $_POST['nom'];
 
                  $adresse = $_POST['adresse'];
             
    // Récupèration du nom de l'image :
     
                  $image = basename($_FILES['img']['name']);
       
    //initialisation des extensions de l'image:
   
                 $dossier = '../enregistrer_images/membres';
                  $extensions = array('.png', '.gif', '.jpg', '.jpeg');
                  $extension = strrchr($_FILES['img']['name'], '.');  
     
   //Vérifications des extensions  
                   
      if(!in_array($extension, $extensions))//Si l'extension n'est pas dans le tableau
                       
        {
        $erreur = 'Vous devez uploader un fichier de type png, gif, jpg ou jpeg...';
                       }
             
   //Si l'extension existe dans le tableau
   
                  if(!isset($erreur))
     
             //On formatage du nom fichier  
     
       {
    $fichier = strtr($fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',  
                          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
                          $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
                       
                            if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier))  
               
                        //insèrtion des données du formulaire dans la table
       
      {  
       
      try  
                             {  
                          $bdd = new PDO('mysql:host=localhost;dbname=productions','root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));  
                             }  
                        catch(Exception $e)  
                             {  
                               die('Erreur : '.$e->getMessage());  
                             }  
       
       
                     
         $req = $bdd->prepare('INSERT INTO clients(prenom, nom, adresse, photo) VALUES(:prenom, :nom, :adresse, :photo)');
                         
      $req->execute(array($fichier
       
      'prenom' => $prenom,
      'nom' => $nom,
      'adresse' => $adresse,
      'photo' => $image,
       
      ));
       
      else
                       
                        //Sinon la fonction renvoie FALSE.
                     
                            {
         
                               echo 'Echec de l\'enregistrement dans la table !';
                            }
                         
                       
         else
                           
          {
                               echo $erreur;
                            }
       
                        $req->closeCursor();
                       
            }  
                 
 
                }  
       
 ?>
    D'abord je souhaiterais recueillir vos avis par rapport aux différentes étapes que j'ai suivies pour parvenir à ce que je veux , je rappelle ici que je suis débutant .
Et ensuite je souhaiterais comprendre l'erreur que le serveur m'affiche quand je veux executer le code :Parse error: syntax error, unexpected ''AAAAAACEEEEIIIIOOOOOUUUUYaaaa' (T_CONSTANT_ENCAPSED_STRING) in C:\wamp\www\enregistrer_images\affichage.php on line 42
La ligne 42 correspond à la ligne qui traite du formatage du fichier
 
             //On formatage du nom fichier  
     
       {
    $fichier = strtr($fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',  
                          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
                          $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
                       
                            if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier))  
 
merci

mood
Publicité
Posté le 01-06-2016 à 13:34:31  profilanswer
 

n°2282857
bistouille
Posté le 01-06-2016 à 23:11:32  profilanswer
 

Il y a une balise code sur le forum destiné à mettre en forme le code.

 

Alors comme ça à la 1ère lecture :

 

- isset ne garanti pas qu'une variable contienne quelque chose, donc empty à la place, et il ne suffit pas de tester une seule valeur d'un formulaire pour se dire que tout est bon, il faut tester, vérifier chaque champ d'un formulaire avec soin, c'est primordial.
- isset encore une fois pour tester l'existence de ta variable erreur n'est pas idéal, toute variable doit être déclarée.
- L'extension d'une image (ou autres fichiers) ne garanti en rien son type, je peux très bien t'envoyer un simple fichier texte avec une extension d'image, et ça c'est gentil, quelqu'un de mal intentionné pourrait t'envoyer un truc bien pire.
- Ton expression régulière, que vient faire le . ici ? Tu autorises les ........ dans un nom de fichier ?

 

Quant à ton erreur, je vois pas, y'a autre chose avant ce code ?


Message édité par bistouille le 01-06-2016 à 23:14:23

---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme d'enregistrement

 

Sujets relatifs
Problème enregistrement de fichierProblème script enregistrement / tranfert
Problème enregistrement canvas avec photo en fond (security error)problème d'enregistrement ds fichier TMP j'ai besoin d'aide
problème de zero binaire dans un enregistrementprobleme d'enregistrement
[PHP] Problème d'enregistrement en baseProbléme de suppression enregistrement + BD
Petit probléme pour une suppresion d'enregistrement[Résolu] Problème de syntaxe?
Plus de sujets relatifs à : Probleme d'enregistrement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR