Définir une date rn fonction d'une checkbox

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 : Définir une date rn fonction d'une checkbox

Re: Définir une date rn fonction d'une checkbox

par Ryle » 09 sept. 2015, 12:18

Pour reprendre la suggestion d'Elie, mais avec une version un peu plus légère que de passer par mktime :
if (!empty($_POST['ta_checkbox'])) {
  $date_debut = date('Y') . '-01-01';
  $date_fin =  date('Y') . '-12-31';
}
else {
//conversion de la date debut du format fr(jj:mm:aaaa hh:mm:ss) en format us(aaaa-mm-jj hh:mm:ss)
  $date_debut = date_create_from_format('d/m/Y', $_POST['date_debut_sortie']);
  $date_debut = date_format($date_debut, 'Y-m-d');
  $date_fin = date_create_from_format('d/m/Y', $_POST['date_fin_sortie']);
  $date_fin = date_format($date_fin, 'Y-m-d');
}
A noter que le format us des dates est MM-JJ-AAAA. Le format AAAA-MM-JJ est quant à lui le format ISO de la date :)

Re: Définir une date rn fonction d'une checkbox

par Elie » 07 sept. 2015, 19:24

if(!empty($_POST['checkbox'])) $_POST['date_debut_sortie'] = date('d/m/Y', mktime(date('Y'), 1, 1, 0, 0, 0));
Un truc comme ca non ?

Définir une date rn fonction d'une checkbox

par yoann38 » 06 sept. 2015, 18:42

Salut à tous voilà mon petit soucis.
J'ai un formulaire qui permet d'enregistrer 2 dates il marche très bien, cependant j'aimerais rajoutais une checkbox pour ( ouvert tte l'année ), mais ne vois pas comment m'y prendre.
Le but est que si la checkbox est coché ca envoi le 1er janvier de l'année en cours pour la variable début
et 31 décembre de l'année pour la variable fin
Voila ou j'en suis:

La partie du formulaire ou j'ai mes dates
<label>Date de début</label>
          <input class="form-control" id="date_debut_sortie" readonly  name="date_debut_sortie" type="text" value="<?php echo !empty($_POST['date_debut_sortie']) ? $_POST['date_debut_sortie'] : NULL; ?>" /> 
          <?php echo !empty($erreurs['date_debut_sortie']) ? '<div class="alert alert-danger" role="alert"><i class="fa fa-exclamation-triangle"></i>'.$erreurs['date_debut_sortie'].'</div>' : NULL; ?>

          <label>Date de fin</label>
          <input class="form-control" id="date_fin_sortie" readonly name="date_fin_sortie" type="text" value="<?php echo !empty($_POST['date_fin_sortie']) ? $_POST['date_fin_sortie'] : NULL; ?>" />
          <?php echo !empty($erreurs['date_fin_sortie']) ? '<div class="alert alert-danger" role="alert"><i class="fa fa-exclamation-triangle"></i>' .$erreurs['date_fin_sortie'].'</div>' : NULL; ?>
La partie qui traite mes dates:
//conversion de la date debut du format fr(jj:mm:aaaa hh:mm:ss) en format us(aaaa-mm-jj hh:mm:ss)
	$date_debut = date_create_from_format('d/m/Y', $_POST['date_debut_sortie']);
	$date_debut = date_format($date_debut, 'Y-m-d');
	$date_fin = date_create_from_format('d/m/Y', $_POST['date_fin_sortie']);
	$date_fin = date_format($date_fin, 'Y-m-d');
Merci à vous