Erreur php
Résolu
bissdebrazza
Messages postés
2886
Statut
Contributeur
-
bissdebrazza Messages postés 2886 Statut Contributeur -
bissdebrazza Messages postés 2886 Statut Contributeur -
Bonjour,
je developpe un petit script pour faire des insertions dans ma base mais j'ai un message d'erreur:
Notice: Undefined index: prenom_cli in E:\pme\crea_rdv.php on line 10
Notice: Undefined index: mod_regl in E:\pme\crea_rdv.php on line 26
alors j'aimerais savoir à quoi est dû cela??
Merci pour vos éclaircissemnts!!!
--
«Il faut avoir déjà beaucoup appris de choses pour savoir demander ce qu'on ne sait pas.»
Jean-Jacques ROUSSEAU
je developpe un petit script pour faire des insertions dans ma base mais j'ai un message d'erreur:
Notice: Undefined index: prenom_cli in E:\pme\crea_rdv.php on line 10
Notice: Undefined index: mod_regl in E:\pme\crea_rdv.php on line 26
alors j'aimerais savoir à quoi est dû cela??
Merci pour vos éclaircissemnts!!!
--
«Il faut avoir déjà beaucoup appris de choses pour savoir demander ce qu'on ne sait pas.»
Jean-Jacques ROUSSEAU
Configuration: Windows Vista Safari 525.13
16 réponses
-
tu comprends le nouveau code ?
tu as maintenant une erreur MySQL, le plus simple pour la débogguer est dans un premier temps d'imprimer ta requête avececho "requête problématique = <br />$requete.<br />;
avant$result = mysql_query($requete);
comme ça la requête problématique sera affichée dans ton navigateur.
ensuite tu récupères cette requête par copier/coller et tu vas la tester directement dans PHPMyAdmin (onglet SQL).
dans ce cas ça devrait être facile, l'erreur t'explique que tu n'as pas le même nombre de valeurs à insérer que de champs (colonnes) annoncés.
si tu as un champ avec incrémentation automatique il faut lui attribuer une valeur vide avec ''.
-
bon, il y a bien les deux clés manquantes dans le premier message d'erreur.
maintenant vire cette première ligne et recharge ta page (pour renvoyer au serveur sans avoir à retaper, ce que tu dois déjà faire).
et dis nous si l'ajout a lieu ou pas.
-
en code…
//le sprintf() n'est pas utile $requete = "INSERT INTO INTERVENTION (operateur,date_intervention,heure_intervention,nom_client,prenom_client,adresse_client,code-postal,ville,digicode,telephone,mail,besoin,jour_rdv,heure_rdv,duree_rdv,debut_prestation,fin_prestation,intervention_realise,num_facture,montantht,mode_reglement) VALUES ('$operateur,$date_inter,$heure_inter,$nom_cli,$prenom_cli,$adresse,$code_postal,$ville,$digicode,$telephone,$mail,$besoin,$jour_rdv,$heure_rdv,$duree_rdv,$debut_int,$fin_int,$intervention,$num_fact,$mont_ht,$mode_regl')"; // quand tu fais des tests ne mets jamais de "@" devant les fonctions ça cache les erreurs... $result = mysql_query($requete); // pour le reste il faut ajouter un test pour savoir si ça s'est bien passé ou pas if( $result === true ) { echo ( 'Nouveau rendez-vous crée !!!' ); } else { echo ( 'Erreur !!!<br />'.mysql_error() ); } -
en fait tu essaies de rentrer une seule valeur !
il faut ouvrir et fermer les guillemets (apostrophes) pour chaque valeur…$requete = "INSERT INTO INTERVENTION ( operateur, date_intervention, heure_intervention, nom_client, prenom_client, adresse_client, code-postal, ville, digicode, telephone, mail, besoin, jour_rdv, heure_rdv, duree_rdv, debut_prestation, fin_prestation, intervention_realise, num_facture, montantht, mode_reglement) VALUES ( '$operateur', '$date_inter', '$heure_inter', '$nom_cli', '$prenom_cli', '$adresse', '$code_postal', '$ville', '$digicode', '$telephone', '$mail', '$besoin', '$jour_rdv', '$heure_rdv', '$duree_rdv', '$debut_int', '$fin_int', '$intervention', '$num_fact', '$mont_ht', '$mode_regl')";
tant que tu es en phase de tests tu peux présenter ta requête comme ça, c'est plus simple à déboguer !
voili, voila, bonne nuit !
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
salut,
ben ça signifie que tu essaies d'accéder à des valeurs d'un tableau pour les clés "prenom_cli" et "mod_regl" alors que ces clés ne sont pas définies.
pour t'en dire plus il faudrait savoir ce qu'il y a dans "E:\pme\crea_rdv.php" aux lignes 10 et 26…
-
salut
ligne 10 j'ai ceci: $prenom_cli = mysql_real_escape_string($_POST['prenom_cli']);
ligne 2- j'ai ceci: $mod_regl = mysql_real_escape_string($_POST['mod_regl']);
pourtant la clé n'est pas sur ces champs!!! -
regarde dans le formulaire qui envoie les données, tu ne doit pas avoir de <input /> (ou autre) qui portent les noms "prenom_cli" et "mod_regl".
-
re salut
malgré que je renomme les <input/> dans le formulaire,il reste que prenom_cli qui affiche encore le message!
Ca deviens bizare tou çà! -
dans le formulaire, à chaque "name" tu doubles avec un attribut "id" qui prend la même valeur.
dans "E:\pme\crea_rdv.php" en première ligne tu metsprint_r();
et tu regardes ce qui est effectivement renvoyé par ton formulaire.
-
en ce moment j'ai ceci!
Warning: print_r() expects at least 1 parameter, 0 given in E:\pme\crea_rdv.php on line 2
Notice: Undefined index: prenom_cli in E:\pme\crea_rdv.php on line 11
je me demande pour "mod_regl" il n'affiche plus le message car j'ai renommé le champ input,mais pourquoi ça persiste avec le prénom??? -
oups pardon, j'ai pas mis la variable à afficher !!!
print_r( $_POST );
mea culpa, mea maxima culpa…
-
ca y est!plus d'erreur,mais il n'enregistre pas dans la base de données!!
-
il m'affiche ceci!
Array ( [operateur] => Paul [date_inter] => 2008-02-03 [heure_inter] => 10:00 [nom_cli] => BISS [prenom_cli] => Baudry [adresse_cli] => rue de l'amour [cod_post] => 75000 [ville] => Paris [digicode] => 8765 [telephone] => 9876543 [mail] => biss@baudry.fr [besoin] => Besoin 2 [jour_rdv] => 2008-02-03 [heure_rdv] => 12:00 [duree_prev] => 00:30 [debut_int] => 2008-02-05 [fin_int] => 2008-02-09 [intervention] => Intervention 3 [num_fact] => 13 [mont_ht] => 76853 [mode_regl] => Cheque ) Nouveau rendez-vous crée!!!
en lisant il envoie toutes les données,mais il n'ajoute pas dans la base! -
salut!
toujours pas d'ajout dans la base;pourtant j'ai pas d'erreur de script php!
$requete = sprintf("INSERT INTO INTERVENTION (operateur,date_intervention,heure_intervention,nom_client,prenom_client,adresse_client,code-postal,ville,digicode,telephone,mail,besoin,jour_rdv,heure_rdv,duree_rdv,debut_prestation,fin_prestation,intervention_realise,num_facture,montantht,mode_reglement)
VALUES ('$operateur,$date_inter,$heure_inter,$nom_cli,$prenom_cli,$adresse,$code_postal,$ville,$digicode,$telephone,$mail,$besoin,$jour_rdv,$heure_rdv,$duree_rdv,$debut_int,$fin_int,$intervention,$num_fact,$mont_ht,$mode_regl')");
$result = @mysql_query($requete);
echo ('Nouveau rendez-vous crée!!!');
-
j'ai maintenant ce message!
Erreur !!!
Column count doesn't match value count at row 1
-
merci pr ta disponibilité ca marche nickel