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 :

création de session


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de mimagyc
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 151
    Points
    151
    Par défaut création de session
    Bonjour,
    j'ai actuellement fait une sorte de volet sur un site que l'on peut cacher ou bien afficher en cliquant dessus, mon souci est que lorsque l'on charge une nouvelle page, le volet se réaffiche automatiquement,
    j'ai penser mettre une session['volet'] qui me permetterai de savoir si la persone le cache ou non.

    voici ce que j'ai pu faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    function clicVolet() {
     // Booléen reconnaissant le navigateur 
      isIE = (document.all) 
      isNN6 = (!isIE) && (document.getElementById)
     
       // Compatibilité : l'objet menu est détecté selon le navigateur
      if (isIE) volet = document.all['conteneurvolet'];
      if (isNN6) volet = document.getElementById('conteneurvolet');
     
     
    if (volet.style.display == "none"){
        // Cas ou le tableau est caché
        volet.style.display = ""
    	'<?php $_SESSION['volet'] = "0"; ?>'
      } else {
        // On le cache
        volet.style.display = "none"
    	'<?php $_SESSION['volet'] = "1"; ?>'
       }
     
     
    }
    Mais la modification du contenu de la session ne se fait pas en direct.(ne se modifie pas quand je clique dessus).

    Comment faire ?
    ou alors que faut il utiliser a part les sessions ?

    Merci.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Utilise ajax pour mettre à jour une variable de session sans recharger la page ...

  3. #3
    Membre habitué Avatar de mimagyc
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 151
    Points
    151
    Par défaut
    Ajax ...

    je ne l'ai jamais utiliser, pourrais tu me le faire rapidement, je n'ai que ca a faire en 'ajax' .

    ou alors ca va attendre .. tampis ^^

    Merci.

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    il y a des exemples simples dans les tutoriaux et sur le forum ajax ...
    http://javascript.developpez.com/cours/#ajax

  5. #5
    Membre habitué Avatar de mimagyc
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 151
    Points
    151
    Par défaut
    J'avoue que j'ai beaucoup de mal à comprendre l'Ajax. (ça serai l'age? )

    N'y a t'il pas un autre moyen?

    Au sinon, je vais continuer dans ce sens en essayant a tâtons.

    Merci.

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Si je comprends bien tu veux créer une session sans recharger la page ...

    tu pourrais passer par une popup ou un iframe caché qui soumettrais automatiquement un formulaire ...

    mais ajax n'est pas si compliqué que ça une fois l'instance crée il suffit d'appeler une page php ...
    c'est ta page php qui créerait la session

  7. #7
    Membre habitué Avatar de mimagyc
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 151
    Points
    151
    Par défaut
    En fait la session est déja crée, mais je voudrait modifier le contenue,

    Le principe est en fait que je permet a l'utilisateur de cacher ou bien d'afficher des "volet" sur un site web.

    je le fait en modifiant le style de la balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <div style="display:">le volet</div>
    .
    Donc je place un none ou rien du tout .

    Mais a chaque rechargement de la page, les volet se réaffiche, et je voudrait en fait que les volet s'affiche ou se masque que lorsque l'utilisateur clic dessus meme apres un rechargement de la page.

    Donc je me suis di que j'allai stocké cette donné dans une variable de session.


    le site en essai :

    http://kiscool.power-heberg.com/site...p?page=acceuil

    Merci.

  8. #8
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    alors ça relève plutot de php !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div style="display:<?php echo ((isset($_SESSION['visible']))'block':none');?">le volet</div>

  9. #9
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    alors ça relève plutot de php !!
    +1
    J'ajouterai qu'il est intéressant de creuser avec session_write_close(); car j'ai super galéré pour ma part.

    Sur ta page principale, quand tu ne touches plus aux sessions, tu fais un session_write_close(); même si ta page va appeler 1 seconde plus tard via la méthode XmlHttpRequest une autre page php et mettre à jour les valeurs de tes variables de session.

    Sinon tu risques de voir tes variables de sessions inchangées.

  10. #10
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    effectivement si tu veux pas recharger ta page php à chaque fois que tu swap le volet tu devras passer par ajax ou en 'vieu' remote scripting, ci-dessous un exemple, c'est pas forcément plus simple qu'en Ajax (enfin un peu quand même) :


    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    session_start();
    ?>
    <html>
    <head>
    <script>
    <?php
    if(!isset($_SESSION['disp']))   {
            $_SESSION['disp'] = false;
    }
    ?>
     
    function rs()	{
    	document.getElementById("iframe").src = "remote.php";
    }
    </script>
    </head>
    <body>
    <input type="button" value="swap" onclick="rs()">
    <iframe id="iframe" style="display: none"></iframe>
    </body>
    </html>

    remote.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    $_SESSION['disp'] = !$_SESSION['disp'];         
    ?>
    Ta fonction clicVolet() ne semble pas marcher sous FF à moins que ce ne soit pas la même en ce moment sur ton site. D'autre part les tests de navigateur me semblent inutiles et le lien aussi, a priori tu peux mettre directement l'appel dans le onClick du div :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="conteneurvolet" align="right" style="" onclick="clicVolet(this)">

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function clicVolet(obj) {
    if (obj.style.display == "none"){
        // Cas ou le tableau est caché
        obj.style.display = "block";
      } else {
        // On le cache
        obj.style.display = "none";
       }
    }

  11. #11
    Membre habitué Avatar de mimagyc
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 151
    Points
    151
    Par défaut
    Merci pour vos réponse.

    alors ça relève plutot de php !!


    Code :

    <div style="display:<?php echo ((isset($_SESSION['visible']))'block':none');?">le volet</div>__________________
    Ca revien a mon premier post non?
    Si non , pourrais tu m'espliquer ce que fait ce code ?le procédure.

    Parce que a ma facon (1 post) la session ne se met pas à jour.
    si la session est égale a 1, et que je reclique sur le volet, elle reste à 1.

    (ci-joint mon fichier index.php, j'ai dégager certaine petite chose qui ne vous aurait servit à rien.)


    PS : précision, le volet est toujours afficher lorsque l'on arrive sur le site pour la 1ere fois, et c'est normalent , ensuite si la personne ne veut plus le voir durant ca navigation sur le site entier, il a juste a cliquer une fois pour qu'il se cache durant toute la visite, et non a cliquer dessus a chaque chargement de la page pour le cacher .
    (je voulai etre sur de bien me faire comprendre ^^ )

    Merci.
    Fichiers attachés Fichiers attachés

  12. #12
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    En rapport avec un autre post que je viens de lire le plus simple serait de stocker ta valeur dans un cookie crée en JS.

Discussions similaires

  1. code PHP d'une création de session
    Par caesar_tunisie dans le forum Langage
    Réponses: 1
    Dernier message: 30/05/2008, 21h35
  2. [Cookies] Erreur lors de la création de Session ..
    Par Klimium dans le forum Langage
    Réponses: 6
    Dernier message: 07/10/2006, 15h40
  3. [HS] Création une session de consignation
    Par sapars dans le forum Sybase
    Réponses: 3
    Dernier message: 06/01/2006, 09h34
  4. [Sessions] Message erreur PHP création de session
    Par Ylias dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2005, 11h11
  5. [C#] Créations de sessions
    Par en_gel_ho dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/04/2005, 10h06

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