Compte à rebours avec auto restart (site web)

Fermé
Natty - 2 mai 2010 à 14:34
thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 - 3 mai 2010 à 14:49
Bonjour à tous.

Voilà je cherche désespérément un script de compte à rebours assez particulier.

Voilà les caractéristiques que je souhaiterais qu'il ait:
1.Le compte à rebours doit commencer à une date précise et décompter un période donnée (par exemple le décompte commence vendredi tous les 15 jours à minuit)
2.Lorsque la période de 15 jours est passée le script doit recommencer automatiquement un nouveau décompte de 15 jours (et ainsi de suite).
3.Une fois le compte à rebours mis en place sur le site je souhaiterais ne plus avoir besoin d'y accéder (d'où la nécessité d'une fonction auto-restart.

Quelqu'un aurait-il une idée?
(je suis débutant en javascript et je n'ai vraiment aucune idée sur la fçon de m'y prendre...)
A voir également:

1 réponse

thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 23
3 mai 2010 à 14:49
salut voila un code je l'ai tester et ca marche ca presente peut etre quelque bug mais si le script te convient je peut aider a l'ameliorer
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<?php
$config = "1";//commence le lundi par exemple [0-6] 0=dimanche 

//is c'est auto
if (file_exists('cp.txt') ) {
    $fp = fopen ('cp.txt','r');
	$endDate = fread($fp,filesize('cp.txt'));
	fclose($fp);
    $d = getdate();	
	$myTimestamp = mktime(0,0,0,$d['mon'],$d['wday'],$d['year']);
    $reste = $endDate - $myTimestamp;
	if ($reste == 0) {
		$d = getdate();
	    $myTimestamp = mktime(0,0,0,$d['mon'],$d['wday'],$d['year']);
	    $endDate = $myTimestamp + 1296000;
	    //on ouverture du compteur
	    $fp = fopen ('cp.txt','w');
	    fwrite($fp,$endDate);
	    fclose($fp);
	    $reste = $endDate - $myTimestamp;	
	} else {
	  //pour avoir une decreementation visuel
	  $d = getdate();	
	  $myTimestamp = mktime($d['hours'],$d['minutes'],$d['seconds'],$d['mon'],$d['wday'],$d['year']);
      $reste = $endDate - $myTimestamp;
	}
	

} else {

  if (date("w")== $config) {
      $d = getdate();
	  $myTimestamp = mktime(0,0,0,$d['mon'],$d['wday'],$d['year']);
	  $endDate = $myTimestamp + 1296000;
	
	  //on ouverture du compteur
	  $fp = fopen ('cp.txt','w');
	  fwrite($fp,$endDate);
	  fclose($fp);
	  //pour avoir une decreementation visuel
	  $d = getdate();	
	  $myTimestamp = mktime($d['hours'],$d['minutes'],$d['seconds'],$d['mon'],$d['wday'],$d['year']);
	  $reste = $endDate - $myTimestamp;	
  } 

}
    

	$restJours = ($reste/86400);
    $deciJours = substr($restJours, strpos($restJours, '.')+1);
	$restheurs = "0.".$deciJours;
	$restJours = substr($restJours, 0,strpos($restJours, '.'));
	$restheurs =  $restheurs*24;
	$deciheurs = substr($restheurs, strpos($restheurs, '.')+1);
	$restMins  = "0.".$deciheurs;
	$restheurs = substr($restheurs, 0,strpos($restheurs, '.'));
	$restMins  = $restMins*60;
	$deciMins  = substr($restMins, strpos($restMins, '.')+1);
	$restSecs  = "0.".$deciMins;
	$restMins  = substr($restMins, 0,strpos($restMins, '.'));
	$restSecs  = floatval($restSecs)*60;
	$secs      = substr($restSecs, 0,strpos($restSecs, '.'));
	$restSecs  = $secs;	   
    //affichage javascript
    echo " 
   <script type='text/javascript'>
      var jour =".$restJours.";
	  var heur =".$restheurs."; 
	  var min =".$restMins.";
	  var sec = ".$restSecs.";
	  function rebours() {
	   
        dt=new Date();
        var cal='On est le '+ dt.getDate()+'/'+dt.getMonth()+'/'+(dt.getYear()+1900)+' ';
		var monDiv = document.getElementById('reb');
		sec--;
	    min = (sec == 0)?min-1:min;
	    heur = (min==0)?heur-1:heur;
		jour = (heur==0)?jour-1:jour;
		sec = (sec == 0)?60:sec;
		monDiv.innerHTML=''+cal+' Il reste '+jour+' Jours '+heur+' heurs '+min+' Minutes et '+sec+' Secondes';
	    setTimeout('rebours()',1000);
	 }
	</script>";	
?>


<body onload="rebours()">
<div id="reb">
</div>
</body>
</html>
0