Forum Clubic

Syntaxe php

Bonjour

J’ai un datepicker dont je veux invalider le “pick” apres 11h30 pour le jour même …or il le fait à 11h00 et non 11h30 …la syntaxe est elle erronée ?

<?php if(date('H') < 11 && date('i') < 30) { ?>
<input name="date" id="datepicker">
<?php }else{ ?>
<input name="date" id="datepicker2">
<?php } ?>

merci de vos conseils

Curieux que ça fonctionne avant 11h (disons 10h45)
avec &&, il faut que les deux conditions soient vraies, donc avant 11h et seulement dans les 30 premières minutes de chaque heure respectant la première condition.

Et avec <= ? genre if(date(‘H’) < 11 && date(‘i’) <= 30) ?

Bonjour,

Ta condition :

signifie si l’heure < à 11 ET les minutes < à 30.
Donc, on passe dans le si de :

  • 00:00 à 00:29
  • 01:00 à 01:29
  • 10:00 à 10:29

et dans le sinon pour :

  • 00:30 à 00:59
  • 01:30 à 01:59
  • 10:30 à 23h59

La condition qu’il te faudrait c’est :
Si l’heure < 11 OU ( l’heure =11 ET minute<30) alors

Essaye avec la nouvelle classe DateTime : fr2.php.net…

$onzeHeureTrente = new DateTime()->setTime(11, 30);
$maintenant = new DateTime();

if ($maintenant <= $onzeHeureTrente) {
  // avant 11h30
} else {
  // après
}

J’ai bricolé ça en me basant sur la doc, je n’ai pas testé.

merci mais en php çà donne quoi ?

Ta syntaxe est bonne au départ, mais il faut que fasses un double test, selon que tu es dans la 12e heure ou non.
Merlon t’a donné la solution (en bas de son message).
Regarde comment il place son OU et son ET

Heu … c’est du php.