[php]Problème avec un valeur par defaut

Fermé
steph70 - 21 juil. 2008 à 18:40
 steph70 - 22 juil. 2008 à 13:26
Bonjour,

j'ai créer un script qui me permet de changer la couleur de mon arrière plan en php et y ait ajouter une couleur par défaut avec "selected" mais à chaque fois je n'arrive pas sur la couleur par defaut défini.

Voyez vous ou ca cloche ?
<html>
<?php
$a=array("<body bgcolor=\"#FFCCFF\">","<body bgcolor=\"#CCFFFF\">","<body bgcolor=\"#99FF99\">","<body bgcolor=\"#E8E8E8\">");
?>
<form method="post">
<select name="couleur">
<option value="red">Couleur rose</option><br/>
<option value="blue">Couleur bleue</option><br/>
<option value="vert">Couleur verte</option><br/>
<option value="brun" 
selected="true">Couleur par defaut</option><br/>
</select>
<input type="submit" />
</form>
<?php
if ($_POST['couleur']=="red")
        {
	print ($a[0]);
	}
elseif ($_POST['couleur']=="vert")
	{
	print ($a[2]);
	}
elseif ($_POST['couleur']=="brun")
	{
	print ($a[3]);
	}
else
	{
	print ($a[1]);
	}
?>
</body>
</html>



Amicalement
Steph70
A voir également:

10 réponses

X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
21 juil. 2008 à 18:55
C'est selected tout court et non selected="true". ;)
0
Re, et merci,

Je viens d'essayer mais ca ne fonctionne pas non plus.

Sniff !!!

Amicalement
Steph70
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
21 juil. 2008 à 19:01
Ah ouai mais si ta default value c'est brun alors c'est:

if ($_POST['couleur']=="red")
{
print ($a[0]);
}
elseif ($_POST['couleur']=="vert")
{
print ($a[2]);
}
elseif ($_POST['couleur']=="blue")
{
print ($a[3]);
}
else
{
print ($a[1]);
}

EDIT: Ton array ne contient que 3 couleurs. C'est normal? Parce que dans ton autre code, tu disais que brun était sur la troisième position du array.. il est sur la 2ème (un array commence à 0 donc un array avec 3 entrées donnera [0],[1] et [2]. Pas de 3)
0
CIAnure Messages postés 41 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 29 janvier 2010 29
21 juil. 2008 à 19:05
Mettre ceci juste devant le if :


echo '<pre>';
var_dump($_POST);
echo '</pre>';


Et après tu reteste ta page, tu valide le formulaire avec la couleur par défaut, nous indiqué le résultat du var_dump.
Merci, CIAnure.
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
21 juil. 2008 à 19:06
c'est pas ça, il essaie d'afficher quelque chose à la position 3 alors qu'il y a pas de position 3. Il vient de là le problème. O_O
0
CIAnure Messages postés 41 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 29 janvier 2010 29 > X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010
21 juil. 2008 à 19:10
Soit c'est moi, soit c'est vous. Mais moi je vois 4 valeurs dans son tableau $a, donc l'indice maximun est bien le 3.
Pourquoi vous dites cela?
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24 > CIAnure Messages postés 41 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 29 janvier 2010
21 juil. 2008 à 19:48
NIARK, mon firefox bug depuis ce matin. Laisse faire :P
Je vais relire et je redonne une réponse dans 2 minutes.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re et merci encore pour votre aide.

CIAnure à raison, il y a bien 4 valeurs dans mon tableau. La dernière est donc bien le 3.

De plus, si cela n'etait pas, ca ne fonctionnerait pas lorsque je clique sur "valeur par defaut" et ce n'est pas le cas

CIAnure voici le resultat de la commande demandée :

array(1) {
  ["couleur"]=>
  string(4) "brun"
}


Amicalement
Steph70
0
Je me demande si je me suis bien expliqué.

Lorsque j'arrive sur ma page, j'ai bien la liste déroulante postionnée sur la "valeur par defaut" mais mon arrière plan à pris une des autres couleurs.

Je dis car quand je suis revenu devant mon ordi ma question ne m'a pas semblé aussi net que je l'avais pensé au départ

Amicalement
Steph70
0
CIAnure Messages postés 41 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 29 janvier 2010 29
21 juil. 2008 à 22:20
Alors Essaye de mettre des "echo" dans tes if pour voir dans lequel il rentre. Merci de nous dire quoi.

Exemple :
if ($_POST['couleur']=="red")
{
echo "couleur : red car ".$_POST['couleur']." choisi.";
print ($a[0]);
}
elseif ($_POST['couleur']=="vert")
{
echo "couleur : vert car ".$_POST['couleur']." choisi.";
print ($a[2]);
}
... à compléter.
0
CIAnure Messages postés 41 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 29 janvier 2010 29
21 juil. 2008 à 22:14
Essaye de mettre des "echo" dans tes if pour voir dans lequel il rentre. Merci de nous dire quoi.

Exemple :
if ($_POST['couleur']=="red")
{
echo "couleur : red car ".$_POST['couleur']." choisi.";
print ($a[0]);
}
elseif ($_POST['couleur']=="vert")
{
echo "couleur : vert car ".$_POST['couleur']." choisi.";
print ($a[2]);
}
... à compléter.
0
Re hello,

J'ai donc bien suivi tes conseils.

Résultat :

Lors de l'ouverture, il me met en couleur "bleu" sans afficher quoi que ce soit (je ne suis pas rentré dans le if )

Après il me donne bien les couleurs et les print qui vont avec sans difficulté.

Mais je n'arrive pas a fixer une couleur par défaut à l'ouverture

Amicalement
Steph70
0
Ah ah !!!

J'ai peut être la solution. A priori la valeur par defaut est la dernière du tableau.

J'essais de modifier celle ci et vous tiens au courant

Amicalement
Stéph70
0
Je confirme.

La couleur utilisée dans le "else" est celle qui s'affiche par defaut à l'ouverture de la page.

Et en fait c'est normal

Merci a tous pour votre aide précieuse

Problème résolu

Amicalement
Steph70
0