IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Passer les valeurs des checkbox par GET


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut [AJAX] Passer les valeurs des checkbox par GET
    Bonjour,
    j'ai un petit problème qui me fatigue trop, voila j'ai un formulaire ou il y'a des checkbox pour sélectionnez les matières : Arabe : Francais : Anglais : Sciences : Physique :
    Mat : Sociologie : Philosophie : Traduction : Sport : le formulaire retourne dans le OnSubmit la fonction AjouterProf() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    function AjouterProf() {
    var nom; var prenom; var email;
    var tel; var adresse; var pass;
    nom = document.FormAjouterProf.nom.value; 
    prenom = document.FormAjouterProf.prenom.value; 
    email = document.FormAjouterProf.email.value; 
    tel = document.FormAjouterProf.tel.value; 
    adresse = document.FormAjouterProf.adresse.value; 
    pass = document.FormAjouterProf.pass.value; 
    var matiere = new Array(); 
    matiere = document.FormAjouterProf.matiere; 
    var niveau = new Array(); 
    niveau = document.FormAjouterProf.niveau; 
    if(texte = file('ADMINISTRATION/js/ajouter-prof-mysql.php?nom='+nom+'&prenom='+prenom+'&email='+email+'&tel='+tel+'&adresse='+adresse+'&pass='+pass+'&matiere='+matiere+'&niveau='+niveau));
    { if(texte == 1) { writediv(' '+nom+' a bien ete ajouter a la liste des professeurs');
     return(false) } 
    else if(texte == 2) 
    { writediv('Erreur'); return(false) } 
    else writediv(texte); 
    }
     }
     
    function file(fichier)
    {
    if(window.XMLHttpRequest) // FIREFOX
    xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
    return(false);
    xhr_object.open("GET", fichier, false);
    xhr_object.send(null);
    if(xhr_object.readyState == 4) return(xhr_object.responseText);
    else return(false);
    }

    j'envoie les deux tableau matiere et niveau par GET au fichier php ajouter-prof-mysql.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php
    mysql_connect("localhost", "root", "") or die ('Erreur : '.mysql_error() ); 
     
    mysql_select_db("ecole") or die ('Erreur :'.mysql_error());
    $nom = strip_tags($_GET['nom']);
     $prenom = strip_tags($_GET['prenom']);
     $email = strip_tags($_GET['email']); 
    $tel = strip_tags($_GET['tel']);
     $adresse = strip_tags($_GET['adresse']);
     $pass = md5( $_GET['pass']); 
    $matiere = $_GET['matiere'][0];
    for($i=1; $i<10; $i++) 
    {
        if ($_GET['matiere'][$i] != '') 
            { $matiere .= ', '.$_GET['matiere'][$i];
     } 
    } 
    $niveau = $_GET['niveau'][0]; 
     
    for($i=1; $i<4; $i++)
     { if ($_GET['niveau'][$i] != '') 
    {
     $niveau .= ', '.$_GET['niveau'][$i]; 
    }
     }
     
     $result = mysql_query('INSERT INTO professeur VALUES("", "'.$nom.'", "'.$prenom.'", "'.$matiere.'", "'.$niveau.'", "'.$email.'", "'.$tel.'", "'.$adresse.'", "'.$pass.'")') or die ('Erreur :'.mysql_error()); 
    if(isset($result))
     echo "1";
     else echo "2";
    ?>
    tous fonctionne parfaitement saufe les valeur des tableaux me donne : u, n, d, e, f, i, n, e, d y'a t'il quelqu'un pour m'aide svp.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    L'erreur est se trouve ici
    var matiere = new Array();
    matiere = document.FormAjouterProf.matiere;
    var niveau = new Array();
    niveau = document.FormAjouterProf.niveau;
    On peut voir le code HTML.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Salut,
    L'erreur est se trouve ici

    On peut voir le code HTML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <title>Ajouter un nouvel&eacute;l professeur</title>
    <script type="text/javascript" src="./ADMINISTRATION/js/ajouter-prof-mysql.js"></script>
    <div align="center">
    <form method="post" name="FormAjouterProf" onsubmit="AjouterProf();return(false);">
    <strong>Nom :</strong> <br>
    <input type="text" name="nom" size="30">
    <br><strong>Prenom :</strong><br>
    <input type="text" name="prenom" size="30">
    <br><strong>Mati&egrave;res :</strong><br>
    <strong style="font-size:13px">
    Arabe : <input type="checkbox" name="matiere[]" value="arabe">&nbsp;&nbsp;
    Francais : <input type="checkbox" name="matiere[]" value="francais">&nbsp;&nbsp;
    Anglais : <input type="checkbox" name="matiere[]" value="anglais">&nbsp;&nbsp;
    Sciences : <input type="checkbox" name="matiere[]" value="sciences">&nbsp;&nbsp;
    Physique : <input type="checkbox" name="matiere[]" value="physique">&nbsp;&nbsp;
    <br>
    Mat : <input type="checkbox" name="matiere[]" value="mat">&nbsp;&nbsp;
    Sociologie : <input type="checkbox" name="matiere[]" value="sociologie">&nbsp;&nbsp;
    Philosophie : <input type="checkbox" name="matiere[]" value="philosophie">&nbsp;&nbsp;
    Traduction : <input type="checkbox" name="matiere[]" value="traduction">&nbsp;&nbsp;
    Sport : <input type="checkbox" name="matiere[]" value="sport">
    </strong>
    <br><strong>Niveau :</strong><br>
    <strong style="font-size:13px">Tran Commun <input type="checkbox" name="niveau[]" value="5">&nbsp;&nbsp;
    premi&egrave;re ann&eacute;e baccalaur&eacute;at <input type="checkbox" name="niveau[]" value="6">&nbsp;&nbsp;
    deuxi&egrave;me ann&eacute;e baccalaur&eacute;at<input type="checkbox" name="niveau[]" value="bac"></strong>
    <br><strong>E-mail :</strong><br>
    <input type="text" name="email" size="30">
    <br><strong>Tel :</strong><br>
    <input type="text" name="tel" size="30">
    <br><strong>Adresse :</strong><br>
    <input type="text" name="adresse" size="30">
    <br><strong>Passe :</strong><br>
    <input type="password" name="pass" size="30">
    <br><strong>Retaper passe :</strong><br>
    <input type="password" name="pass2" size="30">
    <br>
    <input name="envoyer" type="submit" value="Envoyer">
    <div id="fanbox"></div>
    </form>
    </div>
    merci de rependre

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Comme dit Andry le souci est que traite tes checkbox matiere[] comme si elles étaient déjà sous la forme d'un tableau Javascript, en bref comme tu les traites en PHP sur le server quand tu écris: Or ce n'est pas le cas en Javascript.

    Le nom de chaque checkbox est "matiere[]" et tu disposes donc d'un tableau javascript d'éléments "matiere[]". Le code que tu peux écrire en javscript pour pointer par exemple sur la première checkbox est donc celui-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.elements['matiere[]'][0]
    Finalement quand tu va créer ton URL,elle aura cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...ajouter-prof-mysql.php?nom=MARTIN&...&matiere[]=francais&matiere[]=philosophie&...
    ERE
    Quand une tête pense seule, elle devient folle.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Salut,

    Comme dit Andry le souci est que traite tes checkbox matiere[] comme si elles étaient déjà sous la forme d'un tableau Javascript, en bref comme tu les traites en PHP sur le server quand tu écris: Or ce n'est pas le cas en Javascript.

    Le nom de chaque checkbox est "matiere[]" et tu disposes donc d'un tableau javascript d'éléments "matiere[]". Le code que tu peux écrire en javscript pour pointer par exemple sur la première checkbox est donc celui-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.elements['matiere[]'][0]
    Finalement quand tu va créer ton URL,elle aura cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...ajouter-prof-mysql.php?nom=MARTIN&...&matiere[]=francais&matiere[]=philosophie&...
    ERE
    Je vous remerci de votre aide, je commence a comprendre mintenant,
    j'ai pas encor trouver la solution mais je suis sur la bonne voie.
    encore merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer en GET les valeurs des checkbox cochées
    Par donkeykick dans le forum Langage
    Réponses: 2
    Dernier message: 07/03/2016, 12h47
  2. Réponses: 1
    Dernier message: 18/04/2007, 06h05
  3. Réponses: 2
    Dernier message: 06/04/2007, 10h26
  4. [PHP-JS] Récupérer les valeurs des checkbox
    Par jamirokoi dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2006, 16h24
  5. recuperer les valeurs des checkbox selectionnés
    Par kagura dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/03/2006, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo