Rafraichir all client

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Rafraichir all client

Re: Rafraichir all client

par hashut » 28 mai 2010, 17:53

ok fait teste sa demain
as tete repause car la elle vas pete
merci :roll:

Re: Rafraichir all client

par stealth35 » 28 mai 2010, 17:39

ben c'est juste 4 compte rebour avec un bouton pour ajouter du temp
je veut que sa actulise pour que chaque client on le meme temp qui s'affiche

oki, déjà fais des fichier diffèrent,

1 pour récupérer les temps
1 pour créer les temps
1 pour afficher les temps + ton formulaire

ton fichier pour récupéré les temps te retourne uniquement la chaine JSON
ton fichier pour créer va juste faire la requête SQL et l'exécuter

ton fichier pour afficher les temps :
la partie JS qui récupère et affiche les données
la partie JS qui envoie le formulaire

Re: Rafraichir all client

par hashut » 28 mai 2010, 17:33

ben c'est juste 4 compte rebour avec un bouton pour ajouter du temp
je veut que sa actulise pour que chaque client on le meme temp qui s'affiche

Re: Rafraichir all client

par stealth35 » 28 mai 2010, 17:30

la ta tout changer pourquoi y'a des formulaires ?

Re: Rafraichir all client

par hashut » 28 mai 2010, 17:24

slt
bon j'ai fait sa mais tjr blem
cela rafraichir mais il ne recharche pas les donner de la base
qui peut m'aide j'en peut plus de se code
<script language="javascript" type="text/javascript"> 
function refresh_div() { 
    var xhr_object = null; 
    if (window.XMLHttpRequest) { 
        xhr_object = new XMLHttpRequest(); 
    } else if (window.ActiveXObject) { 
        try { 
            xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); 
        } catch(e) { 
        } 
    } else { 
    } 
    var method = 'POST'; 
    var filename = 'rebourOK.php'; 
    xhr_object.open(method, filename, true); 
    xhr_object.onreadystatechange = function() { 
        if(xhr_object.readyState == 4) { 
            var tmp = xhr_object.responseText; 
            document.getElementById('test').innerHTML = tmp; 
               if (tmp == "ok")  {  
        alert("son ok") ;               
          } 
        var timer=setTimeout("refresh_div()",5000); // rafraichie toute les 1sec 
        } 
    } 
    xhr_object.send(null); 
} 
</script>
<div id="test">
<?php
include('../conf/conf.php');
 $db = mysql_connect($serveur, $user, $passw);
 mysql_select_db($bd_base ,$db);
 $sql     = " SELECT id_Objet, h_fin FROM Objet ";
 $req     = mysql_query($sql) or exit(mysql_error());
 $tb    = array();
  while($data = mysql_fetch_object($req))
  {
  	$df=$data->h_fin;
 	$Num=$data->id_Objet;
 	echo"<form method='POST' enctype='multipart/form-data'>";
    printf('<div id="%d"></div>', $data->id_Objet);
    $tb[$data->id_Objet] = strtotime($data->h_fin) * 1000;
    echo"<input type='hidden' name='Num' value='$Num'>";
    
    echo'</form>';



  }
?>

 <script type="text/javascript">

  var date_fin = <?php echo json_encode($tb) ?>;
  var date  = <?php echo time() * 1000 ?>;
  var timer = function()
  {       
    for(var i in date_fin)
    {
      if(date_fin.hasOwnProperty(i))
      {
        var div  = document.getElementById(i);
        var diff = date_fin[i] - date;
  
        if(diff > 0)
        {
          var down = new Date(diff);
          var days = Math.floor(diff / 86400000);
		  div.innerHTML =days+ ' days ' +down.getUTCHours()+ ' hours ' +down.getMinutes() + ' minutes ' +down.getSeconds()+ 'seconds<BR><BR><? echo"<input type=submit name=ajouplus value=Ajouter>"; ?>';
        }
          else
        {
          delete date_fin[i];
          div.innerHTML = 'Termin&eacute;';
        }
      }     
    }
    date += 1000;
    window.setTimeout(timer, 1000);
  };
  window.setTimeout(timer, 1000);
</script>

<BODY onLoad="refresh_div();">

<?
if(isset($ajouplus)){

$Num=$_POST['Num'];
 $sql     = " SELECT  h_fin FROM Objet where id_Objet='$Num'  ";
 $req     = mysql_query($sql) or exit(mysql_error());
while($datas = mysql_fetch_array($req)) 
{ 
echo"$num";
$h_fin= $datas['h_fin'];

$getimes=strtotime($h_fin);
$temp=$getimes+10;
$temps=date('Y-m-d H:i:s',$temp);

mysql_select_db($bd_base, $db);
$sql2 = "UPDATE Objet SET  h_fin='$temps' WHERE id_Objet='$Num'";
mysql_query($sql2) or die('Erreur SQL !'.$sql2.''.mysql_error());

	
}
}
?>
</div>



Re: Rafraichir all client

par stealth35 » 25 mai 2010, 11:22

je peut pas faire en sorte que tous les client on le meme compteur ?
si la page s'actualise elle actualise les compteur aussi non ?
l'actualisation se fera coté client, tout les 5 secondes par exemple, et ca sera chez tout le monde pareil a 5 secondes prêt

Re: Rafraichir all client

par hashut » 25 mai 2010, 11:21

je peut pas faire en sorte que tous les client on le meme compteur ?
si la page s'actualise elle actualise les compteur aussi non ?

Re: Rafraichir all client

par Berzemus » 25 mai 2010, 11:19

Ce que tu cherches à faire (mettre à jour le compteur de tous les visiteurs lorsqu'un d'eux effectue une action) est éventuellement possible (long-polling/comet ou ajax), mais il faut déjà avoir un certain niveau pour pouvoir la mettre en place.

Un solution plus simple consisterait en un iframe affichant une page contenant le compteur, qui se rafraichirait toutes les X secondes.

Ne t'attends cependant pas à ce que je te fournisse le code exact :wink:

Re: Rafraichir all client

par stealth35 » 25 mai 2010, 11:02

je foudrais une actualisation des compteur cote serveur
c'est pas possible

Re: Rafraichir all client

par hashut » 25 mai 2010, 10:52

je sais pas j avous je comprend rien as ajax
je foudrais une actualisation des compteur cote serveur
comme sa chaque client on le meme temps sur les compteur

Re: Rafraichir all client

par stealth35 » 24 mai 2010, 17:10

dans ton responseText , y'a quoi ?

Re: Rafraichir all client

par hashut » 22 mai 2010, 16:00

slt

bon teste ajax mais je n'arrive

Code : Tout sélectionner

<script> function refresh_div() { var xhr_object = null; if(window.XMLHttpRequest) { // Firefox xhr_object = new XMLHttpRequest(); } else if(window.ActiveXObject) { // Internet Explorer xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); } var method = 'POST'; var filename = 'rebourOK.php'; xhr_object.open(method, filename, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { var tmp = xhr_object.responseText; document.getElementById('1').innerHTML = tmp;//la je voudrais que tous les div soit actualiser } } xhr_object.send(null); setTimeout('refresh_div()', 2000); } </script> <?php include('../conf/conf.php'); $db = mysql_connect($serveur, $user, $passw); mysql_select_db($bd_base ,$db); $sql = " SELECT id_Objet, h_fin FROM Objet "; $req = mysql_query($sql) or exit(mysql_error()); $tb = array(); while($data = mysql_fetch_object($req)) { $df=$data->h_fin; $Num=$data->id_Objet; echo"<form method='POST' enctype='multipart/form-data'>"; printf('<div id="%d"></div>', $data->id_Objet); $tb[$data->id_Objet] = strtotime($data->h_fin) * 1000; echo"<input type='hidden' name='Num' value='$Num'>"; echo'</form>'; } ?> <script type="text/javascript"> function refrech() { top.recapProjet.location.reload(); } var date_fin = <?php echo json_encode($tb) ?>; var date = <?php echo time() * 1000 ?>; var timer = function() { for(var i in date_fin) { if(date_fin.hasOwnProperty(i)) { var div = document.getElementById(i); var diff = date_fin[i] - date; if(diff > 0) { var down = new Date(diff); var days = Math.floor(diff / 86400000); div.innerHTML =days+ ' days ' +down.getUTCHours()+ ' hours ' +down.getMinutes() + ' minutes ' +down.getSeconds()+ 'seconds<BR><BR><? echo"<input type=submit name=ajouplus value=Ajouter>"; ?>'; } else { delete date_fin[i]; div.innerHTML = 'Termin&eacute;'; } } } date += 1000; window.setTimeout(timer, 1000); }; window.setTimeout(timer, 1000); </script> <body onload='refresh_div();'> <? if(isset($ajouplus)){ $Num=$_POST['Num']; $sql = " SELECT h_fin FROM Objet where id_Objet='$Num' "; $req = mysql_query($sql) or exit(mysql_error()); while($datas = mysql_fetch_array($req)) { echo"$num"; $h_fin= $datas['h_fin']; $getimes=strtotime($h_fin); $temp=$getimes+10; $temps=date('Y-m-d H:i:s',$temp); mysql_select_db($bd_base, $db); $sql2 = "UPDATE Objet SET h_fin='$temps' WHERE id_Objet='$Num'"; mysql_query($sql2) or die('Erreur SQL !'.$sql2.''.mysql_error()); } } ?>

Re: Rafraichir all client

par hashut » 19 mai 2010, 18:50

en ajax ok je teste sa demain merci stealth35
bonne soirée =D>

Re: Rafraichir all client

par stealth35 » 19 mai 2010, 18:47

pas moyen de faire autrement ?
non, ou alors en flash ou java.
apres en AJAX avec une actualisation par exemple tout les 5 secondes c'est presque transparent

Re: Rafraichir all client

par hashut » 19 mai 2010, 18:44

pas moyen de faire autrement ?