Erreur php
Résolu
bissdebrazza
Messages postés
2065
Date d'inscription
Statut
Contributeur
Dernière intervention
-
bissdebrazza Messages postés 2065 Date d'inscription Statut Contributeur Dernière intervention -
bissdebrazza Messages postés 2065 Date d'inscription Statut Contributeur Dernière intervention -
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!!!
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!!!
A voir également:
- Erreur php
- Erreur 0x80070643 - Accueil - Windows
- Expert php pinterest - Télécharger - Langages
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
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 avec
avant
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 ''.
tu as maintenant une erreur MySQL, le plus simple pour la débogguer est dans un premier temps d'imprimer ta requête avec
echo "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.
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…
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 !
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…
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!!!
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 çà!
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 mets
et tu regardes ce qui est effectivement renvoyé par ton formulaire.
dans "E:\pme\crea_rdv.php" en première ligne tu mets
print_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???
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 !!!
mea culpa, mea maxima culpa…
print_r( $_POST );
mea culpa, mea maxima culpa…
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!
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!!!');
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!!!');