|
 Posté le 22/11/2006 @ 23:32 |
| Bonjour, je débute.... Je cherche à insérer des liens dans un menu déroulant, pourriez vous m'indiquer un site, un tuto l'expliquant ? Merci beaucoup. Modifié par jjal le 22/11/2006 23:33
|
|
|
|
|
|
Posté le 23/11/2006 à 00:51 |
Petit astucien
| Je suis pas un espécialiste des menus déroulants, une liste déroulante je suppose. Mais bon... Voici la liste déroulante dans ta page HTML > <form method="POST" action="deroul.php"> <select name="site"> <option>GOOGLE</option> <option>PC ASTUCES</option> </select> <input type="submit" name="ok" value="ok"> </form> ...et voilà le module de traitement en PHP. L'hébergeur doit fournir PHP évidemment. Le fichier s'appelle deroul.php, il est à mettre dans le même répertoire que la page de la liste. <?php $url=""; if(empty($_POST["ok"])) {$_POST["ok"]="";} $ok=$_POST["ok"]; echo $ok; if($ok!=""){ if(empty($_POST["site"])) {$_POST["site"]="";} $site=$_POST["site"]; switch ($site){ case "GOOGLE" : $url="http://www.google.com" ;break; case "PC ASTUCES" : $url="http://www.pcastuces.com"; break; default : $url="http://www.google.com"; } header("location:".$url.""); } ?> Pour rajouter des liens tu fais correspondre une ligne <option>Nom du site</option> de la page HTML à une ligne case "Nom du site" : $url="url du site";break; dans déroul.php. *µ* |
|
Posté le 23/11/2006 à 09:32 |
Astucien | midnightblue a écrit :
Je suis pas un espécialiste des menus déroulants, une liste déroulante je suppose. Mais bon... Voici la liste déroulante dans ta page HTML> GOOGLEPC ASTUCES
...et voilà le module de traitement en PHP. L'hébergeur doit fournir PHP évidemment. Le fichier s'appelle deroul.php, il est à mettre dans le même répertoire que la page de la liste. $url=""; if(empty($_POST["ok"])) {$_POST["ok"]="";} $ok=$_POST["ok"]; echo $ok; if($ok!=""){ if(empty($_POST["site"])) {$_POST["site"]="";} $site=$_POST["site"]; switch ($site){ case "GOOGLE" : $url="http://www.google.com" ;break; case "PC ASTUCES" : $url="http://www.pcastuces.com"; break; default : $url="http://www.google.com"; } header("location:".$url.""); } ?> Pour rajouter des liens tu fais correspondre une ligne Nom du site de la page HTML à une ligne case "Nom du site" : $url="url du site";break; dans déroul.php. *µ*
je me permets juste de citer pour donner un code plus léger, et surtout avec les valeurs des options ... C'est juste une suggestion, que midnightblue ne le prenne pas mal ... fichier formulaire.html <form id="menu_deroulant" method="post" action="deroul.php"> <select name="site"> <option value="http://www.google.fr">GOOGLE</option> <option value="http://www.pcastuces.com">PC ASTUCES</option> </select> <input type="submit" name="ok" value="ok"> </form>
fichier deroul.php <?php if (isset($_POST['ok'])) { $site = (isset($_POST['site'])) ? $_POST['site'] : ''; if ($site != '') { header("Location: ".$site); } } ?>
changements - option value = l'url de destination directement (tu peux afficher ce que tu veux dans le texte de l'option) - isset $_POST['ok'] => sera valide si le formulaire a été posté - code php plus léger et plus lisible, même si certains n'aiment pas les structures ternaires, c'est juste ici une suggestion de clarté. On pourrait sécuriser ça un peu en vérifiant que $site (avant le header) soit bien de la forme http:// ... Modifié par Malcolm le 23/11/2006 09:37 |
|
Posté le 23/11/2006 à 10:13 |
Petit astucien
| Tu as raison, c'est bien mieux comme tu as écrit. C'est même évident. Et c'est d'ailleurs comme cela que je l'avais écrit dans un premier jet, mais par suite d'une erreur, çà ne marchait pas; comme j'allais vite, plutôt que de chercher l'erreur, j'ai fait fissa autrement. Et voilou. Snif ! A+ *µ* Modifié par midnightblue le 23/11/2006 10:48 |
|
Posté le 23/11/2006 à 12:15 |
| Salut à vous et merci pour vos réponses. Ma démarche... 1 Pages html, mises en forme en CSS. 2 Fonctionnement, il me faut donc soit des scripts java ou du traitement php... Qu'est-ce ? Deux langages de programmation ? Préférer l'un ou l'autre? (Là j'suis parti pour du php....) Que lire, Vous connaissez des liens ou des tutos? Html et Css j'ai trouvé. 3 Test en ligne, ... hébergement ... j'reviendrai avec des questions. 4 Finalisation du contenu avec les collègues. 5 Mise en ligne, donc apprendre à mettre jour.... J'ai bon ? J'suis à l'envers, il manque un truc ? Evidemment je n'en suis qu'au point 2, et il n'y a que les N°4 et 5 qui m'intéressent, mais, loin du tout du bout, j'veux bien ramer avant ....lol. Voici ce que j'avais fait. (Trouvé sur le net, compris (je pense) et adapté.... me reste à modifier les options value http...) <!-- Les menus --> <div id="menu"> <div class="element_menu"> <h4>L'école</h4> <form method="post" action="traitement.php"> <p> <label> <select name="choix"> <optgroup label="Vennes primaire"> <option value="Présentation">Présentation</option> <option value="Projet d'ecole">Projet d'ecole</option> <option value="Réglement intérieur">Réglement intérieur</option> <option value="Inscriptions">Inscriptions</option> <option value="...">...</option> </optgroup> <optgroup label="Sites institutionnels"> <option value="Site du ministère">Site du ministère</option> <option value="Site de l'IA">Site de l'IA</option> <option value="...">...</option> </optgroup> <optgroup label="Infos"> <option value="Calendrier scolaire">Calendrier scolaire</option> <option value="Mercredis libérés">Mercredis libérés</option> <option value="...">...</option> </optgroup> </select> </label> </p> </form> </div> Merci Modifié par jjal le 23/11/2006 12:25 |
|
Posté le 23/11/2006 à 12:30 |
| hello les gens Ps, j'avais fait du basic et du logo , dans le temps, donc pas trop peur des if... Avec un bouquin, ça va mieux ? A+ |
|
Posté le 23/11/2006 à 14:02 |
Astucien | |
|