[RESOLU] Comparer date client/date serveur

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 : [RESOLU] Comparer date client/date serveur

Re: Comparer date client/date serveur

par EricJ51 » 02 oct. 2012, 17:49

J'ai trouvé l'erreur: return; ne peux pas être utilisé en dehors d'une fonction. Il suffit d'inclure mes var dans une fonction et de faire appel à celle-ci dans un body onload et le tour est joué.

Re: Comparer date client/date serveur

par EricJ51 » 02 oct. 2012, 14:55

Le voici et merci pour aide. Ce n'est peut être pas du code très propre, mais ça fonctionne sur Chrome :-) (mais pas sur les autres navigateurs).

<?php
$aujourphp = date("Ymd");
$aujourphpinvert = date("d.m.Y");
?>

<script language="javascript" type="text/javascript">
var aujourjs = new Date();
var aujourjsy = aujourjs.getFullYear();
var aujourjsm = aujourjs.getMonth()+1;
var aujourjsd = aujourjs.getDate();
var aujourjsytxt = ("" + aujourjsy);
if (aujourjsm < 10) {
var aujourjsmtxt = ("0" + aujourjsm);
} else { var aujourjsmtxt = ("" + aujourjsm); }
if (aujourjsd < 10) {
var aujourjsdtxt = ("0" + aujourjsd);
} else { var aujourjsdtxt = ("" + aujourjsd); }
var aujourjsnbr = Number(aujourjsytxt+aujourjsmtxt+aujourjsdtxt);
var aujourjsinvert = "<?php echo ($aujourphp); ?>";
if (aujour == aujourjsnbr) {
document.write("");
} else { alert("Aujourd'hui nous sommes le "+aujourjsinvert+" et votre ordinateur a le "+aujourjsdtxt+"."+aujourjsmtxt+"."+aujourjsytxt+" comme date interne. Veuillez corriger votre date pour permettre une réservation.");
return; }

</script>

Re: Comparer date client/date serveur

par piotrowski-s » 02 oct. 2012, 14:36

ça sera plus facile de t'aider en voyant ton code.

Comparer date client/date serveur

par EricJ51 » 02 oct. 2012, 14:33

Bonjour,
afin d'être certain que mon champ date soit correctement complété, je commence mon formulaire php par un contrôle javascript qui compare la date serveur avec la date client. Si la date n'est pas égale dans les deux cas, l'instruction window.alert ouvre une fenêtre avec un message. Ceci fonctionne très bien avec Google Chrome, mais pas du tout avec IE9, Safari ou Firefox, où la fenêtre n'apparaît pas. Je ne comprends pas pourquoi. Quelqu'un aurait-il une idée?