Aller au contenu

Liste deroulante + PHP


Sujets conseillés

Posté

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.

Posté

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.

Posté (modifié)

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
Posté

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 :)

Posté

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.

Posté (modifié)

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
Posté (modifié)
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
Posté

En fait je veux quand le javascript est désactivé que le bouton créé avec la balise noscript utilise la fontion PHP de redirection

Posté

Et ca ne marche pas ? Je veux dire : quand le javascript est désactivé, tu n'as pas le bouton ?

Posté

si tu fait un

echo $_POST['rubrique']

à la place du header.... tu as quoi ?

Posté (modifié)

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
Posté

je ferais un test cet après-midi... pour le moment je ne vois pas ce que ca peut être... :huh:

Posté

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

Veuillez vous connecter pour commenter

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



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