IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Exécuter un code PHP à partir d'un clique sur un menu HTML


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Exécuter un code PHP à partir d'un clique sur un menu HTML
    Salut,

    j'ai crée un formulaire HTML avec trois boutons :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <form method=post action="essai.php">
       <input type="submit" name ="Bouton1" value="Bouton1">
       <input type="submit" name ="Bouton2" value="Bouton2">
       <input type="submit" name ="Bouton3" value="Bouton3">
    </form>
     
    et ses trois boutons permettent d'exécuter les trois codes php ci-dessous :
     
    <scrip language="PHP">
    if(isset($_POST['Bouton1'])){echo "Vous avez cliquez sur Bouton1";}
    </script>
     
    <scrip language="PHP">
    if(isset($_POST['Bouton2'])){echo "Vous avez cliquez sur Bouton2";}
    </script>
     
    <scrip language="PHP">
    if(isset($_POST['Bouton2'])){echo "Vous avez cliquez sur Bouton2";}
    </script>
     
    Comment arrivé à réaliser la même chose en utilisant un menu HTML?
     
    <div id="bouton">
    <ul>
    <li><a href="#">Code1</a></li>
    <li><a href="#">Code2</a></li>
    <li><a href="#">Code3</a></li>
    </ul>
    </div>
    en cliquant sur Code1, le premier code php doit s'exécuté, en cliquant sur Code2 le deuxième et enfin sur Code3 le troisième.

    Merci d'avance pour toutes vos réponses.

    Kapwa

  2. #2
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Il y a plusieurs façon de faire..

    Par exemple vous pouvez faire 3 formulaires, un pour chaque cas et avec Jquery il est possible de faire appèle à la fonction submit d'un formulaire au clique sur un élément, ici au clique sur un élément li auquel vous devrez mettre un id.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <div id="bouton">
     
    <form id="target1" method=post action="essai1.php">
       <input type="submit" name ="Bouton1" value="Bouton1">
    </form>
     
    <form id="target2" method=post action="essai2.php">
        <input type="submit" name ="Bouton1" value="Bouton1">
     </form>
     
    <form id="target3" method=post action="essai3.php">
        <input type="submit" name ="Bouton1" value="Bouton1">
     </form>
     
    <ul>
    <li id="code1"><a href="#">Code1</a></li>
    <li id="code2"><a href="#">Code2</a></li>
    <li id="code3"><a href="#">Code3</a></li>
    </ul>
    </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script src="http://code.jquery.com/jquery-1.5.js"></script>
    <script>
        $("#code1").click(function () { 
           $('#target1').submit();
        });
        $("#code2").click(function () { 
           $('#target2').submit();
        });
     
        $("#code3").click(function () { 
           $('#target3').submit();
        });
    </script>
    Il existe d'autres méthode mais peut être que ça vous aidera déjà.
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  3. #3
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    si vraiemnt c'est un menu que tu veux faire, ne pas pas sur un formulaire avec des boutons mais sur une liste ul li formatée en CSS. Tu ajoutes un évènement onclick si tu veux gérer dynamiquement des éléments et roulez jeunesse

    <ul>
    <li><a href="#" onclick="alert('Vous avez cliqué sur le 1')">Element1</a></li>
    <li><a href="#" onclick="alert('Vous avez cliqué sur le 2')">Element2</a></li>
    </ul>

    ---

    Si tu as bien besoin d'utiliser tes formulaires, soit tu envoies un paramètre en GET dans ton lien href (href="toto.php?element=element1"), soit tu postes ton form comme spécifié ci dessus. Dans tous les cas, la page sera rechargée et ton traitement se fera sur la vérification du tableau post ou tu veux dans le code. Si tu tiens à utiliser du JS pour ne pas recharger ta page, fait de l'Ajax

    Bon courage
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  4. #4
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci pour votre reponse.

    Je tiens aussi à vous signalez que je suis débutant en php.

    Donc si je m'eloigne des principes, je vous prie de n'est pas m'en tenir trop rigueur, seulement de m'orienter.

    J'ai essayé de regrouper les Codes comme-ça :

    <html>
    <body>
    <div id="bouton">

    <form id="target1" method=post action="essai1.php">
    <input type="submit" name ="Bouton1" value="Bouton1">
    </form>

    <form id="target2" method=post action="essai1.php">
    <input type="submit" name ="Bouton2" value="Bouton2">
    </form>

    <form id="target3" method=post action="essai1.php">
    <input type="submit" name ="Bouton3" value="Bouton3">
    </form>

    <ul>
    <li id="code1"><a href="#">Code1</a></li>
    <li id="code2"><a href="#">Code2</a></li>
    <li id="code3"><a href="#">Code3</a></li>
    </ul>
    </div>

    <script src="http://code.jquery.com/jquery-1.5.js"></script>
    <script>
    $("#code1").click(function () {
    $('#target1').submit();
    });
    $("#code2").click(function () {
    $('#target2').submit();
    });

    $("#code3").click(function () {
    $('#target3').submit();
    });
    </script>

    <script language="PHP">
    if(isset($_POST['Bouton1'])){echo "Vous avez cliquez sur Bouton1";}
    </script>

    <script language="PHP">
    if(isset($_POST['Bouton2'])){echo "Vous avez cliquez sur Bouton2";}
    </script>

    <script language="PHP">
    if(isset($_POST['Bouton3'])){echo "Vous avez cliquez sur Bouton3";}
    </script>


    </body>
    <//html>


    Mon souci c'est que en cliquant sur <li id="code1"><a href="#">Code1</a></li> que ça puisse me donner le meme resultat que quand je clique sur <input type="submit" name ="Bouton1" value="Bouton1"> et par la suite si je pourrais arrivé à me passé du formulaire ça sera une très bonne chose.

    Mais ici ça me donne pas les résultats.

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    A la fin je voulais dire : ça ne me donne pas le meme resultat en cliquant sur le bouton et sur le lien.

    et je réitère aussi ma préoccupation de me passer du formulaire.

    merci

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    En lisant la réponse de Keaton 7, je crois que je dois reformulé ma question :

    Mon souci n'est pas d'afficher : <<Vous avez cliquez sur Bouton1>> mais plutot d'exécuter un code PHP en cliquant sur un lien bien que mon code fait comme action afficher : <<Vous avez cliquez sur Bouton1>>, donc ça pourra etre aussi se connecter à une base de données, extraire des données et peut-être les affichés par la suite.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 25
    Points
    25
    Par défaut
    Bonjour,
    Si tu n'as pas de champs input dans ton formulaire, tu n'es pas obligé d'en faire un(de formulaire). Si tu veux seulement des événements différents sur chaque bouton tu peux simplement faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    if(isset($_GET['bouton']) && is_numeric($_GET['bouton']) {
    switch($_GET['bouton']) {
       case 1 :
         //Ton traitement
         break;
       case 2 :
         //Ton traitement
         break;
       case 3 :
         //Ton traitement
         break;
      default :
         //Ton traitement
         break;
    }
    }
     
    <a href="mapage.php?bouton=1" title="Bouton 1"><img src="bouton1.jpg" alt="Bouton 1" /></a>
    <a href="mapage.php?bouton=2" title="Bouton 2"><img src="bouton2.jpg" alt="Bouton 2" /></a>
    <a href="mapage.php?bouton=3" title="Bouton 3"><img src="bouton3.jpg" alt="Bouton 3" /></a>
    Par contre si tu as des données à récupérer via ton formulaire, alors oui je te conseille de créer 3 formulaires différents.

  8. #8
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci à vous tous qui ont intervenu, vos conseils m'ont aidé à résoudre mon problème et à m'ouvrir des nouveaux horizons, merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 09/06/2009, 10h26
  2. Réponses: 2
    Dernier message: 11/09/2008, 21h32
  3. Réponses: 4
    Dernier message: 09/11/2007, 14h24
  4. Lancer du code PHP à partir d'un button
    Par Pgs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 16/05/2006, 17h10
  5. [Système] rediretion sans exécuter le code php
    Par sam01 dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2006, 01h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo