Erreur de l'insertion dans la BDD

Fermé
saxaabdul Messages postés 8 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2008 - 13 juin 2008 à 12:11
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 18 juin 2008 à 14:46
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">
A voir également:

4 réponses

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
13 juin 2008 à 12:26
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
saxaabdul Messages postés 8 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2008
13 juin 2008 à 12:56
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
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
13 juin 2008 à 13:59
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
saxaabdul Messages postés 8 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2008
13 juin 2008 à 17:22
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
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
13 juin 2008 à 17:43
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
MERCI infiniment chritounet
bonne soirée
a+
0
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
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
18 juin 2008 à 14:46
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