Erreur de l'insertion dans la BDD

saxaabdul Messages postés 8 Date d'inscription   Statut Membre -  
Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, amis du site j'ai un gros probléme que je traine depuis 2 jours.j'ai crée une Base de données avec 3 tables.T-ANNEE(id_annee,nom_annee),T-OPERATEUR(id_operateur,nom_operateur)et la troisiéme table est CORRESPONDRE(id_annee-id_operateur,nbre-abonnes,ca,invest,emplois)
Dans le formulaire les champs sont les suivants(nom_ annee,nom_ operateur,nbre-abonnes,ca,invest,emplois).
Quand je fais un enregistrement voila ce qui s'affiche:
Notice: Undefined variable: nom_annee in c:\program files\easyphp1-8\www\bd\insert.php on line 49

Notice: Undefined variable: nom_operateur in c:\program files\easyphp1-8\www\bd\insert.php on line 49
insertion fail
je vous envoie mon code d'insertion pour que vous m'aidiez chére amis du site
MERCI d'avance
CORDIALEMENT

</code>
<?
///////////////////////////////////////////////////////////////////////////////////////////////////////////
$annee = htmlentities($_POST['nom_annee']);////////////////////////////////////////////////////////////////
$operateur = htmlentities($_POST['nom_operateur']);////////////////////////////////////////////////////////
$nbre_abonnes = htmlentities($_POST['nbre_abonnes']);//////////////////////////////////////////////////////
$ca = htmlentities($_POST['ca']);//////////////////////////////////////////////////////////////////////////
$invest = htmlentities($_POST['invest']);//////////////////////////////////////////////////////////////////
$emplois = htmlentities($_POST['emplois']);////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($annee == "")
{
echo "Remplissez le champs Annee";
}
if ($operateur == "")
{
echo "Remplissez le champs operateur";
}
if ($nbre_abonnes == "")
{
echo "Remplissez le champs nbre_abonnes";
}
if ($ca== "")
{
echo "Remplissez le champs ca";
}
if ($invest == "")
{
echo "Remplissez le champs invest";
}
if ($emplois == "")
{
echo "Remplissez le champs emplois";
}
else
//================================================================================================================
{
mysql_connect("localhost","root","") or die ("Erreur Connect");
mysql_select_db("telecom") or die ("Erreur Select");
mysql_query("INSERT INTO correspondre values('', '". $nom_annee ."', '".$nom_operateur."', '".$nbre_abonnes."','".$ca."', '".$invest."', '".$emplois."')") or die ("insertion fail");
mysql_close();
}
echo "enregistrer avec succés";
//=================================================================================================================
?>
</body>
<code type="php">
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Dans le code
    $annee = htmlentities($_POST['nom_annee']);
    $operateur = htmlentities($_POST['nom_operateur']);

    tu définis les variables $annee et $operateur mais dans le code
    mysql_query("INSERT INTO correspondre values('', '". $nom_annee ."', '".$nom_operateur."', '".$nbre_abonnes."','".$ca."', '".$invest."', '".$emplois."')") or die ("insertion fail");
    

    tu utilises les variables $nom_annee et $nom_operateur , remplaces les par les noms des variables définies au début.

    A plus
    0
    1. saxaabdul Messages postés 8 Date d'inscription   Statut Membre
       
      MERCI Christounet pour ton aide mais excuse moi mais quand je fais une insertion
      on me renvoie un msessage disant ceci: insertion fail
      Si tu pouvais m'aidez encore.
      merci bien
      0
  2. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Tu as encore une erreur dans ton code d'insertion, le code devrait être le suivant
    mysql_query("INSERT INTO correspondre values('".$nom_annee ."','".$nom_operateur."','" .$nbre_abonnes."','".$ca."','".$invest."','".$emplois."')") or die ("insertion fail");
    


    A plus
    0
    1. saxaabdul Messages postés 8 Date d'inscription   Statut Membre
       
      MERCI Christounet tu es mon sauveur je te revoudrez cela toute ma vie, tu ma rendu un trés grand service.Au fait c'est maintenant que je débute dans le php.je TE dis infinilment MERCI.Si tu pouvais encore me donnez le code pour afficher les elements insérés dans un tableau cela me ferais enormement plaisir.
      MERCI BIEN.
      0
  3. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    L'exemple de code ci-dessous lit tous les lignes de la table correspondre, et affiche l'année et l'opérateur dans une table en html, libre à toi de changer ce qu'il faut afficher

    mysql_connect("localhost","root","") or die ("Erreur Connect");
    mysql_select_db("telecom") or die ("Erreur Select");
    $mysql_result = mysql_query("SELECT * FROM correspondre;") ; //prendre chaque rangée
    echo "<table border=1>\n";
    echo "<tr><td>Année</td><td>Opérateur</td></tr>\n";
    
    while ($ligne = mysql_fetch_array($mysql_result))
    {
      printf("<tr><td>%s</td><td>%s</td></tr>\n", $ligne["ID_ANNEE"], $ligne["ID_OPERATEUR"]);
    }
    echo "</table>\n";


    A plus
    0
    1. saxaabdul
       
      MERCI infiniment chritounet
      bonne soirée
      a+
      0
    2. saxaadbul
       
      bonjour christounet comment va tu?
      excuse moi beaucoup mais j'ai un probléme encore
      j'ai une page d'authentification mais lorsque le login et le mot de passe sont bon il me doit m'emmer sur la page d'inscription mais helas il met une erreur que voici

      Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\telecom\verith_login.php:9) in c:\program files\easyphp1-8\www\telecom\verith_login.php on line 25

      je t'envoie mon code pour que tu puisse m'aider bonne journée à toi

      <!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>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>verith_login</title>
      </head>

      <body>
      <?php
      $login= $_POST["login"];
      $password= $_POST["password"];
      if($login=="" || $password=="")
      {
      echo "remplissez les champs vides";
      }
      else
      {
      mysql_connect("localhost","root","") or die ("pas conect server");
      mysql_select_db("telecom") or die ("pas select db");
      $sql="select * from authentification where login = '$login' and password = '$password'";
      $res=mysql_query($sql) or die ("je peux pas me connecter");
      $nb_res=mysql_num_rows($res);
      if($nb_res == 1)
      {
      header("location:inscription.php?");
      }
      else
      {
      echo "Votre mot de passe est éroné";
      }
      }
      ?>
      </body>
      </html>

      MERCI BEAUCOUP
      0
  4. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Tout d'abord, rajoute l'instruction
    exit;
    juste après ton instruction
    header("location:inscription.php?");

    J'ai également trouvé sur internet une réponse à une question concernant le même problème, je pense que le fait de rajouter les instructions
    ob_start(); et ob_end_flush();
    devrait t'aider, c'est ici.
    A plus
    0