Aller au contenu

Sujets conseillés

Posté

Bonjour et merci d'avance pour votre aide,

J'ai une page qui commence par un formulaire, sur ce formulaire il y a 3 menus déroulant qui permettent une redirection vers différentes pages du site.

J'ai trouvé le script suivant qui me permet de faire une redirection :

Le formulaire :

<FORM method="POST" action="redirect.php">
<select NAME="Liste">
<option selected="selected" value="">-Sélectionnez votre destination-</option>
<option value="bleu">Bleu</option>
<option value="blanc">Blanc</option>
<option value="rouge">Rouge</option>
</select>
<input type="submit" name="envoi" value="envoyer" />
</FORM>

La page de redirection redirect.php:

<?php switch($_POST['ListeCouleur']){
case "bleu":
header("Location: [url="http://www.bleu.com");"]http://www.bleu.com");[/url]
break;
case "blanc":
header("Location: [url="http://www.blanc.com");"]http://www.blanc.com");[/url]
break;
case "rouge":
header("Location: [url="http://www.rouge.com");"]http://www.rouge.com");[/url]
break;
default:
header("Location: abc.htm");
}
?>

Mon problème est de savoir comment écrire ma page redirect.php si j'ai plusieurs menu déroulant ?

EXEMPLE : Mon formulaire contient 2 menus déroulants ListeCouleur et ListeNombre:

<FORM method="POST" action="redirect.php">
<select NAME="ListeCouleur">
<option selected="selected" value="">-Sélectionnez votre destination-</option>
<option value="bleu">Bleu</option>
<option value="blanc">Blanc</option>
<option value="rouge">Rouge</option>
</select>
<select NAME="ListeNombre">
<option selected="selected" value="">-Sélectionnez votre destination-</option>
<option value="un">un</option>
<option value="deux">deux</option>
<option value="trois">trois</option>
</select>
<input type="submit" name="envoi" value="envoyer" />
</FORM>

J'AI ESSAYE DE FAIRE CECI ? Mais çà ne fonctionne pas parfaitment, alors je viens vous demander votre aide, merci :-)

<?php switch($_POST['ListeCouleur']){
case "bleu":
header("Location: [url="http://www.bleu.com");"]http://www.bleu.com");[/url]
break;
case "blanc":
header("Location: [url="http://www.blanc.com");"]http://www.blanc.com");[/url]
break;
case "rouge":
header("Location: [url="http://www.rouge.com");"]http://www.rouge.com");[/url]
break;
default:
header("Location: abc.htm");
}

switch($_POST['ListeNombre']){
case "un":
header("Location: [url="http://www.un.com");"]http://www.un.com");[/url]
break;
case "deux":
header("Location: [url="http://www.deux.com");"]http://www.deux.com");[/url]
break;
case "trois":
header("Location: [url="http://www.trois.com");"]http://www.trois.com");[/url]
break;
}
?>

Merci :)

Posté

Bonjour,

Il est normal que cela ne fonctionne pas parce que le code contenu dans ton second switch ne sera jamais exécuté. Il ne sert donc à rien vu que la redirection se fera toujours avant lui.

Le tout est de savoir ce que tu veux faire avec le second menu: changer les redirections ou donner un argument aux redirections "bleu","blanc" ou "rouge"".

Tu pourrais par exemple dans ce dernier cas, remplacer:

header("Location: http://www.bleu.com");

par

header("Location: http://www.bleu.com&nombre=".$_POST['ListeNombre']);

qui enverra à la page de redirection le nombre sélectionné.

Dan

Posté (modifié)

En fait c'est pour faire une redirection supplémentaire, par exemple si on selctionne le nombre 1 + la couleur bleu, çà envoi vers une page précise.

Je pense écrire quelque chose comme çà, pourriez vus m'aider à l'écrire correctement please ?

if ($_POST['ListeCouleur']!='bleu' and $_POST['ListeNombre']!='deux')
{
switch($_POST['ListeNombre']){
case "deux":
header("Location: http://www.deux.com");
break;
}
}

Thanks, :)

Modifié par annuwair

Veuillez vous connecter pour commenter

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



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