Bonjour a tous, j ai besoin d aide sur un truc, voila j envoi une variable post avec ajax et c est envoyé mais je ne sais pas comment faire pour definir une varible session avec ce variable en utilisant php. Merci d avance ;)

<?php

if (isset($_POST['login'])) {
@session_start();
  $_SESSION['login'] = $_POST['login'];
  echo "Ok - la valeur enregistre: {$_SESSION['login']}";
}
else {echo 'KO';}
?>

<div id="result1">10</div>
<div id="envoyer" style="border:1px solid red">GO</div>
<script src="jquery-1.11.1.min.js" type="text/javascript"></script>
<script>
$("#envoyer").click(function(){
    $login = $("#result1").html();
     $.ajax({
       type: "POST",
       url: "testdujour.php",
       data: 'login='+$login,
       success: function(msg){
         alert($login);
       }
    });
});
</script>

6 réponses


Salut,

Un petit lien qui risque de t'aider fortement : http://php.net/manual/fr/function.session-start.php

Pas trop compris la question. Tu veux faire quoi ? et c'est quoi qui ne marche pas par rapport à ce que tu voudrais ?

Euh y'a un truc qui me gene dans ton code déjà

$login = $("#result1").html();
....
alert($login);
var login = $("#result1").html();
....
alert(login);

@MrSaooty : Cette syntaxe est parfaitement correcte ;-)

Salut @Rileystormmaker,

Alors ce qu'il te faut faire dans ton script "testdujour.php" c'est:

if (isset($_POST['login'])) {
    session_start(); // si ce n'est pas déjà fait

    $_SESSION['login'] = $_POST['login'];

    var_dump($_SESSION); // Vérifies si l'info se trouve bien en session
}

Et puis modifies ton JS comme suit:

$("#envoyer").click(function(){
    var login = $("#result1").html();
    $.post("testdujour.php", {'login': login}, function(response) {
         console.log(response);
     });
});

Ca devrait fonctionner ;)

$("#envoyer").on('click', function(){
    var login = $("#result1").html();
    $.post("testdujour.php", {'login': login}, function(response) {
         console.log(response);
     });
});

Au passage vaut mieux utiliser on que click, grafikart a déjà expliqué pourquoi :)

http://www.grafikart.fr/tutoriels/jquery/jquery-on-events-518