IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

enregistrement de chemins


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Apprentis developpeur
    Inscrit en
    Septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Apprentis developpeur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 33
    Par défaut enregistrement de chemins
    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

    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
      <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

    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
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
     
     
     
    	<?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 '$erreur' (T_VARIABLE) in C:\wamp\www\enregistrer_images\affichage.php on line 31
    Je précise que la ligne 31 évoquée par le méssage d'erreur correspond à la partie du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     //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...';
                           }

    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est quoi les ***** dans ton code ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Apprentis developpeur
    Inscrit en
    Septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Apprentis developpeur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 33
    Par défaut
    c'etaient des erreurs de saisie que j'ai enlevées maintenant c'est à la ligne 42 qui correspond à la partie qui traite du formatage du nom du fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                 //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))

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Encore une fois c'est quoi ces étoiles ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Apprentis developpeur
    Inscrit en
    Septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Apprentis developpeur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 33
    Par défaut
    Décidément il faudrait que je recopie mon code dans l'éditeur du site pour que ca apparait ce sont des lignes de repérage que j'ai du mettre et qu'avec l'arrière plan noir de mon éditeur je ne vois pas je vais essayer de vérifier sur l'ensemble du code excusez moi

  6. #6
    Membre averti
    Homme Profil pro
    Apprentis developpeur
    Inscrit en
    Septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Apprentis developpeur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 33
    Par défaut
    Voici à nouveau mon code débarrassé de ses étoiles
    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
    84
    85
    86
    87
    88
    89
    90
    91
     
     
     
     
     
    	<?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();
     
       					    } 
     
     
                    } 
     
    	?>
    Voici l'erreur que wamp m'affiche maintenant:
    Parse error: syntax error, unexpected ''prenom'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in C:\wamp\www\enregistrer_images\affichage.php on line 64

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est quoi le $fichier qui se ballade ligne 64 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre averti
    Homme Profil pro
    Apprentis developpeur
    Inscrit en
    Septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Apprentis developpeur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 33
    Par défaut
    j'ai rectifié je me demand moi même comment ca m'est arrivé
    wamp m'affiche maintenant :
    Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\enregistrer_images\affichage.php on line 71
    la ligne 71 correspond à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                      else
    		//Sinon la fonction renvoie FALSE.
    		{
                                 echo 'Echec de l\'enregistrement dans la table !';
                                }

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il manque le } du if qui commence ligne 46
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre averti
    Homme Profil pro
    Apprentis developpeur
    Inscrit en
    Septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Apprentis developpeur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 33
    Par défaut
    J'ai rectifié mais ca donne maintenant:

    Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\enregistrer_images\affichage.php on line 79
    ligne qui correspond au dernier Else qui se trouve en bas

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton if de la ligne 37 n'est pas fermé non plus.

    Dis moi tu cherches un peu avant de demander sur le forum ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre averti
    Homme Profil pro
    Apprentis developpeur
    Inscrit en
    Septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Apprentis developpeur

    Informations forums :
    Inscription : Septembre 2015
    Messages : 33
    Par défaut
    Oh que si, le problème est que je communique avec vous sans vous donner le code rectifié

    je vous donne a nouveau la totalité du code rectifié

    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
    84
    85
    86
    87
    88
    <?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(
    					                        	'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();
     
       					} 
     
     
                } 
     
    	?>]

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je confirme, le if de la ligne 32 n'est pas fermé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Plus exactement le if de la ligne 32 devrait être fermé à la ligne 74. Actuellement, tu as 2 else qui s'enchainent et ça n'a aucune chance de fonctionner.

    Tu devrais utiliser un éditeur de code avec une fonction de formattage automatique, parce que là tes indentations sont complétement à l'ouest.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. probleme pour recuperer le chemin du dossier courant
    Par HoB dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/08/2007, 12h22
  2. Probleme d'enregistrement sur Macro/VBA de Excel
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/11/2005, 18h23
  3. Réponses: 1
    Dernier message: 05/11/2005, 00h26
  4. Probleme d'enregistre de caracteres unicodes dans sqlserver
    Par ouedmouss dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/09/2005, 09h13
  5. [Oracle 10g]Problème pour enregistrer blob
    Par Invité dans le forum Hibernate
    Réponses: 6
    Dernier message: 27/04/2005, 12h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo