0

I have input type number and select with id matiere , oninput in input number fire function go() in my ajax method, and it's work fine with one value matiere

 <label>Niveau:</label>
 <input type="number" oninput ="go()" id="nivo" name="nivo" max="4" min="1" required autocomplete="off"  maxlength="23" />

  <label>Matière</label>
  <select name="matiere" id="matiere" >

What I need to do is to send $_SESSION['id'] value in xhr.send() too

            function getXhr(){
          var xhr = null;
               if (window.XMLHttpRequest)  // Mozilla, Safari,...
                   xhr = new XMLHttpRequest();
             else if(window.ActiveXObject){ // Internet Explorer
               try {   
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
                   } catch (e) {
                        xhr = new ActiveXObject("Microsoft.XMLHTTP");
                    }
            }
            else { // XMLHttpRequest non supporté par le navigateur
                xhr = false;
                    }
                      return xhr;        
          }

        function go(){
        //  alert(" test in go");
             var xhr = getXhr();
            // On défini ce qu'on va faire quand on aura la réponse
            xhr.onreadystatechange = function(){
                // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
            if (xhr.readyState == 4 &&    xhr.status == 200) {
                    leselect = xhr.responseText;
                    // On se sert de innerHTML pour rajouter le valeur au liste_profil
                    document.getElementById("matiere").innerHTML = leselect;  // emplacement de resultat 
                    }
            }
             // Ici on va voir comment faire du post
            xhr.open("post","getmatiere.php",true); // <  fichier d'action
            // ne pas oublier ça pour le post
            xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            // ne pas oublier de poster les arguments

            //  numero
            nivo = document.getElementById('nivo');  // <==  paramètre 1 a envoyer
            nv= nivo.value;   // <== prendre le valeur de paramètre 1  envoyer

            // valeur de  $_SESSION['id'] 

                // << here what i need to help  for >> 
                //idS
         //  send 

           // xhr.send('nivo=nv&id=idS');
            xhr.send("nivo="+nv);  // <== nivo envoyer

        }
        </script>

Thanks for help

Supupoff
  • 13
  • 5

1 Answers1

0

If you are looking for the session identifier, typically you'd be looking at PHPSESSID (unless you have given a custom name) cookie or a query param. You can fetch it this way:

function getCookie(name)
{
    var re = new RegExp(name + "=([^;]+)");
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
}

Source

and then make a call to var session_id = getCookie('PHPSESSID');

If cookies are disabled, you could read it via query params.

Now, if you are actually looking for a session attribute, that can be done only at the server side, unless you choose to stick this attribute in a cookie or a param in your request Urls when sending responses from the server.

Community
  • 1
  • 1
TJ-
  • 14,085
  • 12
  • 59
  • 90