begin process at 2010 02 09 17:50:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Modifier une variable session lors d'un clic sur une url


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modifier une variable session lors d'un clic sur une url

mercredi 15 novembre 2006 à 22:30:48 | Modifier une variable session lors d'un clic sur une url

nikoland

Salut à tous,

J'aimerais lorsque je clique sur une url qu'une de mes variables session soit modifiée afin de traiter ensuite quelle page afficher...

J'avais déjà réalisé cela en utilisant la méthode GET, je passais un url_encode($mavariable) que je traitais ensuite. Ici, il faudrait que $_SESSION['mavariable'] soit modifiée sur un évènement clic sur un lien.

J'espère avoir été assez clair.
Merci d'avance.

Nikö
jeudi 16 novembre 2006 à 16:36:05 | Re : Modifier une variable session lors d'un clic sur une url

xque19

Salut!
La solution, d'après moi, serait d'utiliser l'object XMLHttpRequest de javascript pour envoyer une requete asynchrone.
  • Dans le fichier où se trouve le lien:

<script type="text/javascript">
function lancerRequete(requete,methode)
{
    if (window.XMLHttpRequest)
    {
        xhr_object = new XMLHttpRequest();
        xhr_object.open(methode, requete, true);
        xhr_object.send(null);
        xhr_object.onreadystatechange = function()
        {
            if(xhr_object.readyState == 4)
            {
                alert(xhr_object.responseText);
            }
        }
    }
    else if(window.ActiveXObject)
    {
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
        xhr_object.open(methode, requete, true);
        xhr_object.send(null);
        if(xhr_object.readyState == 4)
        {
            alert(xhr_object.responseText);
        }
    }
    else
    {
        alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');
        return(false);
    }
}
</script>

<a href="#" onClick="javascript:lancerRequete('majSession.php?newVal=xxxxxx','GET');"></a>


  • créer un fichier majSession.php (par example) contenant:

<?php

$_SESSION['val']=$_GET['newVal'];
echo "Mise à jour effectuée";

?>

samedi 18 novembre 2006 à 18:08:54 | Re : Modifier une variable session lors d'un clic sur une url

nikoland

J'ai presque réussi à faire ce que je voulais sans avoir à utiliser AJAX comme tu me le suggères. Cependant, il reste un petit soucis.

En clair, je voudrais faire la même chose qu'une transmission de variable par url : http://url?page=page1

Pour cela, j'ai fait cela dans mes liens :
<a href="index.php" OnClick="<?php $_SESSION['page']= 'accueil' ; ?>">accueil</a>
<a href="index.php" OnClick="<?php $_SESSION['page']= 'logithèque' ; ?>">logithèque</a>

Ca a l'air de fonctionner, c'est à dire que la variable $_SESSION['page'] stocke bien accueil ou logithèque, cependant, en fait, il stocke que logithèque, le clic sur accueil ne change pas la variable. Je ne sais pas pourquoi.

Quelqu'un pourrait-il me sortir de ce pas ?




Nikö
samedi 18 novembre 2006 à 18:55:40 | Re : Modifier une variable session lors d'un clic sur une url

xque19

Salut,

Ton code ne convient absolument pas au problème que tu souhaite résoudre, parce que là quand tu clique sur un lien il ne se passera absolument rien, si tu regarde bien la source de ta page sous IE ou Firefox tu aura:
<a href="index.php" OnClick="">accueil</a>
<a href="index.php" OnClick="">logithèque</a>

c'est parce que quand tu lance ta page PHP, le compilateur va interpréter les 2 instruction entre <?php ... ?> et comme c'est 2 affectation dans la même variable, du coup tu te retrouve toujours avec la valeur de la dernière affectation dans $_SESSION['page'] c'est à dire 'logiteque'.
D'après moi ta méthode est erronée et je pense que la seule façon de faire dans ce cas est d'utiliser un appel asynchone à un script qui mettra à jour ta variable de session, enfin çà c'est mon avis, après tout il y a peut-être d'autres solutions auquels j'ai pas pensé.

++
samedi 18 novembre 2006 à 18:59:31 | Re : Modifier une variable session lors d'un clic sur une url

nikoland

Argh, évidemment...

Il va falloir que j'arrive à trouver une solution parce que les appels asynchrones, j'y connais vraiment rien...

Merci

Nikö
dimanche 19 novembre 2006 à 01:24:02 | Re : Modifier une variable session lors d'un clic sur une url

xque19

Réponse acceptée !
avec le code que je t'ai mis plus haut, tu as tout ce qu'il te faut pour y arriver, le concept est simple: tu fais appel à une fonction javascript dans ta page qui va elle de son côté faire appel à un script php pour l'executer côté serveur et cette même fonction php te retournera (si çà s'est executé correctement) comme résultat ce qui est affiché dans ce script php.
dimanche 19 novembre 2006 à 09:33:30 | Re : Modifier une variable session lors d'un clic sur une url

nikoland

Il faudra bien que je m'y mette de toute façon...

Merci

Nikö


Cette discussion est classée dans : clic, variable, modifier, url, session


Répondre à ce message

Sujets en rapport avec ce message

IP variable et url fixe [ par omnikod ] Vous avez une connexion ADSL ?Vous avez un serveur Web ?Vous avez une IP dynamique et vous voulez pouvoir acceder à votre site par une adresse du styl Variable dans une session [ par RockmanX ] Voila,je voudrais stocker des données dans une session nommée session_user qui s'ouvre à la suite d'un formulaire de login si le mot de passe et le no Impossible d'ajouter ou modifier une source [ par Houzefa ] Ben voilà chaque fois que j'veux ajouter ou modifier une source ya une erreur du coté du serveur...Houzéf@ - www.123toto.com Session & passage de var avec formulaire [ par ironnyc ] Salut a tous!j ai un petit prob avec les sessions.Pourquoi session_start() detruit tout le contenu des variables que j'envoye par un formulaire avec d Pb session ! [ par coolboy78 ] Bonjour les amis,J'ai un petit pb, g une page d'accueil avec 2 champs : Compte et mot de passe. Ken le client se logue, j'ouvre une session, mais le p coment incrementer 1 $variable dans une url ??? [ par bencha ] Bon voila :- apres un clic sur le lien "page suivante" - je voudrais incrementer une variable "$id"- et inversement sur le lien "page précédente".Alor Variable par construction de son nom [ par fabiin ] Salut,voilaje créé une variable session portant le nomsession_register("machin".$a);$a étant un entier positif, ki change.ben je voudrai, plus tard, t variables dans l'url [ par floflo30 ] bonjour,Je cherche à récupérer dans une variable, la variable que j'ai passé dans mon hyperlien.Voici le code :while($colonne=mysql_fetch_row($result) session multi url [ par mogmog ] bonjour, je voudrais mettre en place un espace membre sur mon site, mais le probleme c'est ke celui-ci est constitue de 2 sites avec donc 2 URL differ Variable global pour une session [ par PascalLF ] Salut,qq'1 saurait-il comment déclarer une variable globale à une session, pour y accéder (et la modifier) de plusieurs page ?


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales