Aller au contenu

Liste deroulante + PHP


doomer2

Sujets conseillés

Bonsoir à tous,

Volà je me retrouve confronté à un probléme, je posséde une liste deroulante avec plusieurs sites et je souhaiterais quand cliquant sur un bouton on soit redirigé vers ce site. Je voudrais cela qu'en PHP afin d'eviter le javascript que je sais faire.

Mon code est le suivant :

<form action="#" method="post">
<p>
   <select name="rubrique" onchange="window.location = form.rubrique.options[form.rubrique.selectedIndex].value; " tabindex="464">
       <option>Liste des communes</option>
 <option value="http://www.alsacreations.com">Alsacreations</option>
       <option value="http://www.webmaster-hub.com" >Webmaster Hub</option>
 
     </select>
</p>

<noscript>
<p><input type="submit" value="Go"  /></p>
</noscript>

</form>  

Je suis vraiment bloqué, un peu d'aide sera la bien venue.

Merci à tous.

Lien vers le commentaire
Partager sur d’autres sites

En ajoutant ce code en début de page le visiteur sera redirigé vers l'adresse sélectionnée.

if($_POST["rubrique"]) header("location:".$_POST["rubrique"]);

Mais afin que ça marche il faudra envoyer le header() avant tout code HTML.

Lien vers le commentaire
Partager sur d’autres sites

En fait, j'ai cette liste deroulante. Si la personne a activé le javascript la fonction onchange fonctionne et redirige le visiteur. Par contre, si le javascript est désactivé alors je fais apparaitre un bouton qui au cli doit rediriger.

Mais là je sais pas faire en pHP.

Comment faire ? Tout cela pour rendre accessible ceci à un plus grand nombre.

En fait, je souhaiterais savoir faire cela :

Un formulaire permet une redirection automatique en sélectionnant le nom de la page dans une liste déroulante

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

Salut,

Pour que ca marche en php, le plus simple est de faire ton script sur deux pages.

Exemple :

- Sur la premiere page tu as ton formulaire

<form action="page2.php" method=post>
<select name="redir">
<option value="http://www.----.com>Site 1
<option value="http://www.----.com>Site 2
...
<option value="http://www.----.com>Site n

</select>
<!-- Le reste de ton formulaire (bouton, etc...)
</form>

Sur la deuxième page :

<?
header("location: $_POST['redir']");
?>

C'est une méthode parmis d'autres :)

Lien vers le commentaire
Partager sur d’autres sites

Essaies plutot ceci :

header("Location :".$_POST['redir']);

et éventuellement, si ton script est redirigé sur la seconde page, places y ce code :

foreach($_POST as $k => $v)echo"<br>".$k."|".$v;

s'il reste sur la première page, place ce code sur la premiere.

Lien vers le commentaire
Partager sur d’autres sites

Bon, je ne comprends rine cela ne fonctionne pas.

Voici mon code où la liste se situe :

  <form action="redirection.php" method="post"><p>
   <select name="rubrique" onchange="window.location = form.rubrique.options[form.rubrique.selectedIndex].value; " tabindex="464">
       <option>Liste des communes</option>
 <option value="http://www.webmaster-hub.com">Webmaster</option>
       <option value="http://www.alsacreations.com" >Alsacreations</option>

     </select></p>
 </form>  
 <noscript>
       <input type="submit" value="Go" class="bouton" />
       </noscript>

Ensuite mon code du fichier redirection.php :

<? header("Location :".$_POST['rubrique']);?>

Après test cela ne fonctionne pas ? Quelqu'un voit il mon erruer ?

Merci

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

Ensuite mon code du fichier redirection.php :

<? header("Location :".$_POST['rubrique']);?>

Après test cela ne fonctionne pas ? Quelqu'un voit il mon erruer ?

Oui enlève l'espace entre location et : (et dans une certaine mesure je ne sais pas si le "L" de Location ne doit pas être en minuscule.)

[edit]

Par contre il faut un espace après le ":"

[/edit]

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

Rien en mettant cela, je crois qu'en cliquant sur le bouton il n'arrive pas utiliser le fichier redirection.php

Le clic sur le bouton ne fait rien

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

Bon, je viens de trouver :

Un fichier pHP comme cela :

switch($_POST['Liste']){
case "w3c":
header("Location: http://www.w3c.org");
break;
case "google":
header("Location: http://www.google.fr");
break;

Un fichier javascript comme cela :

var str='';
str+='<FORM>'
str+=' <select NAME=\"ListeUrl\" SIZE=1 onChange=\"ChangeUrl(this.form)\">'
str+=' <option selected="selected" value=\"\">-Selectionnez votre destination-</option>'
str+=' <option value=\"http://www.w3c.org\">Le w3c</option>'
str+=' <option value=\"http://www.google.fr\">Google</option>'
str+=' </select>'
str+=' </FORM>'
document.write(str)

Et le fichier principal qui fait appel avec un formulaire au fichier PHP et au JS.

Voilà

Une matinée pour arriver à faire fonctionner une liste deroulante sans javascript et redirection. C pas mal non

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...