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 :

Modification d'un enregistrement dans une base de données


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Modification d'un enregistrement dans une base de données
    bonjour à tous,
    je n'arrive pas à modifier les enregistrements dans ma base de données.
    Merci de m'aider.
    1- voici le prémier fichier.
    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
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>Modificatioin-PDO</title>
    </head>
    <body>
    Entrer l'identifiant pour pour modifier<br>
    <form method="post" action="modifpdo.php">
    			ID <input type="text" name="nom">&nbsp;&nbsp;&nbsp;
    			<input type="submit" name="valider" value="Modifier">
    			</form>
    	<?php
    	if(isset($id)){
    	$id=$_POST['id'];
    	$nom=$_POST['nom'];
    	$email=$_POST['email'];
    	include("modifie.php");}
    	?>
    </body>
    </html>
     
    2-Voici le 2e fichier
     
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>Modificatioin-PDO</title>
    </head>
    <body>
    			<br>Pour Modifier, remplissez ces cases :<br>
    			<form method="post" action="modifpdo.php">
    			Nom  <input type="text" name="nom">&nbsp;&nbsp;&nbsp;
    			Email  <input type="text" name="email">&nbsp;&nbsp;&nbsp;
    			<input type="submit" name="valider" value="Modifier">
    			</form>
     <?php
    // définition des variables de connexion
    	$id=$_POST['id'];
    	$nom=$_POST['nom'];
    	$email=$_POST['email'];
    	$user    = 'root';
    	$pass      = '';
    	$dsn = 'mysql:host=localhost;dbname=test';
     //Connexion à la base de données avec PDO (PHP Data Object)
    	try {
    			$dbh = new PDO($dsn, $user, $pass);
    		} 
    	catch (PDOException $e) 
    		{
    		die( "Erreur ! : ". $e->getMessage() );
    		}
    			$req=$dbh->prepare("UPDATE gens SET  nom=:$nom,email=:$email WHERE id=:$id");
    			$req->execute(array('nom'=>$nom,'email'=>$email, 'id'=>$id));
     
    ?>
    </body>
    </html>

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Pourrais tu entourer ton code des balises [code] ?

    Sinon pourquoi faire un try catch pour une seule ligne?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    try {
    $dbh = new PDO($dsn, $user, $pass);
     
    $req=$dbh->prepare("UPDATE gens SET nom=:$nom,email=:$email WHERE id=:$id");
    $req->execute(array('nom'=>$nom,'email'=>$email, 'id'=>$id));
    } 
    catch (PDOException $e) 
    {
    die( "Erreur ! : ". $e->getMessage() );
    }

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    je ne t'ai pas compris

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Dans ton second fichier, tu effectue un try catch, mais tu ne met que la création de la connexion.
    Et après ton try/catch tu effectue ta requête. Et si ta connexion n'a pas fonctionnée tu effectue quand même ta requête? Non!

    Alors tu devrais déjà faire:

    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
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>Modificatioin-PDO</title>
    </head>
    <body>
    <br>Pour Modifier, remplissez ces cases :<br>
    <form method="post" action="modifpdo.php">
    Nom <input type="text" name="nom">&nbsp;&nbsp;&nbsp;
    Email <input type="text" name="email">&nbsp;&nbsp;&nbsp;
    <input type="submit" name="valider" value="Modifier">
    </form>
    <?php
    // définition des variables de connexion
    $id=$_POST['id'];
    $nom=$_POST['nom'];
    $email=$_POST['email'];
    $user = 'root';
    $pass = '';
    $dsn = 'mysql:host=localhost;dbname=test';
    //Connexion à la base de données avec PDO (PHP Data Object)
    try {
    $dbh = new PDO($dsn, $user, $pass);
    $req=$dbh->prepare("UPDATE gens SET nom=:$nom,email=:$email WHERE id=:$id");
    $req->execute(array('nom'=>$nom,'email'=>$email, 'id'=>$id));
    } 
    catch (PDOException $e) 
    {
    die( "Erreur ! : ". $e->getMessage() );
    }
     
     
    ?>
    </body>
    </html>

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Il manque id dans le formulaire...

    là, on ne sais pas ce que tu veux modifier.
    Explique.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/07/2010, 08h07
  2. Réponses: 2
    Dernier message: 21/08/2009, 16h36
  3. enregistrer dans une base de données
    Par liverbird dans le forum C++Builder
    Réponses: 33
    Dernier message: 12/07/2006, 19h50
  4. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  5. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20

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