Compte à rebours avec auto restart (site web)

Natty -  
thunder413 Messages postés 169 Statut Membre -
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 169 Statut Membre 23
 
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