Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
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 29/01/2011, 20h43   #1
Membre du Club
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 45
Points : 45
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 :
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 :
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.
maserati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 06h36   #2
rib
Membre à l'essai
 
Inscription : janvier 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 70
Points : 23
Points : 23
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 :
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 :
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';
}
rib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 10h13   #3
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

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

Informations forums :
Inscription : mai 2009
Messages : 456
Points : 639
Points : 639
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 :
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
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 11h11   #4
Membre du Club
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 45
Points : 45
@ 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
maserati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 11h12   #5
Membre du Club
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 45
Points : 45
@m4riachi

Peux-tu m'expliquer comment préciser au formulaire d'envoyer directement ma variable a l'autre vue ??.
maserati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 10h10   #6
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

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

Informations forums :
Inscription : mai 2009
Messages : 456
Points : 639
Points : 639
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 :
$this->_request->getPost("chiffre");
et si tu le veux afficher tu le passe a la vue
Code :
$this->view->chiffre = $this->_request->getPost("chiffre");
m4riachi 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 05h16.


 
 
 
 
Partenaires

Hébergement Web