Bonjour
J'ai du faire un Quizz, j'ai récupéré des codes sur la toile pour faire mon chronomètre, puis un jour j'ai était confronté un un gros problème :
j'ai lancé le chrono puis j'ai changé l'heure du PC et big j'ai pu tricher.
Donc j'ai du changer mon code Javascript par du code PHP
Je pose mon source pour vous en faire profiter et avoir un retour d'erreur et d'amélioration
alert('Beau Temps belle Mer');
Jorgio
chrono.php
<?php
session_start();
setlocale(LC_TIME, 'fra_fra');
date_default_timezone_set('Europe/Paris');
if (isset($_SESSION['WBD']['DEPART'])){
$depart = date($_SESSION['WBD']['DEPART']);
}else{
$depart = date('Y-m-d H:i:s', time());
$_SESSION['WBD']['DEPART'] = $depart;
}
?>
<html>
<style>.stylechrono {border-width: 0;background-color: #005A7B;color: #F2f2f2;font-size: 130%;width: 120px;text-align: center;}</style>
<body onload="clock()">
<input id="depart" name="depart" readonly="true" type="text" value="<?php echo $depart?>">
<div id="misealheure"><input id="heureserveur" name="heureserveur" readonly="true" type="text" value="<?php echo $depart?>"></div>
<script>
function clock() {
_misealheureserveur(); // heure du serveur
setTimeout(clock, 1000)
}
function _misealheureserveur() {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("misealheure").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", 'misealheure?depart=<?php echo $depart?>', true);
xmlhttp.send();
}
</script>
</body>
</html>
misealheure.php
<style>#chrono{border-width:0;background-color:#005A7B;color: #F2f2f2;font-size:130%;width:120px;text-align:center}</style>
<?php
setlocale(LC_TIME, 'fra_fra');
date_default_timezone_set('Europe/Paris');
function _double($i){
if ($i <10)$i = '0'.$i;
return $i;
}
function diff($start,$end = false) {
if(!$end) { $end = time(); }
if(!is_numeric($start) || !is_numeric($end)) { return false; }
$start = date('Y-m-d H:i:s',$start);
$end = date('Y-m-d H:i:s',$end);
$d_start = new DateTime($start);
$d_end = new DateTime($end);
$diff = $d_start->diff($d_end);
/* $year = $diff->format('%y');
$month = $diff->format('%m');
$day = $diff->format('%d');*/
$hour = $diff->format('%h');
$min = $diff->format('%i');
$sec = $diff->format('%s');
return '<input type="text" id="chrono" name="chrono" readonly="true" value="'._double($hour).':'._double($min).':'._double($sec).'">';
}
$depart = $_REQUEST['depart'];
$maintenant = date('Y-m-d H:i:s', time());
echo '<input id="heureserveur" name="heureserveur" readonly="true" type="text" value="'.$maintenant.'"><br>';
echo Diff(strtotime($depart),strtotime($maintenant));
?>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.