Comparaison en seconde entre 2 date [Résolu/Fermé]

Signaler
-
 kavinski -
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.

2 réponses

Messages postés
29159
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 août 2020
2 670
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56921 internautes nous ont dit merci ce mois-ci

merci impecc :))))))