Base de donnée

Résolu
Balise -  
hharchi9 Messages postés 693 Statut Membre -
Bonjour tout le monde! J'ai crée ma bd et mon formulaire.J'ai connecté les 2
Mais quand j'insère des données dans mon formulaire, et que j'envoie, je ne les retrouve pas dans ma bd.J'utilise wampserver.Besoin d'aide!
<html>
<head>
<title>Connection</title>
</head>
<body>
<form name="mon_formulaire" action="Traitement.php" method="post">
Nom<input type="text" name="Nom"></br>
Prenom<input type="text" name="Prenom"></br>
Adresse<input type="text" name="Adresse"></br>
Nationalite<input type="text" name="Nationalite"></br>
<input type="submit" value="Envoyer le fichier">
</form>
</body>
</html>
<?php
mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("evolution")or die (mysql_error());
?>

Ma page traitement.php est :
<?php
if (isset ($_POST['Nom'])&& isset($_POST['Prenom'])&& isset ($_POST['Adresse']) && isset($_POST['Nationalite']))
{
echo' Votre inscription a ete prise en compte ';
echo' Votre nom est '.$_POST['Nom'].' ,votre prenom est ' .$_POST['Prenom'] .' ,votre adresse est ' .$_POST['Adresse']. ' et votre nationalité est '.$_POST['Nationalite'];
}
?
>

2 réponses

  1. Thorak83 Messages postés 1140 Statut Membre 156
     
    Bonjour,
    mettre ces 2 lignes plutot dans le fichier traitement.php
    mysql_connect("localhost","root","") or die (mysql_error());
    mysql_select_db("evolution")or die (mysql_error()); 

    0
    1. drBalise Messages postés 34 Statut Membre
       
      Compris!
      0
  2. VlkPr3s Messages postés 251 Statut Membre 130
     
    Salut,

    Tu essaies en fait de créer un utilisateur c'est ça ??

    certains trucs me plaisent pas forcément ...

    ton php avant ton formulaire c'est mieux ..

    Ensuite comment veux tu que ta base de donnée reçoivent quelques choses si tu ne fait aucune requete ?
    0
    1. drBalise Messages postés 34 Statut Membre
       
      Salut! Oui je veux créer un utilisateur.
      Mais les requêtes, ne l'ai fait-on pas lorsqu'on a déjà inséré des données dans la base?Je veux dire lorsqu'on recherche une donnée dans la base de donnée?
      0
    2. hharchi9 Messages postés 693 Statut Membre 24
       
      Bonsoir,
      Il existe des requête d'affichage, de suppression et d'ajout. Dans votre cas il faut, vous devez bien vous en rendre compte, enregistrer les données fournies par l'utilisateur. Pour ce faire il faut absolument utiliser une requête : INSERT INTO. Vous trouverez toute une flopée d'explications en cherchant un peu sur le web.

      Cordialement,

      hharchi9.
      0
    3. drBalise Messages postés 34 Statut Membre
       
      Salut!Je vois!Voici ce que j'ai produit après ces quelques remarques
      MON FORMULAIRE
      <html>
      <head>
      <title></title>
      </head>
      <body>
      <form name="mon_formulaire" action="Traitement.php" method="post">
      <input type="hidden" name="Id"></br>
      Nom<input type="text" name="Nom"></br>
      Prenom<input type="text" name="Prenom"></br>
      Adresse<input type="text" name="Adresse"></br>
      Nationalite<input type="text" name="Nationalite"></br>
      <input type="submit" value="Envoyer le fichier">
      </form>
      </body>
      </html>

      MA PAGE TRAITEMENT.PHP
      <?php
      $id=$_POST['Id'];
      $nom=$_POST['Nom'];
      $pren=$_POST['Prenom'];
      $adr=$_POST['Adresse'];
      $nat=$_POST['Nationalite'];
      $base= mysql_connect("localhost","root", "");
      mysql_select_db("evolution", $base);
      //execution de requete
      $sql="INSERT INTO evolution.personne(Nom,Prenom,Adresse,Nationalite) VALUES('','$nom','$pren','$adr','$nat')"or die (mysql_error());
      mysql_query($sql) or die (mysql_error());
      mysql_close();
      echo 'Votre enregistrement est une reussite';
      ?>

      Le message d'erreur Column count doesn't match value count at row 1affiche et je ne vois pas l'erreur.
      Prière de bien vouloir m'aider svp! Merci!
      0
    4. hharchi9 Messages postés 693 Statut Membre 24
       
      Attention l'utilisation de mysql_select/query... est obsolète préférez utiliser PDO

      Voici ce que donnerait votre code :

      try
      {
      	// On se connecte à MySQL
      	$bdd = new PDO(sprintf('mysql:host=%s;dbname=%s', $host, $dbname), $user, $pass);
      	$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      }
      catch(Exception $e)
      {
      	// En cas d'erreur, on affiche un message et on arrête tout
      	die('Erreur : '.$e->getMessage());
      }
      
      //On insère les données
      $req = $bdd->prepare('INSERT INTO evolution (Nom,Prenom,Adresse,Nationalite) VALUES(:Nom, :Prenom, :Adresse, :Nationalite)');
      $req->execute(array( 
      	:Nom => $nom,
               :Prenom => $pren,
               :Adresse => $adr,
               :Nationalite => $nat));
      						
      $req->CloseCursor(); //On ferme le curseur
      0
    5. drBalise Messages postés 34 Statut Membre > drBalise Messages postés 34 Statut Membre
       
      Merci !!!
      0