doomer2 Posté 30 Novembre 2004 Posté 30 Novembre 2004 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.
Country Posté 30 Novembre 2004 Posté 30 Novembre 2004 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.
doomer2 Posté 1 Décembre 2004 Auteur Posté 1 Décembre 2004 (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é 1 Décembre 2004 par doomer2
Titag Posté 1 Décembre 2004 Posté 1 Décembre 2004 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
doomer2 Posté 1 Décembre 2004 Auteur Posté 1 Décembre 2004 Cela n'a pas l'air de fonctionner , je ne vois pas le probléme j'avais déjà essayé cela.
Anonymus Posté 1 Décembre 2004 Posté 1 Décembre 2004 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.
doomer2 Posté 1 Décembre 2004 Auteur Posté 1 Décembre 2004 (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é 1 Décembre 2004 par doomer2
Titag Posté 1 Décembre 2004 Posté 1 Décembre 2004 En effet ca va mieux marcher avec le code d'Anonymus
Titag Posté 1 Décembre 2004 Posté 1 Décembre 2004 (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é 1 Décembre 2004 par Titag
doomer2 Posté 1 Décembre 2004 Auteur Posté 1 Décembre 2004 En fait je veux quand le javascript est désactivé que le bouton créé avec la balise noscript utilise la fontion PHP de redirection
Titag Posté 1 Décembre 2004 Posté 1 Décembre 2004 Et ca ne marche pas ? Je veux dire : quand le javascript est désactivé, tu n'as pas le bouton ?
doomer2 Posté 1 Décembre 2004 Auteur Posté 1 Décembre 2004 quand e javascript est desactive j'ai le bouton mais c'est quand je clqiue que ca fonctionne pas
Titag Posté 1 Décembre 2004 Posté 1 Décembre 2004 Tu as un message d'erreur ? "Ca ne marche pas" c'est un peu vague
doomer2 Posté 1 Décembre 2004 Auteur Posté 1 Décembre 2004 pas de message d'erreur rien, je clique dans le vide
Titag Posté 1 Décembre 2004 Posté 1 Décembre 2004 si tu fait un echo $_POST['rubrique'] à la place du header.... tu as quoi ?
doomer2 Posté 1 Décembre 2004 Auteur Posté 1 Décembre 2004 (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é 1 Décembre 2004 par doomer2
Titag Posté 1 Décembre 2004 Posté 1 Décembre 2004 je ferais un test cet après-midi... pour le moment je ne vois pas ce que ca peut être...
doomer2 Posté 1 Décembre 2004 Auteur Posté 1 Décembre 2004 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant