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 :

Clic sur bouton 1 fait apparaître un bouton 2 qui doit exécuter un code PHP [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut Clic sur bouton 1 fait apparaître un bouton 2 qui doit exécuter un code PHP
    bonsoir
    je suis entrain d'apprendre le PHP et j'ai un petit problème que j'ai rencontré lors de la création d'un programme.
    je souhaite lorsque je fais click sur un bouton1 il va exécuter un code php et affiche le bouton2 et lorsque je clique sur le bouton2 déjà affiché il exécute le reste du code php
    mon code est comme cette exemple:
    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
    <html>
    <body>
    <div>
    <form method="post" action="" >
    <input type="submit" name="bouton1"  value="bouton1" />
    </div>
    <?php
    if (isset($_POST['bouton1'])){
    	$hello="hello";
    	echo $hello;
    ?>
    <input type="submit" name="bouton2"  value="bouton2" />
    <?php
    if (isset($_POST['bouton2'])){
    	echo $hello;
    }
    }
    ?>
    </form>
    </body>
    </html>
    ici le clique sur bouton affiche le message "hello" et le bouton2
    mais si je clique sur le bouton2 ces deux derniers disparaissent et rien n'est affiché et ne reste que le bouton1
    S.V.P. comment résoudre se probléme
    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton test sur le bouton 2 ne doit pas être à l'intérieur du test pour le bouton 1.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     <html>
    <body>
    <div>
    <form method="post" action="" >
     
    <input type="submit" name="bouton1"  value="bouton1" />
     
    </div>
     
    <?php
     
    if (isset($_POST['bouton1']))
    {
    	$hello="hello";
    	echo $hello;
     }
    ?>
     
    <input type="submit" name="bouton2"  value="bouton2" />
     
    <?php
     
    if (isset($_POST['bouton2']))
    {
    	echo $hello;
    }
     
    ?>
     
    </form>
    </body>
    </html>
    j'ai changé le code et le test sur le bouton 2 n'est pas dans le test du bouton1, la à l’exécution j'ai les deux bouton 1 et 2 sont affichés et moi je veux que le clique sur le 1er fait apparaître le 2éme qui va exécuter un code PHP , aussi il y'a la variable $hello qui n'est pas reconnue maintenant:
    Notice: Undefined variable: hello in C:\Program Files (x86)\EasyPHP-12.0\www\test commandes\test.php on line 26
    merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as défini $hello quand dans le cas 1.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    oui effectivement, je veux utiliser la variable déclarer dans le cas 1 et aussi je veux que le bouton2 sera afficher qu’après le clique de bouton 1

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le plus simple est de déclarer $hello en dehors de toute condition.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    j'ai changé la déclaration $hello au dehors de toute condition et les 2 bouton affichent bien le message, mais mon problème principale n'est pas résolu:
    c'est que le clique sur le bouton1 fait apparaitre le bouton2 et au clique de se dernier un code php sera executer c'est à dire seulement le bouton1 sera affiché au démarrage de la page

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et quel est le problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    j'ai changé la position des accolades :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     <html>
    <body>
    <div>
    <form method="post" action="" >
     
    <input type="submit" name="bouton1"  value="bouton1" />
     
    </div>
     
    <?php
     	$hello="hello";
    if (isset($_POST['bouton1']))
    {
     
    	echo $hello;
     
    ?>
     
    <input type="submit" name="bouton2"  value="bouton2" />
     
    <?php
     }
    if (isset($_POST['bouton2']))
     
    	echo $hello;
     
     
    ?>
     
    </form>
    </body>
    </html>
    la, j'ai un petit peu se que je veux faire le bouton1 fait apparaître le bouton2 et le message, ensuite le bouton 2 affiche le message mais il disparaît, je veux la qu'il reste à sa place.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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
     
    <html>
    <body>
    <div>
       <form method="post" action="" >
       <input type="submit" name="bouton1"  value="bouton1" />
       <?php
       $hello = "hello";
     
       if (isset($_POST['bouton1']) || isset($_POST['bouton2'])) {
    	echo $hello;
            echo '<input type="submit" name="bouton2"  value="bouton2" />';
       }
       ?>
       </form>
    </div>
    </body>
    </html>
    Prends l'habitude d'indenter ton code proprement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    voila se que je veux moi
    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
    22
     
     
    <html>
    <body>
    <div>
       <form method="post" action="" >
       <input type="submit" name="bouton1"  value="bouton1" />
       <?php
       $hello = "hello";
     
       if (isset($_POST['bouton1']))
    	{
    	echo $hello;
        echo '<input type="submit" name="bouton2"  value="bouton2" />';
       }
       if (isset($_POST['bouton2']))
       echo "test";
       ?>
       </form>
    </div>
    </body>
    </html>
    mais pourquoi si je clique sur bouton2 il disparaît juste après l'affichage de "test"

  12. #12
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Peut-être parce que tu n'as pas testé le code du dernier message de Sabotage...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  13. #13
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    non pas de tout, j'ai bien testé le code de Sabotage, et j'ai déja mis mes modifications de code dans le sujet
    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
    22
     
     
    <html>
    <body>
    <div>
       <form method="post" action="" >
       <input type="submit" name="bouton1"  value="bouton1" />
       <?php
       $hello = "hello";
     
       if (isset($_POST['bouton1']))
    	{
    	echo $hello;
        echo '<input type="submit" name="bouton2"  value="bouton2" />';
       }
       if (isset($_POST['bouton2']))
       echo "test";
       ?>
       </form>
    </div>
    </body>
    </html>
    mais le problème c'est au niveau du $_POST['bouton2'] le fait de cliquer sur le bouton2 toutes les données saisies avant cette action sont perdues

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu parles de données saisies dans des champs de formulaire ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    oui, après le "submit" les données qui sont saisie dans des champs formulaire sont écrasées et je ne peux pas réutiliser leurs valeurs dans le suite du programme

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faudrait que tu nous dises exactement ce que veux obtenir plutôt que de nous donner des exemples raccourcis qui ne correspondent pas à ton réel.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    voila, je veux créer une page qui est sous une petite application php pour gérer des revues ou il y'a l'ajout, suppression, modification et affichage des revues.
    dans la page de modification il y'a seulement un champs texte pour le code et un bouton envoyer.
    L’utilisateur va saisir le code de revue et il clique sur un bouton envoyer, la il y aura l'affichage de du nom de revue et l'apparition d'un autre champs texte qui va contenir le nouveau nom de revue et un bouton enregistrer.
    pour moi le premier clic sur le bouton envoyer va écraser le contenue du champ code donc si je fais:

    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
     
    ...
    echo '<input type="text" name="id_revue">';
    echo '<input type="submit" name="envoer" value="envoyer">';
    $code=$_POST['id_revue'];
    if (isset($_POST['envoyer']
    {
    sql_ligne="select nom_revue from revues where id_revue='".$code."'";
    $result=mysql_query(sql_ligne); 
    $revue=mysql_result($result,0);
    echo"vous voulez changer le revue'".$revue."' par :";
    echo '<input type="submit" name="enregistrer" value="enregistrer">';
    echo '<input type="text" name="nouveau_revue">';
    if (isset($_POST['enregistrer']
    {
    sql_ligne="update revues set nom_revue='".$_POST['nouveau_revue]."' where id_revue='".$code."'";
    mysql_query(sql_ligne); 
    } 
    }
    ...
    ici le code ne va pas reconnaître $code car le clic sur le 1er bouton envoyer a écrasé toutes le valeurs et il va m'afficher un message qu'il ne trouve pas "id_revue"

  18. #18
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il suffit de rependre la valeur quand elle existe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $id_revue = isset($_POST['id_revue']) ? $_POST['id_revue'] : '';
    echo '<input type="text" name="id_revue" value="' . $id_revue . '">';
    Par ailleurs interesse toi vite à la sécurité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql_ligne="select nom_revue from revues where id_revue='".mysql_real_escape_string($_POST['id_revue']) ."'";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql_ligne="update revues set nom_revue='".mysql_real_escape_string($_POST['nouveau_revue])."' where id_revue='".mysql_real_escape_string($_POST['id_revue'])."'";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Exécuter un code PHP à partir d'un clique sur un menu HTML
    Par jospinkapwa dans le forum Langage
    Réponses: 7
    Dernier message: 18/03/2011, 07h41
  2. Réponses: 12
    Dernier message: 09/06/2009, 10h26
  3. Detection clic sur bouton precedent
    Par shaun_the_sheep dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 20/10/2004, 17h18
  4. Réponses: 9
    Dernier message: 23/02/2004, 19h14
  5. Gérer les clics sur les boutons
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 08/02/2004, 15h34

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