Probleme d'enregistrement

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme d'enregistrement

Re: Probleme d'enregistrement

par Spols » 02 juin 2016, 08:20

C'est mieux pour l'identation, maintenant tu peux les compter /niveaux pour trouver laquelle déplacer.
Il faut toujours un couple d'ouverte/fermé par déclaration if ou else. et devant chaque else il devrait toujours y en avoir une qui ferme le if correspondant

Re: Probleme d'enregistrement

par abdoulayecoumba » 01 juin 2016, 17:20

attendez je vous donne la totalité du code réctifié

Code : Tout sélectionner

<?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(); } } ?>

Re: Probleme d'enregistrement

par Spols » 01 juin 2016, 16:29

compte tes accolades, indente correctement ton code pour t'apercevoir qu'il en manque une avant le else et qu'il y en a une de trop en fin de fichier

Re: Probleme d'enregistrement

par abdoulayecoumba » 01 juin 2016, 16:06

c'est une erreur de ma part je me demande comment ca m'est arrivé , j'ai rectifié maintenant wamp affiche l'erreur suivante :
Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\enregistrer_images\affichage.php on line 70
qui correspond a ce bout de code

Code : Tout sélectionner

else //Sinon la fonction renvoie FALSE. { echo 'Echec de l\'enregistrement dans la table !'; }

Re: Probleme d'enregistrement

par Spols » 01 juin 2016, 15:28

je comprend pas d'ou viens ta variable fichier dans ce bout de code, à mon avis il est en trop.

vérifie aussi tes ' il en manque une devant prenom dans le bout de code qui est présent dans le code entier

Probleme d'enregistrement

par abdoulayecoumba » 01 juin 2016, 15:20

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>

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

</html>
Pour la page affichage




<?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 ''prenom'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in C:\wamp\www\enregistrer_images\affichage.php on line 64
La ligne 64 correspond à la partie qui traite de l'insertion des données dans la table

Code : Tout sélectionner

$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, ));