Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/03/2011, 12h21   #1
Invité de passage
 
Jospin Kapwa
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : Jospin Kapwa

Informations forums :
Inscription : août 2010
Messages : 24
Points : 4
Points : 4
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 :
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
jospinkapwa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 13h00   #2
Modérateur
 
Avatar de Golgotha
 
Homme cédric
Développeur informatique
Inscription : août 2007
Messages : 732
Détails du profil
Informations personnelles :
Nom : Homme cédric
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 732
Points : 1 573
Points : 1 573
Envoyer un message via Skype™ à Golgotha
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 :
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 :
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à.
__________________
modérateur webmasters - développements web & php
faq jQuery - règles du forum - faqs web
mon espace perso
Venez participez au deuxième defi Web !
Golgotha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 14h00   #3
Membre éclairé
 
Avatar de keaton7
 
Inscription : octobre 2007
Messages : 674
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 674
Points : 320
Points : 320
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

keaton7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 14h08   #4
Invité de passage
 
Jospin Kapwa
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : Jospin Kapwa

Informations forums :
Inscription : août 2010
Messages : 24
Points : 4
Points : 4
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.
jospinkapwa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 14h12   #5
Invité de passage
 
Jospin Kapwa
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : Jospin Kapwa

Informations forums :
Inscription : août 2010
Messages : 24
Points : 4
Points : 4
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
jospinkapwa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 14h57   #6
Invité de passage
 
Jospin Kapwa
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : Jospin Kapwa

Informations forums :
Inscription : août 2010
Messages : 24
Points : 4
Points : 4
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.
jospinkapwa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 11h22   #7
Membre à l'essai
 
Vincent Garcia
Inscription : juin 2010
Messages : 20
Détails du profil
Informations personnelles :
Nom : Vincent Garcia
Âge : 23
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2010
Messages : 20
Points : 21
Points : 21
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 :
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.
Aphox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 07h41   #8
Invité de passage
 
Jospin Kapwa
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : Jospin Kapwa

Informations forums :
Inscription : août 2010
Messages : 24
Points : 4
Points : 4
Merci à vous tous qui ont intervenu, vos conseils m'ont aidé à résoudre mon problème et à m'ouvrir des nouveaux horizons, merci encore.
jospinkapwa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h00.


 
 
 
 
Partenaires

Hébergement Web