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 :

enregitrement dans la base donnée


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut enregitrement dans la base donnée
    bjr je suis un débutant. mon probleme est que je n'arrive pas a faire des enregistrements dans ma base de de donnée pourtant je ne recois pas aussi des messages d'erreurs de code. voici mon code de formulaire

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <link rel="stylesheet" href="styles/style.css" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>entretenir</title>
    </head>
     
    <body>
    <form action ="register_entretenir.php" method="post">
    <table classe="form">
    <tr>
    <td>Date de panne:</td> 
    <td><input type="date" name="dat_panne_vehi" required /></td>
    </tr>
    <tr>
    <td>Date du debut d'entretien:</td>
    <td><input type="date" name="dat_debut_entretien" required /></td>
    </tr>
    <tr>
    <td>Date de fin entretien :</td>
    <td><input type="date" name="dat_fin_entretien" required /></td>
    </tr>
    <tr>
    <td>immatriculation vehicule:</td>
    <td>
       <select name="numimmat">
           <?php
    	   require 'connexion.php';//importation de la page de connexion
     
    	   $req = $con->query('SELECT num_immat_vehi from vehicule');//requête pour sélectionner le numero d'immatriculation des          véhicules
    	  	   while($res=$req->fetch()){ //une boucle qui parcourt tous les enregistrements et les affiche dans une variable           sous forme de tableau 
    		   echo'<option value="'.$res['num_immat_vehi'].'">'.$res['num_immat_vehi'].'</option>';//affichage des donnée         recupérée dans notre liste
    	   }
    	   ?> 
    	   </select>
     
           </td>
    </tr>
    <tr>
     <td>Mecanicien:</td>
     <td>
     <select name="id_mecan">
           <?php
    	   require 'connexion.php';//importation de la page de connexion
     
    	   $req = $con->query('SELECT * from mecanicien');//requête pour sélectionner identifiant du mecanicien
    	  	   while($res=$req->fetch()){ //une boucle qui parcourt tous les enregistrements et les affiche dans une variable           sous forme de tableau 
    		   echo'<option value="'.$res['id_mecan'].'">'.$res['nom_mecan']." ".$res['prenoms_mecan'].'</option>';//affichage des donnée         recupérée dans notre liste
    	   }
    	   ?> 
    	   </select>
     </td> 
     
     </td>
    </tr>
    <tr>
    <td> <input type="submit" value="ENREGISTRER" /> </td>
    <td><input type="reset"  value="ANNULER"/></td>
    </tr>
    </table>
     
    </form>
     
    </body>
    </html>
    voici mon code traitement
    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
    <?php 
    //echo "<pre>"; print_r($_POST); echo"</pre>";
    require_once('connexion.php');
    $dat_panne_vehi=$_POST['dat_panne_vehi'];
    $dat_debut_entretien=$_POST['dat_debut_entretien'];
    $dat_fin_entretien=$_POST['dat_fin_entretien'];
    $id_mecan=$_POST['id_mecan'];
    $num_immat_vehi=$_POST['numimmat'];
    $req=$con->prepare("INSERT INTO entretenir(id_mecan, num_immat_vehi, dat_panne_vehi, dat_debut_entretien, dat_fin_entretien)VALUES(:A, :B, :C, :D, :E)");
    $req->execute(array('A'=>$id_mecan, 'B'=>$num_immat_vehi, 'C'=>$dat_panne_vehi, 'D'=>$dat_debut_entretien, 'E'=>$dat_fin_entretien));
    //header('location:entretenir.php')
    if ($req->rowCount()){
    	//header('location: http://localhost/BabiTaxi/entretenir.php');
        echo"insertion effectuée";
    //else {
    	//header('location: http://localhost/BabiTaxi/entretenir.php?$erreur=1'); 
    	}
    ?>

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que les erreurs PDO sont activés sur ta connexion ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    oui les erreurs PDO sont activités

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que tu as le message "insertion effectuée" ?
    Tu as activé les exceptions ou seulement les warning ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Est-ce que tu as le message "insertion effectuée" ?
    Tu as activé les exceptions ou seulement les warning ?
    oui je reçois le message, j'avais oublié de commenter ça.
    j'ai cherché un peu sur le net par rapport aux exceptions PDO et j'ai ajouté ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     echo "\nPDOStatement::errorCode(): ";
    print $req->errorCode();
    voici mon nouveau code :
    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
    <?php 
    //echo "<pre>"; print_r($_POST); echo"</pre>";
    require_once('connexion.php');
     
    $dat_panne_vehi= trim($_POST['dat_panne_vehi']);
    $dat_debut_entretien= trim($_POST['dat_debut_entretien']);
    $dat_fin_entretien= trim($_POST['dat_fin_entretien']);
    $numimmat= trim($_POST['numimmat']);
    $id_mecan= trim($_POST['id_mecan']);
     
    if(!empty($dat_panne_vehi) and !empty($dat_debut_entretien)){
    $req=$con->prepare('INSERT INTO entretenir(id_mecan, num_immat_vehi, dat_panne_vehi,dat_debut_entretien,dat_fin_entretien) VALUES (:A, :B, :C, :D, :E)');
    $req->execute(array('A'=>$id_mecan, 'B'=>$numimmat, 'C'=>$dat_panne_vehi, 'D'=>$dat_debut_entretien, 'E'=>$dat_fin_entretien));
     
       echo "\nPDOStatement::errorCode(): ";
    print $req->errorCode();
     
    ?>
    et là quand j'essaie de faire des enregistrements je reçois ce message : PDOStatement::errorCode(): HY000 , quelqu'un peut m'expliquer ce que ça veut dire? Merci cordialement

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Oui donc tu n'avais pas activé les exceptions PDO, il vaut mieux le faire quand tu debugues.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    ok, mais comment resoudre le problème concernant le message d'erreur

  8. #8
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Tu dois activer les erreurs au niveau de ton fichier connexion.php, ajouter $req->errorCode(); ne suffit pas..
    Tu dois avoir une ligne juste après new PDO(...);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    Le bienfait n'est jamais perdu

Discussions similaires

  1. Historisation d'enregitrements dans une base de données
    Par dvTEAMLOG dans le forum Développement de jobs
    Réponses: 10
    Dernier message: 28/05/2009, 15h16
  2. Insérer dans une base donne mysql
    Par kh12040 dans le forum C
    Réponses: 3
    Dernier message: 12/06/2008, 19h55
  3. probleme de mise à jour dans la base donnée
    Par youba11 dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/05/2008, 13h13
  4. Réponses: 3
    Dernier message: 10/03/2008, 23h43
  5. Tirage aléatoire dans une base donnée
    Par leloup84 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 30/01/2006, 16h13

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