menu déroulants "automatiques"

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 : menu déroulants "automatiques"

par ouckileou » 08 juil. 2005, 17:05

ah oui j'avais pas vu le tableau désolé :lol:

ou alors plus simplement
$NomDuMois=array(1=>"Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");

par guilt92 » 08 juil. 2005, 17:04

si parce que la le premier élement du tableau, janvier, est $NomDuMois[0]

Sinon tu rajoutes
$NomDuMois=array("erreur","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
et comme ca plus besoin de décalage

par ouckileou » 08 juil. 2005, 17:01

mais pourquoi sont-ils décalés au fait ???
for ($i=1;$i<=12;$i++) {
  echo "<option value='$i' selected>$NomDuMois[$i]</option>";
}
bon il manque le test pour le mois courant mais là plus besoin de -1

par guilt92 » 08 juil. 2005, 16:58

lol bien joué ouckileou meme heure de post tu as du etre plus rapide de quelques secondes !!!!! :wink:

par guilt92 » 08 juil. 2005, 16:57

essaye comme ca :
echo "<option value='$i' selected>$NomDuMois[($i-1)]</option>"; 
sinon au pire tu peux toujours faire ca :
$j=$i-1;
echo "<option value='$i' selected>$NomDuMois[$j]</option>"; 

par ouckileou » 08 juil. 2005, 16:57

si entre ça
echo "<option value='$i' selected>$NomDuMois[$i]</option>";
et ça
echo "<option value='$i' selected>$NomDuMois[$i-1]</option>";
y'a une erreur qui survient, a priori ça vient du -1 ;)

normal, là tu insères un calcul au milieu d'une chaine alors il ne comprend plus
donc coupe ta chaine :
echo "<option value='$i' selected>$NomDuMois[".($i-1)."]</option>";

par Justone » 08 juil. 2005, 16:51

merci bcp pour la rapidité de vos réponses. j'ai choisi le php.

lorsque je met
echo "<option value='$i' selected>$NomDuMois[$i]</option>"; 
tout se compile bien mais les mois sont décalé alors je veux mettre $i-1

mais lorsque je met
echo "<option value='$i' selected>$NomDuMois[$i-1]</option>"; 
j'obtiens cette erreur Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ']'

qqn sait pkoi?

merci

EDIT : pkoi mon topic a bougé dans le forum javascript???
il concerne le php!!!

par ouckileou » 08 juil. 2005, 16:39

et bien voilà tu a deux pistes, une en PHP et l'autre en javascript ;)

par guilt92 » 08 juil. 2005, 16:39

donc ma solution pourrait convenir, non ?

par Justone » 08 juil. 2005, 16:38

Quand je dis sans modifier le code, ca veut dire sans aller changer le selected tous les mois par ex

par guilt92 » 08 juil. 2005, 16:36

j'avais pas vu cette derniere phrase...

Euh si quelque chose ne marche pas et que tu veux le changer comment est ce possible sans changer ton code??? :wink:

Re: menu déroulants "automatiques"

par ouckileou » 08 juil. 2005, 16:34

et cela sans avoir a modifié le code.
ça ça va être difficile, généralement rien ne se fait tout seul :roll:

en Javascript :

tu récupères l'année courante
et tu fais un truc du genre
document.getElementById(annee).item.selected = true

dans l'idée bien sûr
regarde comme accéder au option d'une liste déroulante en javascript

par guilt92 » 08 juil. 2005, 16:33

<?php $current_month=date("n");
$current_year=date("Y"); 
$NomDuMois=array("Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre"); ?>

<select name="mois">
        <?php for($i=1;$i<13;$i++)
        if($i==$current_month) echo "<option value=\"$i\" selected>$NomduMois[$i-1]</option>";
        else echo "<option value=\"$i\">$NomduMois[$i-1]</option>"; ?>
      </select>
Je verrais bien quelque chose comme ca pour le mois, tu peux faire pareil apres pour l'année...

menu déroulants "automatiques"

par Justone » 08 juil. 2005, 16:12

Bonjour

J'ai crée deux menus déroulants, un pour les mois un pour les années

Code : Tout sélectionner

<select name="mois"> <option value="1">Janvier</option> <option value="2">Février</option> <option value="3">Mars</option> <option value="4">Avril</option> <option value="5">Mai</option> <option value="6">Juin</option> <option value="7" selected>Juillet</option> <option value="8">Août</option> <option value="9">Septembre</option> <option value="10">Octobre</option> <option value="11">Novembre</option> <option value="12">Décembre</option> </select> <select name="annee"> <option value="2005" selected>2005</option> <option value="2006">2006</option> <option value="2007">2007</option> <option value="2008">2008</option> </select>
J'ai mis selected en juillet et en 2005
je voudrais savoir comment faire pour que ca se fasse automatiquement au mois et a l'année en cours?
par ex j'aimerais qu'au premier aout ce soit le mois aout et l'année 2005 qui oit selectionné, et cela sans avoir a modifié le code.

Merci