Comparaison en seconde entre 2 date

Résolu
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

  1. Modérateur
    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