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

Langage PHP Discussion :

Y a-t-il un "listener" en PHP (écouter un état) ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut Y a-t-il un "listener" en PHP (écouter un état) ?
    Bonjour,

    J'aimerai savoir s'il y a un posibilité "d'écouter" la valeur d'un variable de session.

    En deux mot. J'aimerai qu'une la variable de session est passé à 1, la page soir raffréchi

    Mon applique est la suivante.

    -je clique sur un lien.
    -il ouvre un petite fentre pour entré mot de passe et unsername.
    - il compare avec la base de donnée
    - si OK, une variable de session est mis à un.

    A ce moment la j'aimerai que la page principale soir raffrechi pour que s'affiche le nom de l'utilisateur loggé?

    Le nom d'utilisateur est stoké dans un autre varaiable de session.

    TOUT fonctionne sauf que je n'arive pas a rafréchir ma page au moment ou il s'est loggé ...

    Merci pour votre précieuse aide!

  2. #2
    Membre éclairé Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par défaut
    C'est pas du javascript, ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?
    if($_SESSION['name']==1){//client identifié -> logué
    //traitement php...
    ?>
    <script>window.opener.location.reload(); self.close()</script>
    <?
    exit(0);
    }
    ?>

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    merci, mais je be suis pas sure que ca marcrhera car

    apres avoir cliqué sur "log on",

    une autre petitte fenetre s'ouvre, mais la pricipale, o y la page d'accoueil reste ouvert.

    La petite fenetre sert uniquement au logon et se referme des que l'utilisateur a ete correctement identifié

    Si, positif, c'est a ce moment la que j'aimerai que ma page d'acceuil, ou n'importe quel autre page du site soit r'afréchi, pour que le nom de la personne loggé soit affiché. par exemple: "Bienvenue M. Tintin"


    Ton script, il est exécuté qu'une fois? non?

    Il faudrait que depuis le moment ou on a cliqué sur "Logon", une petit script écoute la variable de session $_SESSION['logged'] soit a 1. Elle se met a 1 une fois l'utilisateur authetifié.

    Des quelle est a 1 il s'arrete et raffréchi la page

    Merci pour ton aide

  4. #4
    Membre éclairé Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par défaut
    Si j'ai bien compris ce que tu veux faire, ça doit marcher:

    ta popup de login a 1 formulaire avec action=$_SERVER['PHP_SELF']
    donc le traitement se fait dans ta popup qui est rappelée quand le client valide ses login & mot de passe.
    Ta popup de login fait le traitement d'identification, et si c'est ok, elle initialise les variables de session et exécute le javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script>window.opener.location.href='accueil.php'; self.close()</script>
    Les variables de session sont initialisées ($_SESSION['logged']=1), et dans ta page d'accueil, tu verras apparaitre "bienvenue M. Tintin"...

    Bien sur dans la page d'accueil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(isset($_SESSION['logged']) && $_SESSION['logged']==1){
    echo "bienvenue M.".$_SESSION['name'];
    }

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    oui oui, et non.

    Ma popup, me sert bien a identifié l'utilisateur. Apres l'identification, la variable de session $_SESSION['logged'] passe à 1.

    Dans l'autre fenetre, la principale, il faudrait un truc qui tourne au maximum 1 minutes, et qui ecoute la $_SESSION['logged']. Et si cette variable passe a 1 elle raffréchi la page et affiche l'utilisateur loggé

    Dans ton code, a moin que je n'ai rein compris, y a rien qui tourne en boucle?
    non?

    Cette boucle doit tourné dans la page principale, page dans le popup (le popup est en fait une petite fenetre avec dimenssion fixe.)

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    oui, dans me fentre login, y un $_SERVER['PHP_SELF'].

    Mais c'est dans le <form action="$_SERVER['PHP_SELF']"></form> du formulaire, qui va rechercher la page pour comparer les donné du formulaire qui a que 2 champs.

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