Initialiser une session dans un onclick
Résolu
Léa
-
Léa -
Léa -
Bonjour,
Je débute en php et je me demandais, si c'était possible d'initialiser $_SESSION['lang'] lorsqu'on clique sur le lien.
Qui ressemblerait à cela :
<div id="lang">
<a href="#" id="langfr" onclick="<?php $_SESSION['lang']='FR'?>">FR</a>
<a href="#" id="langen" onclick="<?php $_SESSION['lang']='EN'?>">EN</a>
</div>
Mais cela ne fonctionne pas.
Je débute en php et je me demandais, si c'était possible d'initialiser $_SESSION['lang'] lorsqu'on clique sur le lien.
Qui ressemblerait à cela :
<div id="lang">
<a href="#" id="langfr" onclick="<?php $_SESSION['lang']='FR'?>">FR</a>
<a href="#" id="langen" onclick="<?php $_SESSION['lang']='EN'?>">EN</a>
</div>
Mais cela ne fonctionne pas.
A voir également:
- Initialiser une session dans un onclick
- Www.yahoomail.com ouverture de session ✓ - Forum Yahoo mail
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Windows
- Impossible d'initialiser le périphérique prn ✓ - Forum Autoit / batch
- Ouvrir ma session yahoo.fr - Forum Yahoo mail
- Veuillez ouvrir une session avec les privilèges de gestionnaire - Forum Windows 10
3 réponses
onclick est un événement déclenché côté client (navigateur), tandis que ton php est interprété côté serveur. Tu ne peux pas demander à ton client d'assigner une variable côté serveur, alors que le serveur a fini de générer ta page.
Il faut donc que ton onclick déclenche un nouvel appel au serveur. Soit par l'intermédiaire d'un appel classique à une nouvelle page, ou soit via une requête de type ajax.
Il faut donc que ton onclick déclenche un nouvel appel au serveur. Soit par l'intermédiaire d'un appel classique à une nouvelle page, ou soit via une requête de type ajax.
A mon avis cela ne fonctionne pas à cause du lien qui n'existe pas dans le href, as-tu essayer de le remplacer par une page existante ?
Sinon, AJAX.
Sinon, AJAX.
Alors j'ai fait des recherches sur ajax, et j'ai trouvé qu'il fallait faire cela :
<script type="text/javascript">
jQuery().ready(function(){
$("#langfr").click(function(){
$.ajax({
type: "POST",
url: "/lib/lang/langfr.php",
}).done(function(e) {
location.reload();
});
});
$("#langen").click(function(){
$.ajax({
type: "POST",
url: "/lib/lang/langen.php",
}).done(function(e) {
location.reload();
});
});
});
</script>
<div id="lang">
<a href="#" id="langfr">FR</a>
<a href="#" id="langen">EN</a>
</div>
//---------langfr.php-----------
<?php
$_SESSION['lang']='FR';
?>
//---------langen.php-----------
<?php
$_SESSION['lang']='EN';
?>
Mais, cela n'a pas l'air de fonctionner ....
<script type="text/javascript">
jQuery().ready(function(){
$("#langfr").click(function(){
$.ajax({
type: "POST",
url: "/lib/lang/langfr.php",
}).done(function(e) {
location.reload();
});
});
$("#langen").click(function(){
$.ajax({
type: "POST",
url: "/lib/lang/langen.php",
}).done(function(e) {
location.reload();
});
});
});
</script>
<div id="lang">
<a href="#" id="langfr">FR</a>
<a href="#" id="langen">EN</a>
</div>
//---------langfr.php-----------
<?php
$_SESSION['lang']='FR';
?>
//---------langen.php-----------
<?php
$_SESSION['lang']='EN';
?>
Mais, cela n'a pas l'air de fonctionner ....