[RESOLU] formulaire avec date (mois et année) imposée.

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 : [RESOLU] formulaire avec date (mois et année) imposée.

Re: [RESOLU] formulaire avec date (mois et année) imposée.

par Spols » 13 janv. 2016, 12:43

Il te suffit, pour chaque option, de l'inclure dans un if et de vérifier si ce mois correspond à un mois d'exclusion venant de ta BDD

Re: formulaire avec date (mois et année) imposée.

par pmfontaine » 13 janv. 2016, 10:18

ce serait plus simple de mettre une liste déroulante
Bonjour,
Merci a tous pour votre aide. j'ai trouvé la solution avec un menu déroulant. Merci Or.
Voila le code :

Code : Tout sélectionner

<label><b>Mois et Année de participation:</b></label><br /> <?php $mois_debut = date("m"); $mois1 = $mois_debut; if ($mois_debut + 1 > 12) {$mois2 = $mois_debut - 11;} else {$mois2 = $mois_debut +1;} if ($mois_debut + 2 > 12) {$mois3 = $mois_debut - 10;} else {$mois3 = $mois_debut +2;} if ($mois_debut + 3 > 12) {$mois4 = $mois_debut - 9;} else {$mois4 = $mois_debut +3;} if ($mois_debut + 4 > 12) {$mois5 = $mois_debut - 8;} else {$mois5 = $mois_debut +4;} if ($mois_debut + 5 > 12) {$mois6 = $mois_debut - 7;} else {$mois6 = $mois_debut +5;} ?> <p> <label for="mois">mois ?</label><br /> <select name="mois" id="mois"> <option value="<?php echo $mois1;?>"><?php echo $mois1;?></option> <option value="<?php echo $mois2;?>"><?php echo $mois2;?></option> <option value="<?php echo $mois3;?>"><?php echo $mois3;?></option> <option value="<?php echo $mois4;?>"><?php echo $mois4;?></option> <option value="<?php echo $mois5;?>"><?php echo $mois5;?></option> <option value="<?php echo $mois6;?>"><?php echo $mois6;?></option> </select> </p>
Pour la deuxième partie de ma question :
Dans ce même code, je récupère dans une base Mysql les mois ou le visiteur a déjà participé pour les 6 mois a venir. Et je voudrais exclure dans les possibilités de choix du formulaire les mois ou il a déjà participé.
Est-ce que cela est possible et de quelle façon ?
Je n'ai pas la solution, mais je vais chercher et si besoin j'ouvrir un poste spècifique.
Encore merci a tous.
Patrick

Re: formulaire avec date (mois et année) imposée.

par Spols » 12 janv. 2016, 23:12

Aussi pour rapidement réduire les nombres supérieure à 12, tu peux utiliser le modulo %12
13%12 = 1
mais aussi 12%12 = 0 donc tu dois en tenir compte en commençant ton index des mois à 0

Re: formulaire avec date (mois et année) imposée.

par or 1 » 12 janv. 2016, 23:02

ce serait plus simple de mettre une liste déroulante au lieu d'une zone de texte, avec uniquement les mois qui peuvent être sélectionnés comme proposition.

Re: formulaire avec date (mois et année) imposée.

par pmfontaine » 12 janv. 2016, 22:59

Bonsoir Kevin,
Merci pour ta réponse, mais si on fais comme tu propose, le max et plus petit que le min et du coup ça ne propose que ces deux chiffres, rien entre les deux.
Cette exemple le montre

Code : Tout sélectionner

Mois : <input type="number" name="mois" value="10" min="10" max="3">

Re: formulaire avec date (mois et année) imposée.

par kevin254kl » 12 janv. 2016, 22:08

Bonsoir, en testant avec un if si tu dépasses tu fais le nombredemois sélectionné moins 12, dans le if qui sera dans ton max tu regardes si le nombre de mois est supérieur à 7.

formulaire avec date (mois et année) imposée.

par pmfontaine » 12 janv. 2016, 18:17

Bonjour,
Je viens vers vous car je n'arrive pas a trouver une solution avec un formulaire ou je demande au visiteur de choisir un mois de participation sachant qu'il doit choisir au minimum le mois actuel et au maximum le mois actuel + 5 mois.
le code si dessous fonctionne en partie, mais lorsque le mois actuel ($mois_actuel) et >7, les possibilités dépassent 12 (13, 14, .... etc)
Comment puis-je faire pour que 13, 14, ..etc soit remplacé par 1, 2, ...etc ?

Code : Tout sélectionner

<label>Mois et Année de participation:</label><br /> <?php $mois_actuel = date("m"); $annee_actulle = date("Y"); if ($mois_actuel < 8) { $max_annee = $annee_actulle; } else { $max_annee = $annee_actulle + 1; } ?> <b> Mois : <input type="number" name="mois" value="<?php echo $mois_actuel; ?>" min="<?php echo $mois_actuel; ?>" max="<?php echo $mois_actuel+5; ?>"> Année : <input type="number" name="annee" value="<?php echo $annee_actulle; ?>" min="<?php echo $annee_actulle; ?>" max="<?php echo $max_annee; ?>"> </b>[/color]
Dans ce même code, je récupère dans une base Mysql les mois ou le visiteur a déjà participé pour les 6 mois a venir. Et je voudrais exclure dans les possibilités de choix du formulaire les mois ou il a déjà participé.
Est-ce que cela est possible et de quelle façon ?

J'espère mettre correctement expliqué.
Merci d'avance pour votre aide.
Patrick