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

Zend Framework PHP Discussion :

transfert d'une variable d'une vue à l'autre


Sujet :

Zend Framework PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 318
    Par défaut transfert d'une variable d'une vue à l'autre
    Bonjour,

    j'ai un champs dans lequel l'utilisateur rentre un chiffre,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html><body>
    <form method="post" action="xml">
    Nombre : <input type="text" name="chiffre" size="12"><br>
    <input type="submit" value="OK">
    </form>
    <?php
     
    // Récuperation du nombre ou 0 si non saisi
    $chiffre=(isset($_POST['chiffre']))?$_POST['chiffre']:0;
     
    // Mémorisation du nombre dans le tableau $_SESSION
    $_SESSION['chiffre']=$chiffre;
    ?>


    Puis dans une autre vue (xml), où j'ai besoin de cette variable je crée un formulaire dynamique en fonction de la valeur du variable chiffre:

    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
    <?php
    // Démarrage de la session
    session_start();
     
    // Récuperation du nombre préalablement sauvegardé
    $chiffre=(isset($_SESSION['chiffre']))?$_SESSION['chiffre']:0;
     
     
     ?>
    <html><body>
     
    <form method="post" action="">
     
    <?php for($i=0; $i < $chiffre ; $i++){ ?>
     <fieldset>
           <legend>Nom [$i]</legend> <!-- Titre du fieldset -->
           Nom  :  <input type="text" name="name[]">
        </fieldset>
     
       <fieldset>
           <legend>Prenom </legend> <!-- Titre du fieldset -->
           Prenom : <input type="text" name="surname[]">
        </fieldset>
     
       <fieldset>
           <legend>Tel</legend> <!-- Titre du fieldset -->
           Tel : <input type="text" name="tel[]">
        </fieldset>
     
       <fieldset>
           <legend>Mail [$i]</legend> <!-- Titre du fieldset -->
            E-mail : <input type="text" name="mail[]">
        </fieldset>
     
     
     
    <?php } ?>
      <input type="submit" value="Go" />
    </form>
     
     </body></html>

    mais j'ai rien comme resultat, il me crée rien, comme si le contenu de la variable chiffre = 0.

  2. #2
    rib
    rib est déconnecté
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 70
    Par défaut
    je debute sous zend mais il me semble que zend gere les session a sa facon
    je pense que tu devrai essayer qquelquechose com sa:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <html><body>
    <form method="post" action="xml">
    Nombre : <input type="text" name="chiffre" size="12"><br>
    <input type="submit" value="OK">
    </form>
    <?php
     
    // Récuperation du nombre ou 0 si non saisi
    if(isset($_POST['chiffre']){
    $chiffre=$_POST['chiffre'];
    $defaultNamespace = new Zend_Session_Namespace('Default');
    $defaultNamespace->chiffre = $chiffre;
    }
    et pour recuperer la variable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $defaultNamespace = new Zend_Session_Namespace('Default');
    if(isset($defaultNamespace->chiffre)) {
     $chiffre = $defaultNamespace->chiffre;
    } else {
    echo 'la valeur n\'est pas dans la variable de session';
    }

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Si vous avez besoin de la variable seulement dans l'autre vue tu pourra préciser au formulaire d'envoyer d'irectement ta variable a l'autre action.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form method="post" action="l'autre vue">
    Nombre : <input type="text" name="chiffre" size="12"><br>
    <input type="submit" value="OK">
    </form>
    puis tu le récupére directement avec $_POST

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 318
    Par défaut
    @ rib: j'ai appliqué ta solution mais ça m'affiche : la valeur n'est pas dans la variable de session

    je sais pas comment le faire

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 318
    Par défaut
    @m4riachi

    Peux-tu m'expliquer comment préciser au formulaire d'envoyer directement ma variable a l'autre vue ??.

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Mets dans l'attribut action le nom de la vue ou tu veux récupérer ta valeur comme "/client/afficher" puis tu récupérer dans l'action la valeur avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_request->getPost("chiffre");
    et si tu le veux afficher tu le passe a la vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->view->chiffre = $this->_request->getPost("chiffre");

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

Discussions similaires

  1. [Débutant] Affecter une variable d'une classe C# à une variable Javascript
    Par SultanGeek dans le forum C#
    Réponses: 0
    Dernier message: 20/06/2015, 20h42
  2. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19
  3. faire passer une variable d'une fct js à une page php
    Par harlock59 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 14h41
  4. Affecter une variable javascript à une variable php
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 20h58
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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