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

JavaScript Discussion :

JavaScript et sessions


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Par d�faut JavaScript et sessions
    Bonjour,
    Je ne sais pas si c'est un probl�me de JS ou de PHP. Je poste ici car j'ai plus l'impression que cela vienne de mon incompr�hension du fonctionnement de JS par rapport � d'anciens langages de programmation que j'ai appris il y a... quelques dizaines d'ann�es...

    J'ai une page d'accueil.php dans laquelle je valide l'utilisateur via une requ�te AJAX.
    Si c'est ok, je mets le code utilisateur dans une variable php $_SESSION['id'] que je veux utiliser dans la suite du traitement dans d'autres pages.
    Si j'en reste l�, tout va bien.

    Mais, sur cette page accueil, je demande � l'utilisateur de confirmer qu'il s'agit bien de lui.
    Sinon, il se d�connecte et je veux RAZ cette variable $_SESSION['id'].
    J'ai donc fait �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    $('#boutDeconnecter').click(function() {
       alert('déconnecter');
       <?php unset($_SESSION['idDuStagiaire']); ?>;
       window.location.href = 'index.php';
    });
    Il me semble logique que le php unset ne s'ex�cute que lorsque je clique sur le bouton d�connecter.
    Et ben � priori non : si je mets cette ligne, que je ne fait pas d�connecter, je n'ai pas de variable $_SESSION['id'] dans les pages suivantes.
    Si j'enl�ve cette ligne cela fonctionne.

    Il semble que cette ligne s'ex�cute quand m�me, qu'elle soit dans une condition ou pas (l'alerte "D�connecter" ne s'affiche pas...

    C'est quoi t est ce qui se passe ? O� est mon erreur de logique ?


    Nb : peut �tre est-ce du m�me ordre que lors de mes diff�rents tests, au lieu de supprimer la ligne php unset, je la commentais en JS
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    // <?php unset($_SESSION['idDuStagiaire']); ?>;
    Elle semblait s'ex�cuter quand m�me...
    Si par contre je commente le php
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <?php // unset($_SESSION['idDuStagiaire']); ?>;
    Il n'interpr�te pas la commande, et tout va bien, la variable $_SESSION['id'] existe dans les autres pages... Sauf que c'est pas ce que je veux

    Merci pour vos �l�ments de r�ponse

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Tu as un probl�me de raisonnement chronologique et de port�e de chacun des langages ...

    php s'ex�cute cot� serveur pour g�n�rer le code html / js qui est envoy� vers le client

    Cot� client le navigateur interpr�te le html / js re�u

    ce sont deux �tapes distinctes et s�par�es
    js n'est pas interpr�t� cot� serveur et php n'est pas interpr�t� cot� client

    Tu dois refaire un ajax depuis le client pour faire le unset de ta variable de session, tu ne peux pas lancer du php dans un onclick jquery
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Par d�faut
    Merci... je me suis encore fait pi�ger...
    J'ai d�cid�ment du mal avec ce c�t� serveur...

  4. #4
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par d�faut
    gardez le sch�ma suivant sous les yeux, il r�sume bien les diff�rentes �tapes :
    https://dmouronval.developpez.com/tu...te-ajax/#Lno-I

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Par d�faut
    Bonjour et merci pour vos r�ponses.
    J'ai d�j� vu ce genre de sch�ma mais �a ne me parle pas...

    En fait ce que je viens de comprendre :
    - Que ce soit du .html ou du .php, cela reste une page "statique"
    . En html, il faut la cr�er/modifier � la main et actualiser la page.
    . En php, c'est le serveur qui cr�� la page. Mais pour l'afficher, il faut l'actualiser c�t� client.
    - Pour faire une page dynamique, modifier des �l�ments de la page sans recharger l'ensemble de la page
    . Utiliser javascript pour modifier automatiquement le code du c�t� client
    . Utiliser ajax pour r�cup�rer des �l�ments du serveur � afficher dans la page c�t� client.

    J'ai donc modifi� mon code et �a marche !!
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    $('#boutAfficheId').click(function() {	
    	$.post('lireValeurSession.php', { var: 'id' }, function(data) {
    	$('#id').text(data);
    });
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php 
            session_start();
            if (isset($_POST['var'])) {
                    echo isset($_SESSION[$_POST['var']]) ? $_SESSION[$_POST['var']] : 'La variable $_SESSION ' . $_POST['var'] . ' n\'existe pas';
            } else {
                    echo 'Erreur dans la requête';
            }
     
     ?>
    Encore merci

  6. #6
    Expert confirm�
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par d�faut
    Citation Envoy� par cc85 Voir le message
    En fait ce que je viens de comprendre :
    - Que ce soit du .html ou du .php, cela reste une page "statique"
    . En html, il faut la cr�er/modifier � la main et actualiser la page.
    . En php, c'est le serveur qui cr�� la page. Mais pour l'afficher, il faut l'actualiser c�t� client.
    oui c'est bien �a et si peut vous aider � mieux comprendre, sachez que dans les 2 cas, il y a seulement une diff�rence � l'int�rieur du serveur http.
    quand on regarde � l'ext�rieur, on voit la m�me chose :
    1. le client http envoie une requ�te ("/repertoire/fichier" par exemple) au serveur
    2. le serveur r�pond avec du code html que le client affiche par exemple s'il s'agit d'un navigateur

    la diff�rence est que le serveur regarde le type de fichier demand�. si c'est un fichier html, il envoie le contenu directement. et si c'est un fichier php, il lance l'ex�cution et c'est le r�sultat du code qui est envoy� au client http.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 17/06/2008, 12h49
  2. probl�me de javascript dans session
    Par guigui47 dans le forum Langage
    R�ponses: 1
    Dernier message: 30/03/2007, 20h43
  3. [WebForms]Comment utiliser une variable de session depuis JavaScript ?
    Par ThunderBib dans le forum G�n�ral Dotnet
    R�ponses: 5
    Dernier message: 05/05/2006, 14h01
  4. recuperer champs texte dans variable session via javascript
    Par richton95 dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 10/03/2006, 14h17
  5. JSP stocker des variables javascript en session
    Par MASSAKA dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 23/08/2005, 16h17

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