Comparaison en seconde entre 2 date

Résolu/Fermé
kavinski - Modifié par jordane45 le 5/07/2016 à 15:19
 kavinski - 5 juil. 2016 à 18:14
Bonjour, j'aimerais mettre un système d'attente de 30 seconde avant chaque envoi d'un formulaire pour éviter le flood serveur, j'ai essayé quelque trucs mais pour l'instant rien ne marche

mon code

 
  $now = new DateTime(date('Y-m-d h:i:s'));
  $last_update = new DateTime($user->last_update);
  $interval = $now->diff($last_update);
  $difference = $interval->format("%H:%I:%S"); 
  
  if($difference < time() - 30) {
  echo 'Vous devez attendre 30 secondes'; 
  } else {
  //
  }


merci a ceux qui prendront le temps de m'aider,bonne journée

EDIT : Ajout du LANGAGE dans les balises de code.
A voir également:

2 réponses

jordane45 Messages postés 38308 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
Modifié par jordane45 le 5/07/2016 à 15:24
Bonjour,

Via strtotime() par exemple :
$now = date('Y-m-d h:i:s');
$last_update = $user->last_update;

$diff = strtotime($now) - strtotime($last_update);

if($diff < 30) {
  echo 'Vous devez attendre 30 secondes'; 
} else {
  //
}


Via l'objet date
 $now = new DateTime(date('Y-m-d h:i:s'));
 $last_update = new DateTime($user->last_update);

$diff = $now->getTimestamp() - $last_update->getTimestamp();

if($diff < 30) {
  echo 'Vous devez attendre 30 secondes'; 
} else {
  //
}


Cordialement, 
Jordane                                                                 
1
merci impecc :))))))
0