Erreur php

Résolu
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
Configuration: Windows Vista
Safari 525.13

16 réponses

  1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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
    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 ''.
    2
  2. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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.
    0
  3. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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() ); 
    }
    0
  4. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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 !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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…
    -1
  7. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    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!!!
    -1
  8. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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".
    -1
  9. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    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 çà!
    -1
  10. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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
    print_r();

    et tu regardes ce qui est effectivement renvoyé par ton formulaire.
    -1
  11. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    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???
    -1
  12. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    oups pardon, j'ai pas mis la variable à afficher !!!
    print_r( $_POST );

    mea culpa, mea maxima culpa
    -1
  13. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    ca y est!plus d'erreur,mais il n'enregistre pas dans la base de données!!
    -1
    1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      mais il affiche quoi ?

      devrait y avoir toutes les données renvoyées par ton formulaire, ce qui te permet de vérifier qu'il y a la clé signalée par le message d'erreur (ou pas).
      -1
  14. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    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!
    -1
  15. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    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!!!');

    -1
  16. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    j'ai maintenant ce message!

    Erreur !!!
    Column count doesn't match value count at row 1
    -1
  17. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    merci pr ta disponibilité ca marche nickel
    -1