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 :

faire un graphe d'état


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut faire un graphe d'état
    Bonjour,

    je voudrais effectuer 3 étapes ; comme celles-ci sont très proches, j'ai fait une fonction appelée dans les 3 étapes, mais avec un paramètre qui permet de savoir dans quelle étape on est, et ainsi prendre en compte les petites variations ; mais le problème, c'est que malgré mon code, on reste invariablement dans la première étape et je ne comprends pas pourquoi. Voici mon code :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
    session_start();
    ...
    if (isset($_POST['valider'])) {
    ...
    }
    // preparer la suite
    switch($type) {
    case "pere" : $type="mere"; fct_form($type); break;
    case "mere" : $type="enf"; fct_form($type); break;
    default : break;
    }
    ?> 
     
     
    <!DOCTYPE html>
    <html>
      <head>
    ...
    </head>
    <body>
    <?
    ...
     function fct_form($type)
     {
     $_SESSION['type']=$type;
     
    ?>
     ...
    <form action="" method="post" enctype="multipart/form-data">
     ...
    <div class="boutons">
                <input type="submit" name="valider" value="Envoyer" />
                <input type="submit" name="raz" value="Effacer" />
              </div>
    </form>
    <?php 
     
     }
    ?>
      </body>
    </html>
    Les 3 étapes sont "pere", "mere" et "enf". Quelqu'un voit-il mon problème ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    A part que tu sembles confondre un switch et une boucle, j'ai rien compris...

    EDIT : arf oui... j'ai compris j'avais pas vu le action du formulaire...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    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
    Comment est défini $type ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Pose-toi la question de savoir quand ta fonction sera exécutée et s'affichera ton formulaire...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Comme ce que j'ai fait n'a pas l'air très clair, un brin d'explication : voici le scénario que je souhaite :
    le programme principal appelle la fonction "fct_form" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <?php
     include 'fct_form.php';
     fct_form("pere");
     ?>
    Celle-ci contient un formulaire html et son action. Donc au départ, $type="pere", puis le formulaire est appelé ; quand l'utilisateur clique sur "envoyer", le switch (et y a pas confusion ; une boucle, ça n'irait pas) met "mere" dans $type ; donc fct_form("mere") est appelé ; formulaire puis action et on a $type="enf" et re-appel de fct_form()(fct_form("enf") ), et là, c'est fini. Est-ce plus clair comme ça ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Je ne vois pas où tu instancies $type...tu le récupères bien de la session à un moment (avant ton switch) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $type = (!empty($_SESSION['type']) ? $_SESSION['type'] : 'pere';
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Dans le fichier principal (index.php), je passe la chaîne "pere" à fct_form, ce qui instancie $type, puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     function fct_form($type)
     {
     $_SESSION['type']=$type;
     $type = (!empty($_SESSION['type']) ? $_SESSION['type'] : 'pere';
    ...
    puis le switch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    switch($type) {
    case "pere" : $type="mere"; fct_form($type); break;
    case "mere" : $type="enf"; fct_form($type); break;
    default : break;
    }
    mais toujours le problème...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  8. #8
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Te reste plus qu'à mettre des traces pour voir ce qui se passe dans ce cas !
    Juste avant ton switch par exemple, et à l'intérieur de ta fonction : echo 'type:'.$type;.
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Merci car ça m'a relancé et en fait, j'étais assez loin de ce qu'il fallait faire ; pour transmettre la donnée, je ne me sers plus d'une variable de session mais de l'URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form action="?type=<?php echo $type;?>" method="post" enctype="multipart/form-data">
    ...
    $type=$_GET['type'];
    et j'ai également changé ma façon d'appeler le formulaire :
    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
     <?php
     session_start();
     $_SESSION['type']="pere";
     include 'fct_form.php';
     fct_form();
     ?>
    ...
     function fct_form()
     {
    $type=$_SESSION['type'];
    ...
    et à la fin de l'action :
    switch($type) {
    case "pere" :  $_SESSION['type']="mere"; break;
    case "mere" :  $_SESSION['type']="enf"; break;
    case "enf" : exit("merci de votre inscription"); break;
    }
    je me rapproche de ce que je souhaite mais j'aurai probablement d'autres fils de discussion à ouvrir...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

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

Discussions similaires

  1. plusieurs courbes sur un graphe dans état crystal report
    Par anneso108 dans le forum SAP Crystal Reports
    Réponses: 9
    Dernier message: 27/03/2006, 09h58
  2. [Débutant] Faire un graph ss lib avec une boucle
    Par Darkenshin dans le forum C
    Réponses: 5
    Dernier message: 24/11/2005, 16h39
  3. Composant permettant de faire des graphes sous Excel
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 25/10/2005, 22h13
  4. [SWT] Api pour faire des graph ?
    Par bawan dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 05/09/2005, 13h13
  5. Mysql & mrtg : faire un graphe avec le contenu d'une tab
    Par fouhaa dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 12/08/2005, 12h38

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