Partage
  • Partager sur Facebook
  • Partager sur Twitter

Actualisation d'une page PHP

Possible ?

    31 octobre 2008 à 16:20:13

    Bonjour à tous !
    J'ai créer une page web en php (elle marche assez bien), mais j'aimerais savoir si en ajoutant du javascript(sans modifier le php déjà en place) je pourrait faire actualiser un page a tout les secondes et une autre a tout les 10 secondes (Ces deux pages sont inclus dans ma page principale) Je e suis fait dire que ça ne se faisait pas en php mais que s'était possible en js.

    Merci d'avance a tous ceux qui voudrons bien m'aider ;):D !
    P.S. J'ai une base en js, mais je suis vraiment débutant! ^^
    • Partager sur Facebook
    • Partager sur Twitter
      31 octobre 2008 à 16:29:48

      Oui bien sur c'est possible

      il te suffit de rajouter ce script dans ta page :

      function maFonction() {
      	
        location.reload(true)
      		
        }
      
        time = 2000;
        setTimeout('maFonction();', time);
      


      la variable time étant le nombre de milliseconde séparant chaque rafraichissement !!

      Voila, j'espère t'avoir aidé !!
      • Partager sur Facebook
      • Partager sur Twitter
        31 octobre 2008 à 16:55:07

        pour le rechargement temporisé avec des temporisations différentes, penche-toi plutôt vers AJAX... Thunderseb a fait un très bon tuto là-dessus...
        • Partager sur Facebook
        • Partager sur Twitter
        Koinko.in, le raccourcisseur d'URL qu'il est bien - Zingwai vaincra.
          31 octobre 2008 à 17:22:43

          Merci de vos reponses !

          houston29 ==> J'ai implanté to code dans ma page web et rien ne se passe (j'ai changer time pour 1000 (1 seconde)) merci quand même !

          linkboss ==> Ça fait plusieurs fois que je me le fait dire, mais je n'ai pas le niveau pour comprendre tout ce qui se dit dans ce tuto... j'ai même essayer de faire quelque chose en ajax et ça a donner un paquet de problèmes que je n'ai su résoudre... Si tu aurai un exemple de ajax qui reload une page a chaque secondes ce serait grandement apprécié ! Merci à toi aussi !
          • Partager sur Facebook
          • Partager sur Twitter
            31 octobre 2008 à 18:27:01

            Voila ce que je peux te proposé
            je l'utilise pour les meme besoin que toi et sa fonctione tres bien ;)

            le Javascript :
            URL = "La_Page_a_Recharger";
            var xhr=null;
            function rafraichir() {
                    if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
                    else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
                    else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
            
                    xhr.open('GET',URL,true);
                    xhr.onreadystatechange = ajaxReponse;
                    xhr.send(null);
            }
            
            function ajaxReponse() {
                    if (xhr.readyState == 4) {
                            document.getElementById("Id_Div",true).innerHTML=xhr.responseText;
                            var timer=setTimeout("rafraichir()",10000);
                    }
            }
            rafraichir();
            

            Le Html :
            <div id="Id_Div"></div>
            


            tous ceci ce trouve bien sur dans la meme page ;)

            petit explication :
            mettre la page dans la variable " URL "
            javascript va appeler la page a rafraichir ( ici toute les 10 sec );
            et l'afficher dans la div ( ici Id_Div );

            si tu desire modifier le temp de rafraichissement , te reste a le modifier dans
            var timer=setTimeout("rafraichir()",10000);
            sachant que 1 sec = 1000; ( milliseconde).
            • Partager sur Facebook
            • Partager sur Twitter
              3 novembre 2008 à 17:06:02

              Rebonjour !

              angelus76 ==> j'ai inséré ton script dans mon code ... mais rien ne semble changer :euh:

              Personne n'a une idée plus simple ; une fonction déjà fait par javascript ou quelque chose dans le genre...
              • Partager sur Facebook
              • Partager sur Twitter
                3 novembre 2008 à 23:06:12

                je pourrais voir la source de ta page ?

                parce que comme je l'aos dit je n'ais jamais eu de probleme avec.
                • Partager sur Facebook
                • Partager sur Twitter
                  3 novembre 2008 à 23:33:42

                  Utilise la console d'erreurs JS de firefox et dit nous quelles erreurs il te renvoie. Sinon installe firebug ( encore mieux ), et normalement il te pointe précisément l'endroit où ça plante.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 novembre 2008 à 23:50:19

                    Le truc, ce serait d'avoir un div à identifiant unique pour recevoir les données des pages à "actualiser" ; puis, avec un timer, faire une requete AJaX pour actualiser le contenu de ce même div toutes les X s / ms...
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Mon profil Github - Zeste de Savoir, pour la beauté du zeste
                      3 novembre 2008 à 23:58:31

                      Talus , tu as reguarder la source que j'ais proposé ?
                      parce que c'est exactement ce que sa produit.

                      un rafraichissement toutte les x sec d'une page appeller par xlmhttprequest()
                      et afficher dans une Div precise.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 novembre 2008 à 11:43:10

                        L'idée est là, mais faut creuser un peu plus :). Déjà, faire une fonction à part entière pour la réponse AJaX, bof. De plus, mettre le timer DANS cette fonction, bof aussi... Autant le mettre dans la fonction rafraichir. Et aussi, il me semble qu'il souhaite faire DEUX rafrachissements sur des timers DIFFERENTS... Donc, le truc à faire, c'est sur la fonction rafraichir(), indiquer 3 arguments : l'url à actualiser, le temps à utiliser pour le timer, et enfin le div à actualiser.

                        Donc plus un truc du genre :

                        function reload(idDiv, url, time){
                            getXHR(); // Récupération de l'objet XHR, voir les méthodes, flemme de le faire
                            
                            xhr.onreadystatechange = function(){
                                document.getElementById(idDiv).innerHTML = xhr.responseText;
                            }
                            
                            xhr.open("GET", url, true);
                            xhr.send(null);
                        
                            window.setTimeout('reload(\'' + idDiv + '\',\'' + url + '\',' + time + ')', time);
                        }
                        


                        Ou un truc du genre...

                        PS > Pour la récupération de l'objet XHR... FAire une alert() si il n'existe pas, non malheureux, ca gène plus la navigation qu'autre chose ! Si le type n'a pas XHR, faut prévoir le coup, ou même... Ne rien faire du tout !
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Mon profil Github - Zeste de Savoir, pour la beauté du zeste
                          4 novembre 2008 à 19:47:01

                          Voici mes sources : (c'est un peut le bordel désolé :euh: )

                          chat.php


                          <?php
                          
                                  //connection a MYSQL
                                  
                           mysql_connect('','','');
                           mysql_select_db('');
                           
                          
                                  //si les variables $_POST['pseudo'] et $_POST['password'] ne sont pas vides
                                  
                          
                          if (isset($_POST['pseudo'])  AND isset($_POST['password']))
                          {
                          
                                  //on va chercher le mot de passe correspondant au pseudo entré
                                  
                          
                           $pseudo = addslashes($_POST['pseudo']);
                           $rep=mysql_query("SELECT * FROM connection WHERE pseudo='$pseudo'");
                           $connection=mysql_fetch_array($rep);
                           
                          
                                                                      //si les variables $_POST['pseudo'] et $_POST['password'] ne vallent pas NULL (rien)
                          
                                                                      
                                                               if($_POST['pseudo'] != NULL  AND $_POST['password'] != NULL)
                                                               {
                                                               
                                                                     //si la variable $_POST['password'] correspond à la valeur du mot de passe du pseudo entré
                                                                     
                           
                                                                                                         if ($connection['pseudo']==$_POST['pseudo'] AND $connection['password']==$_POST['password'] AND $_POST['pseudo'] != NULL  AND $_POST['password'] != NULL)
                                                                                                         {
                                                               
                                                                                                         //on affiche la page de chat (connection réussis)
                                                               
                                                                                                         ?>
                                                                                                         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                                                                                         <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
                                                                                                         <head>
                                                                                                         <title>Revolution Chat</title>
                                                                                                         <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
                                                                                                         <link rel="stylesheet" media="screen" type="text/css" title="Css" href="style.css" />
                                                               
                                                                                                         <?php
                                                               
                                                                                                         //on inclus la page sriptjs.php, ou ce trouvent les fonctions javascript à déclarer
                                                               
                                                                                                          include("scriptjs.php") 
                                                                                                          ?>
                                                               
                                                                                                          </head>
                                                                                                          <body>
                                                               
                                                                                                          <!-- pub --> 
                                                               
                                                                                                          <div class="pub">
                                                                                                          <a href="http://www.000webhost.com/" onClick="this.href='http://www.000webhost.com/80160.html'" target="_blank"><img src="http://www.000webhost.com/images/banners/728x90/banner5.gif" alt="Free Web Hosting with Website Builder" width="728" height="90" border="0" /></a>
                                                                                                          </div>
                                                                                                          <br/><br/>
                                                                                                          <?php
                                                               
                                                                                                          //on inclus date.php qui affiche la date et l'heure
                                                               
                                                                                                          include('date.php');
                                                                                                          ?>
                                                               
                                                                                                          <!-- Boutton Déconnection -->
                                                               
                                                                                                          <br/><div class="deconnection">
                                                                                                          <form method="POST" action="chat.php">
                                                                                                          <input type="hidden" name="pseudo" value=""/>
                                                                                                          <input type="submit" value="Déconnection"/>
                                                                                                          </form>
                                                                                                          </div>
                                                               
                                                                                                          <!-- si le message n'égale pas 'NULL', enregistrement du message dans la base de données -->
                                                               
                                                                                                          <?php
                                                                                                                     if($_POST['message'] != NULL)
                                                                                                                     {
                                                                                                                     $anti_actu_defaut2 = mysql_query("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,1");
                                                                                                                     $anti_actu_defaut = addslashes($anti_actu_defaut2);
                                                                                                                     
                                                                                                                                       if($_POST['message'] != $anti_actu_defaut)
                                                                                                                                       {
                                                                                                                                       $message=nl2br($_POST['message']);
                                                                                                                                       $msg=addslashes($message);
                                                                                                                                       $pseudo=addslashes($_POST['pseudo']);
                                                                                                                                       mysql_query("INSERT INTO chat VALUES('', '" . $pseudo . "', '" . $msg . "')")or die(mysql_error());
                                                                                                                                       $_POST['message'] = NULL;
                                                                                                                                       }
                                                                                                                     }
                                                                                                                     else
                                                                                                                     {
                                                                                                                     }
                                                                                                          ?>
                                                               
                                                                                                          <!-- inclusion de la page de chat (chat2.php) -->
                                                               
                                                                                                          <div id="chat2.php">
                                                                                                          <?php
                                                                                                                                                     
                                                                                                          //on inclus la page chat2.php qui affiche les 100 dernier messages enregistrés dans la basse de données
                                                               
                                                                                                          include("chat2.php");
                                                                                                          ?>
                                                                                                          </div>
                                                               
                                                                                                          <!--  saisi du message, du pseudo et du mot de passe + boutton envoi -->
                                                               
                                                                                                          <div class="message">
                                                                                                          <form method="POST" action="chat.php">
                                                                                                          <input type="hidden" name="pseudo" value="<?php echo $_POST["pseudo"];?>"/>
                                                                                                          <input type="hidden" name="password" value="<?php echo $_POST["password"];?>"/>
                                                                                                          <textarea name="message" cols=85 rows=3.5></textarea><input type="submit" value="Envoi"/>
                                                                                                          </form>
                                                                                                          </div>
                                                                                                          <?php 
                                                               
                                                                                                          //on inclus compteur.php qui compte le nombre de personnes connectées
                                                               
                                                                                                          include("compteur.php"); 
                                                                                                          ?>
                                                                                                          </body>
                                                                                                          </html>
                                                                                                          <?php
                                                               
                                                                                                          //FIN DE LA PAGE (connection réussis)
                                                               
                                                                                                          }
                                                               //---------------------------------------------------------------------------------------------------------------------------------------
                                                                                                    
                                                                                                    //si la variable $_POST['password'] ne correspond pas à la valeur du mot de passe du pseudo entré
                                                               
                                                                                                    else
                                                                                                    {
                                                                                                    ?>
                                                               
                                                                                                    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                                                                                    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
                                                                                                    <head>
                                                                                                    <title>Revolution Chat</title>
                                                                                                    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
                                                                                                    <link rel="stylesheet" media="screen" type="text/css" title="Css" href="style.css" />
                                                                                                                                         
                                                                                                    <?php 
                                                               
                                                                                                    //on inclus la page sriptjs.php, ou ce trouvent les fonctions javascript à déclarer
                                                               
                                                                                                    include("scriptjs.php") 
                                                                                                    ?>
                                                               
                                                                                                    </head>
                                                                                                    <body>
                                                               
                                                                                                    <!-- pub -->
                                                               
                                                                                                    <div class="pub">
                                                                                                    <a href="http://www.000webhost.com/"onClick="this.href=(http://www.000webhost.com/80160.html)" target="_blank"><img src="http://www.000webhost.com/images/banners/728x90/banner5.gif" alt="Free Web Hosting with Website Builder" width="728" height="90" border="0" /></a>
                                                                                                    </div><br/><br/>
                                                                                                    
                                                                                                    <?php
                                                               
                                                                                                    //on inclus date.php qui affiche la date et l'heure
                                                               
                                                                                                    include("date.php");
                                                                                                    ?>
                                                               
                                                                                                    <!-- On dit a l'utilisateur qu'il n'a pas le bon mot de passe -->
                                                               
                                                                                                    <h1>Connection</h1><br/>
                                                                                                    <h3>Erreur : le pseudo et le mot de passe entré ne sont pas correspondants.</h3><br/>
                                                                                                    <div class="connection">
                                                                                                    <form action="chat.php" method="POST">
                                                                                                    <p>Pseudo : <input type="text" name="pseudo"/>  Password : <input type="password" name="password"/></p><br/>
                                                                                                    <p><input type="submit" value="Connection"/></p>
                                                                                                    </form></div>
                                                               
                                                                                                    <p><a href="inscription.php">Inscription !</a></p>
                                                               
                                                                                                    <?php 
                                                               
                                                                                                    //on affiche le nombre de personnes actuellement connectées 
                                                               
                                                                                                    include("compteur_afficheur.php"); 
                                                                                                    ?>
                                                                                                    </body>
                                                                                                    </html>
                                                                                                    <?php
                                                               
                                                                                                    //FIN DE LA PAGE
                                                               
                                                                                                    }
                                                               
                                                        //----------------------------------------------------------------------------------------------------------------------                                            
                                                               //si les variables $_POST['pseudo'] et $_POST['password'] vallent NULL (rien)
                                                                 
                                                                 }
                                                                 else
                                                                 {
                                                                 ?>
                                                               <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                                               <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
                                                               <head>
                                                               <title>Revolution Chat</title>
                                                               <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
                                                               <link rel="stylesheet" media="screen" type="text/css" title="Css" href="style.css" />
                                                               
                                                               <?php 
                                                               
                                                               //on inclus la page sriptjs.php, ou ce trouvent les fonctions javascript à déclarer
                                                               
                                                               include("scriptjs.php") 
                                                               ?>
                                                               
                                                               </head>
                                                               <body>
                                                            
                                                               <div class="pub">
                                                               <a href="http://www.000webhost.com/" onClick="this.href=(http://www.000webhost.com/80160.html)" target="_blank"><img src="http://www.000webhost.com/images/banners/728x90/banner5.gif" alt="Free Web Hosting with Website Builder" width="728" height="90" border="0" /></a>
                                                               </div><br/><br/>
                                                                  
                                                               <?php
                                                               
                                                               //on inclus date.php qui affiche la date et l'heure
                                                               
                                                               include("date.php");
                                                               ?>
                                                               
                                                               <!-- on lui redemande d'entrer le pseudo et le mot de passe -->
                                                               
                                                               <h1>Connection</h1><br/>
                                                               <h3>Erreur : Veuillez entrer votre pseudo ET votre mot de passe.</h3><br/>
                                                               <div class="connection">
                                                               <form action="chat.php" method="POST">
                                                               <p>Pseudo : <input type="text" name="pseudo"/>  Password : <input type="password" name="password"/></p><br/>
                                                               <p><input type="submit" value="Connection"/></p>
                                                               </form></div>
                                                               
                                                               <p><a href="inscription.php">Inscription !</a></p>
                                                               
                                                               <?php 
                                                               
                                                               //on affiche le nombre de personnes actuellement connectées
                                                               
                                                               include("compteur_afficheur.php"); 
                                                               ?>
                                                               </body>
                                                               </html>
                                                               <?php
                                                               
                                                               //FIN DE LA PAGE
                                                               
                                                               }
                                                               
                           
                                               //-----------------------------------------------------------------------------------------------------------------------------------------------
                            
                            //si les variables $_POST['pseudo'] et $_POST['password'] sont vides             
                           
                           }
                           else
                           {
                           ?>
                                                               
                           <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                           <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
                           <head>
                           <title>Revolution Chat</title>
                           <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
                           <link rel="stylesheet" media="screen" type="text/css" title="Css" href="style.css" />
                           
                           <?php 
                           
                           //on inclus la page sriptjs.php, ou ce trouvent les fonctions javascript à déclarer
                           
                           include("scriptjs.php") 
                           ?>
                           
                           </head>
                           <body>
                                                               
                            <div class="pub"><a href="http://www.000webhost.com/" onClick="this.href=(http://www.000webhost.com/80160.html)" target="_blank"><img src="http://www.000webhost.com/images/banners/728x90/banner5.gif" alt="Free Web Hosting with Website Builder" width="728" height="90" border="0" /></a></div><br/><br/>
                            <?php 
                            
                            //on inclus date.php qui affiche la date et l'heure
                            
                            include("date.php"); 
                            ?>
                           
                           <!-- On charge la page de connection -->
                                                           
                           <h1>Connection</h1><br/>
                           <div class="connection">
                           <form action="chat.php" method="POST">
                           <p>Pseudo : <input type="text" name="pseudo"/>  Password : <input type="password" name="password"/></p><br/>
                           <p><input type="submit" value="Connection"/></p>
                           </form></div>
                           
                           <p><a href="inscription.php">Inscription !</a></p>
                           
                           <?php 
                           
                           //on affiche le nombre de personnes actuellement connectées
                           
                           include("compteur_afficheur.php"); 
                           ?>                              
                           </body>
                           </html>
                           <?php
                           
                           //FIN DE LA PAGE
                           
                           }
                           
                           //Fermeture de MYSQL
                           
                           mysql_close();
                           ?>
                          


                          chat2.php


                          <div class="affichage">
                          <?php
                          $reponse = mysql_query("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,100");
                           
                          // Puis on fait une boucle pour afficher tous les résultats :
                          while ($donnees = mysql_fetch_array($reponse) )
                          {
                          ?>
                           
                          <p><strong><?php echo stripslashes($donnees['pseudo']); ?> dit:</strong><br/> <?php echo stripslashes($donnees['message']); ?></p>
                          
                          <?php
                          }
                          ?>
                          </div>
                          


                          compteur.php


                          <div class="compteur">
                          <?php
                          $ip = $_SERVER['REMOTE_ADDR'];
                          $ts = time ();
                          $comts = time() - 300;
                          $rep=mysql_query("SELECT * FROM connectes WHERE ip='$ip'");
                          $connectes=mysql_fetch_array($rep);
                          
                                                             if($ip != $connectes['ip'])
                                                             {
                                                             mysql_query("INSERT INTO connectes VALUES('" . $ip . "', '" . $ts . "')")or die(mysql_error());
                                                             }
                                                             if($ip == $connectes['ip'])
                                                             {
                                                             mysql_query("UPDATE connectes SET timestamp='" . $ts . "' WHERE ip='" . $ip . "' ")or die(mysql_error());
                                                             }
                                                             else
                                                             {}
                          mysql_query('DELETE FROM connectes WHERE timestamp < ' . $comts);
                          $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM connectes")or die(mysql_error());
                          $nb = mysql_fetch_array($retour);
                              if($nb['nbre_entrees'] > 1)
                              {
                              echo '<p>' . $nb['nbre_entrees'] . ' personnes connectées!</p>';
                              }
                              if($nb['nbre_entrees'] == 1)
                              {
                              echo '<p>' . $nb['nbre_entrees'] . ' personne connectée!</p>';
                              }
                              else
                              {
                              }
                          ?>
                          </div>
                          


                          date.php


                          <div id="date_heure">
                          <?php
                               $heure=date('H');
                               $min=date('i');
                               $jour=date('d');
                                   $num_mois = date('n');
                                   $numero_mois=$num_mois -1 ;
                              $mois = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
                              $moiss = $mois[$numero_mois];
                              
                              // Puis on affiche le résultat
                              echo '<p>' . $heure . ':' . $min . '<br/>' . $jour . ' ' . $moiss . '</p>';
                          ?>
                          </div>
                          

                          Je voudrais que chat2.php, date.php et compteur.php (notez que compteur_afficheur.php et identique à compteur.php sauf qu'il ne fait que lire la bdd, il n'y écrit pas) recharge à tout les secondes
                          Et pour l'instant, scriptjs.php est vide (c'est la que je vais mettre mes fonctions a déclarer dans le head ;) )
                          Encore désolé pour le désordre ... je vais y travailler !
                          Merci encore :D
                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 novembre 2008 à 13:45:31

                            Personne ne peut donc m'aider ?

                            :euh::(
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Actualisation d'une page PHP

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown