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

Bibliothèques & Frameworks Discussion :

PeriodicalUpdater qui s’arrête au rechargement de la page


Sujet :

Bibliothèques & Frameworks

  1. #1
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut PeriodicalUpdater qui s’arrête au rechargement de la page
    Bonjour,

    J'ai fait un chat simple avec PeriodicalUpdater qui met à jour une DIV.
    Un petit champs texte en dessous pour mettre sa phrase.

    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
    <div id="chat_general">
      </div>
      <div id="text_chat">
      <form method="post" target="_self">
      <input type="text" name="text_in" id="text_in" size="20"  onfocus="javascript:this.value='';">
      <input type="submit" onclick="envoyer_text_chat('user'); return false;" name="valid_text_in" id="valid_text_in" value="OK">
      </form>
      </div>
    <script language="text/javascript">
      new Ajax.PeriodicalUpdater('chat_general', 'chat/maj_chat.php', 
      {
        method: 'get',
        frequency: 1,
        insertion: Insertion.Top
        });
      </script>
    Ce chat ne s'active que lorsque l'utilisateur est connecté. Petite précision, c'est une connexion utilisateur utilisant AJAX aussi.
    Jusque la tout va bien, lorsque l'on se connecte, le chat fonctionne correctement.

    Mais lorsque l'on recharge la page (ce qui pourrait arrivé), PeriodicalUpdater ne fonctionne plus. la div du chat ne se recharge pas.
    L'envoi du texte fonctionne tres bien, par contre.

    Quelqu'un a déjà rencontré ce type de problème ?
    Est-ce que j'utilise correctement periodicalupdater ?
    Qui est arrivé avant l'oeuf ou la poule ?
    Est-ce que Dieu existe, ou bien est-ce une sublimation de l'esprit pour nous rassurer du néant qui nous entoure ?

    D'avance merci

    PS : lorsque mon utilisateur se connecte, j'utilise une simple commande AJAX qui appel le fichier que j'ai écrit au dessus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function appel_chat()
    {
    	new Ajax.Updater(
    			'general_chat',
    			'chat/chat.php',
    			{
    				evalScripts: true
    			}
    			)
    }
    RE PS : la div "general_chat" est le conteneur de la div "chat_general"

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Bonjour,
    Citation Envoyé par casoars Voir le message
    Mais lorsque l'on recharge la page (ce qui pourrait arrivé), PeriodicalUpdater ne fonctionne plus. la div du chat ne se recharge pas.
    Tu vois quand même les appels AJAX passer dans ta console ?

    Tu n'aurais pas un souci lié au fait que tu es déjà connecté ?
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  3. #3
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Non, hélas.
    Lorsque la page est rechargée, la console indique une inactivité consternante...

    Et j'ai essayé aussi en le mettant accessible hors connexion, mais cela donne le même résultat.

    En fait, ca donne l'impression que le chat ne fonctionne correctement que lorsqu'il est appelé par la fonction "appel_chat()".

  4. #4
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Citation Envoyé par casoars Voir le message
    En fait, ca donne l'impression que le chat ne fonctionne correctement que lorsqu'il est appelé par la fonction "appel_chat()".
    Etant donné que la fonction appel_chat utilise un Updater sur general_chat (la div conteneur de chat_general), n'est-ce pas le résultat de cet Updater (l'appel à chat/chat.php) qui dessine ce qui est nécessaire en terme de HTML et/ou javascript pour démarrer le PeriodicalUpdater ?
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  5. #5
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Oui, je vois ce que tu veux dire. j'ai peut-être oublié de dire que chat.php contient le DOM du chat et le script periodicalupdater (le 1er code que j'affiche dans ce topic).

    Sauf que lorsque j'arrive sur mon site pour la première fois, j'appelle chat/chat.php avec un simple "include" en PHP.
    Je met mon fichier chat.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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    if (isset($_SESSION['connect']) and $_SESSION['connect'] == 'ok')
    {
      $user = $_SESSION['login'];
      echo '<div id="chat_general">
      </div>
      <div id="text_chat">
      <form method="post" target="_self">
      <input type="text" name="text_in" id="text_in" size="20" onfocus="javascript:this.value=\'\';">
      <input type="submit" onclick="envoyer_text_chat(\''.$user.'\'); return false;" name="valid_text_in" id="valid_text_in" value="OK">
      </form>
      </div><script language="text/javascript">
      new Ajax.PeriodicalUpdater(\'chat_general\', \'chat/maj_chat.php\', 
      {
        method: \'get\',
        frequency: 1,
        insertion: Insertion.Top
        });
      </script>';
      echo '';
      if (isset($_GET['valid_text_in']) and $_GET['valid_text_in'] == 'ok')
      {
        $date = date('Y-m-d H:i:s');
        $message = $_GET['text_in'];
        $user = $_SESSION['login'];
        if (empty($message))
        {}
        else
        {
        $sql = 'INSERT INTO chat (id,user,message,date) VALUE (NULL,\''.$user.'\',\''.$message.'\',\''.$date.'\')';
      	$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
      	}
      }
      else
      {}
    }
    else
    {}
    Bien sur, mon fichier chat.php controle si l'utilisateur est connecté.

    Donc le DOM du chat dans mon index.php :
    Quand l'utilisateur est déconnecté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="general_chat"></div>
    Quand l'utilisateur est connecté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div id="general_chat">
    <div id="chat_general"></div>
    <div id="text_chat">
    <form method="post" target="_self">
    <input type="text" name="text_in" id="text_in" size="20" onfocus="javascript:this.value='';">
    <input type="submit" onclick="envoyer_text_chat('casoars'); return false;" name="valid_text_in" id="valid_text_in" value="OK">
    </form>
    </div>
    Quand l'utilisateur est connecté et qu'il recharge la page :
    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
    <div id="general_chat">
    <div id="chat_general"></div>
    <div id="text_chat">
    <form method="post" target="_self">
    <input type="text" name="text_in" id="text_in" size="20" onfocus="javascript:this.value='';">
    <input type="submit" onclick="envoyer_text_chat('casoars'); return false;" name="valid_text_in" id="valid_text_in" value="OK">
    </form>
    </div>
    <script language="text/javascript">
      new Ajax.PeriodicalUpdater('chat_general', 'chat/maj_chat.php', 
      {
        method: 'get',
        frequency: 1,
        insertion: Insertion.Top
        });
    </script>
    </div>
    Je vois toujours pas pourquoi, mon script PeriodicalUpdater ne fait pas son taf lors du rechargement... c'est vrai, quoi ?! qui s'est qui paye ?

    Crois-tu qu'il (le script periodicalupdater) pourrait ne plus fonctionné s'il est appelé 2 fois ?

Discussions similaires

  1. [SQL] une requête qui ne s'arrête pas ou si loin
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/10/2006, 14h36
  2. Lancer une tâche planifiée qui ne s'arrête pas
    Par bart64 dans le forum Windows Serveur
    Réponses: 12
    Dernier message: 02/10/2006, 19h33
  3. [FLASH MX2004] Clip qui ne s'arrête pas
    Par romain starck dans le forum ActionScript 1 & ActionScript 2
    Réponses: 8
    Dernier message: 10/05/2006, 19h43
  4. pc qui ne s'arrête plus
    Par Blo0d4x3 dans le forum Windows Serveur
    Réponses: 18
    Dernier message: 05/05/2006, 11h11
  5. [VBA-E]une boucle qui ne s'arrète pas
    Par vivelesgnous dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/02/2006, 18h05

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