Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2372 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Notice Index : je n'arrive pas à résoudre le probleme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Notice Index : je n'arrive pas à résoudre le probleme

n°1949774
klm3
Posté le 12-12-2009 à 19:17:16  profilanswer
 

Bonjour à tous :)
 
Je suis débutant dans les langages du WEB, et suis un étudiant ayant pris une option pour apprendre à créer des site web. Bref,  
 
- je dois rendre un travail dont le [U]but:  Transmettre les données d'un formulaire (coté client) à un script PHP ( coté serveur).[/U]
- Petite précision, [B]les valeurs du formulaire doivent être traitées par JavaScript[/B]
 
J'ai mon formulaire (créer en HTML), avec ma fonction sortie() qui à récupé les valeurs.
 

Code :
  1. function sortie(nom,sexe,commentaires) {
  2. var nom,sexe,commentaires;
  3. var windows,linux,systeme_expl;
  4. var logiciels,msoffice,openoffice,ftpexpert,fillezilla;
  5. //INITIALISATION DES VARIABLES
  6. windows = '';
  7. linux = '';
  8. msoffice = '';
  9. openoffice = '';
  10. ftpexpert = '';
  11. fillezilla = '';
  12.     //TRAITEMENT - POUR LES CASES A COCHER WINDOWS ET LINUX
  13.    
  14.     if (document.f1.os1.checked == true && document.f1.os2.checked == true){
  15.       systeme_expl = 'Utilise les 2 systèmes, Windows et Linux, en dual Boot je suppose ! !';
  16.     }
  17.     else if (document.f1.os1.checked == true && document.f1.os2.checked == false){
  18.       windows = 'Utilise Windows';
  19.       systeme_expl = windows + linux ;
  20.     }
  21.     else if (document.f1.os1.checked == false && document.f1.os2.checked == true){
  22.       linux = 'Utilise Linux';
  23.       systeme_expl = windows + linux ;
  24.     }
  25.     else if (document.f1.os1.checked == false && document.f1.os2.checked == false){
  26.       systeme_expl = 'Utilise aucuns des 2 systèmes...Avez-vous un MAC ??!!' ;
  27.     }
  28.    
  29. //TRAITEMENT - POUR LE MENU DEROULANT LOGICIEL
  30. if(document.forms[0].logs.options[0].selected == true){
  31.  msoffice = 'Utilise MS Office';
  32. }
  33. if(document.forms[0].logs.options[1].selected == true){
  34.  openoffice = 'Utilise Open Office';
  35. }
  36. if(document.forms[0].logs.options[2].selected == true){
  37.  ftpexpert = 'Utilise FT Expert';
  38. }
  39. if(document.forms[0].logs.options[3].selected == true){
  40.  fillezilla = 'Utilise Fillezilla';
  41. }
  42. logiciels = msoffice + openoffice + ftpexpert + fillezilla;
  43. //ENVOIS DES VARIABLES VERS PAGE PHP
  44. windows.open('resultat.php');
  45. return false;
  46. }


 
 
Je ne sais pas si tout est juste, mais en faisant des alertes de chaque variables (donc au final j'en ai 5 , nom, sexe, systeme_expl, logiciels, commentaires), cela s'affiche normalement.
 
- Je dois les envoyées sur une autre page 'resultat.php', donc dans mon formulaire j'ai mis : (NB : je dois obligatoirement utiliser method POST)
 

Code :
  1. <form name="f1" method=post onSubmit="return(sortie(f1.nom.value,f1.sexe.value,f1.commentaires.value))" action="resultat.php">


 
 
- Ma page 'resultat.php' est comme ceci :
 

Code :
  1. <?php
  2. echo $_POST['nom']; 
  3. echo $_POST['sexe'];
  4. echo $_POST['systme_expl'];
  5. echo $_POST['logiciels'];
  6. echo $_POST['commentaires'];
  7. ?>


 
 
- PROBLEME : les varibles 'nom' 'sexe' 'commantaires' s'affichent correctement, mais PAS 'systeme_expl' et 'logiciels' soient les 2 variables avec lesquelles j'ai fait des opérations (parce que checkbok, et <select> à choix multiple).
 
- Pour ces variables, j'ai le droit à  
 

Code :
  1. Notice: Undefined index: systme_expl in C:\wamp\www\resultat.php on line 4
  2. Notice: Undefined index: logiciels in C:\wamp\www\resultat.php on line 5

 
 
=================================================
 
J'ai essayé des solutions genre :  
 

Code :
  1. // Avant d'utiliser $_POST['truc']
  2. if (isset($_POST['truc']))
  3. {
  4.           // Instructions si $_POST['truc'] existe
  5. }


 
Mais rien n'y fais, quand je fais ca par exemple, rien ne s'affiche.
 
 
==============================================
 
Je vous demande donc de me donner un petit coup de pouce pour un débutant comme moi et vous souhaite à tous une très bonne journée :):)
 
Merci, cordialement.

mood
Publicité
Posté le 12-12-2009 à 19:17:16  profilanswer
 

n°1949811
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 12-12-2009 à 22:55:43  profilanswer
 

tes variables sont définies dans le javascript, sont locales à la fonction mais non exportées avec le formulaire...
 
suggestion : fais un champ input type="hidden" id="systeme_exploitation"> et une fois que tu as cette variable en javascript, tu fais un document.getElementById('systeme_exploitation').value=syst_expl;
 
de façon à remplir ce champ caché avant la soummission du formulaire.
 
 
après, tu peux aussi faire dans ton php

Code :
  1. echo '<pre>'; print_r($_POST); echo '</pre>';


qui te donnera tout le contenu récupéré, sans avoir à faire un "echo" manuel de chaque variable.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1949829
klm3
Posté le 13-12-2009 à 10:11:01  profilanswer
 

Merci beaucoup pour ta réponse  :)  
 
Mais je n'ai pas compris ou est ce qu'il faut que je mette mon input type="hidden" ?
 
Est ce que je peut toujours mettre ça pour traiter systeme_expl ? :
 

Code :
  1. //TRAITEMENT - POUR LES CASES A COCHER WINDOWS ET LINUX
  2. #   
  3. #     if (document.f1.os1.checked == true && document.f1.os2.checked == true){
  4. #       systeme_expl = 'Utilise les 2 systèmes, Windows et Linux, en dual Boot je suppose ! !';
  5. #     }
  6. #     else if (document.f1.os1.checked == true && document.f1.os2.checked == false){
  7. #       windows = 'Utilise Windows';
  8. #       systeme_expl = windows + linux ;
  9. #     }
  10. #     else if (document.f1.os1.checked == false && document.f1.os2.checked == true){
  11. #       linux = 'Utilise Linux';
  12. #       systeme_expl = windows + linux ;
  13. #     }
  14. #     else if (document.f1.os1.checked == false && document.f1.os2.checked == false){
  15. #       systeme_expl = 'Utilise aucuns des 2 systèmes...Avez-vous un MAC ??!!' ;
  16. #     }


 
 
je le met ou ca : document.getElementById('systeme_exploitation').value=syst_expl;  ?
 
 
 
 
Merci a tous pour vos réponses, super forum, bonne journée a tous  :)  cordialement

n°1950266
klm3
Posté le 14-12-2009 à 19:10:27  profilanswer
 

personne ne sait ? :)
 
Cordialement, j'ai fais 20 manips différentes rien n'y fais :(
 
Merci a tous bonne soirée :)

n°1954015
Nethacker
rule televisions, rule minds
Posté le 30-12-2009 à 16:12:38  profilanswer
 

Partout dans le document tu peux mettre ceci, comme de toute façon tu lui affecteras une valeur pas besoin de l'initialiser avec quelque chose, mais n'empêche met quelque chose pour le debug, "pas encore" par exemple
 

Code :
  1. <input type="hidden" id="systme_expl" value="pas encore" />


 
pour affecter une valeur

Code :
  1. document.getElementById('system_expl').value = "Utilise Linux";


 
Et tout devrait y aller mieux :)


Message édité par Nethacker le 30-12-2009 à 16:18:17

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Notice Index : je n'arrive pas à résoudre le probleme

 

Sujets relatifs
PHP SQL probleme ORDER BY , GROUP BY...probleme affichage suite a une requete
probleme de gravureProblème de redimensionnement image en javascript
probleme liste deroulanteProblème de modélisation PowerDesigner
Probleme de double dans un JTextField[Pascal] probleme
Problème de formulaire dans formulaireProblème requête ACCESS
Plus de sujets relatifs à : Notice Index : je n'arrive pas à résoudre le probleme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR