Aller au contenu

Arguments imbriqués


Light_at_the_end

Sujets conseillés

Bonjour

Petite question, peut être un peu limite, mais bon, j'ai beau cherché, je ne m'en sors pas et ne comprends toujours pas.

Voila, j'ai un formulaire bateau (dont une partie du code est celui-ci) :

<SELECT  name='mois' id="mois" class="maintab66">
                           <OPTION value='01'>1</OPTION>
                           <OPTION value='02'>2</OPTION>
                           <OPTION value='03'>3</OPTION>
                           <OPTION value='04'>4</OPTION>
                           <OPTION value='05'>5</OPTION>
                           <OPTION value='06'>6</OPTION>
                           <OPTION value='07'>7</OPTION>
                           <OPTION value='08'>8</OPTION>
                           <OPTION value='09'>9</OPTION>
                           <OPTION value='10'>10</OPTION>
                           <OPTION value='11'>11</OPTION>
                           <OPTION value='12'>12</OPTION>
                         </SELECT>

J'ai bien mis tout ce qu'il faut pour traiter l'envoi d'information etc...

Et sur la page de traitement, j'ai placé ceci :

$mois["01"] = "Janvier";
$mois["02"] = "Février";
$mois["03"] = "Mars";
$mois["04"] = "Avril";
$mois["05"] = "Mai";
$mois["06"] = "Juin";
$mois["07"] = "Juillet";
$mois["08"] = "Août";
$mois["09"] = "Septembre";
$mois["10"] = "Octobre";
$mois["11"] = "Novembre";
$mois["12"] = "Décembre";
$datefr=$_POST["jour"]." ".$mois[$_POST["mois"]]."";
echo"".$datefr."";

Et la, $mois[$_POST["mois"]] me renvoie juste le premier caractère correspondant au mois. Par exemple, si je sélectionne 2 dans le formulaire, il me renverra F.

Je pense que la syntaxe $mois[$_POST["mois"]] est donc incorrecte, mais je ne vois pas quoi mettre :(

Merci d'avance pour votre aide :-)

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

C'est à n'y rien comprendre.

Si je vais directement sur ma page de traitement sans avoir remplis de formulaire

et que je mets cette ligne :

echo $mois["04"];

Avril va apparaître.

par contre, si je remplis un formulaire, et que je valide, celui ci me redirigeant vers ma page de traitement, alors ce n'est plus Avril qui apparaît mais seulement A

P.S je suis en hébergement OVH Php4.4

Quelqu'un a-t-il une vague idée du problème ?

Vous pouvez tester ici :

http://www.7min.org/testt1.php

(formulaire)

http://www.7min.org/testtt.php

(traitement de donnée)

Modifié par Light_at_the_end
Lien vers le commentaire
Partager sur d’autres sites

Salut,

Ton serveur est ptet configuré pour accepter $mois ou $_post['mois'] comme la même variable, et dans ce cas là quand tu fais ton tableau, tu écrases tes valeurs...

En fait, tu aimes le compliqué ? :P Ton script est super compliqué !

Tu as plusieurs possibilités pour faire ça, mais là, tu as choisie la plus casse brique..

  <OPTION value='janvier'>1</OPTION>
                          <OPTION value='février'>2</OPTION>

Ca, ça peut pas t'aller ?

Ou autrement :

$tabmois = array('pasdemois', 'janvier', février', ....');
$datefr=$_POST["jour"]." ".$tabmois[$_POST["mois"]]."";

Lien vers le commentaire
Partager sur d’autres sites

En effet, c'est tellement plus simple comme ça lol.

Je n'avais plus pensé à la variable $mois en tant que $_POST['mois'] et puis,

autant gagner des lignes de codes... alors je prend la première solution.

Merci infiniment :-)

Lien vers le commentaire
Partager sur d’autres sites

Et sinon, pour le pourquoi du comment ça merde, je pense que $mois["01"], est totalement différent de $mois[1].

Dans le premier cas, tu as un index 'textuel', alors que dans le second, tu as un index numérique).

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...