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

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    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!
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    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);
    }
    ?>
    C'est curieux chez les marins ce besoin de faire des phrases !

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    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
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  4. #4
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    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'];
    }
    C'est curieux chez les marins ce besoin de faire des phrases !

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    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.)
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    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.
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  7. #7
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Il n'y a pas de listener dans mon code, en fait la fenêtre principale est statique, et l'action de "rafraichissement" va être déclenchée par une action faite par le client sur la popup (donc côté client) et non pas côté serveur.
    C'est donc la popup qui va informer la fenêtre principale que le client est identifié.
    C'est curieux chez les marins ce besoin de faire des phrases !

  8. #8
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    d'accord,
    je vais essayé.

    Encore une question. Par rapporta ton code si la page index.ph a des varaiable dans le browser?

    --> index.php?po=we | index.php?we=3 |index.php?er=43&&w=654&n=0

    En fait j'y pens, quel est la difference entre & et && ci-dessus?
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

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