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 23/12/2010, 18h28   #1
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 809
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 809
Points : 220
Points : 220
Par défaut Variable d'une page à l'autre

Bonjour,

question super simple, comment transmettre une variable (string) d'une page à une autre ?
J'ai un bouton et je veux que lors du clic (qui me renvoi sur une autre page) obtenir ma variable.
Je pensais utiliser une variable POST mais il faut soumettre un formulaire à se que j'ai lu pour transmettre une variable. Mais je trouve pas cela très propre.
ZF ne propose à une classe pour cela ?

Merci
__________________
Mes contributions phares en dev : www.rigaudie.fr
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 18h44   #2
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
Lors du submit du formulaire avec la methode POST a l'autre page tu récupére ta variable avec
Code :
1
2
 
$this->_request->getPost('nom_champs');
m4riachi est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 18h56   #3
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Solution simple: change ton boutton en lien, applique lui des styles pour qu'il ressemble à un boutton (jQuery UI button par exemple t'aide à faire ça) et mets dans le lien ta variable sous la forme index.php?mavar=toto par exemple.

Ensuite tu peux réccupérer cette valeur avec $_GET (ou l'équivalent fourni par ton framework).
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 19h39   #4
Membre éclairé
 
Homme Yann
Développeur Web
Inscription : avril 2005
Messages : 280
Détails du profil
Informations personnelles :
Nom : Homme Yann
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 280
Points : 366
Points : 366
Envoyer un message via MSN à yannux
Et si par GET ou POST ça te conviens pas, il reste les sessions..
yannux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 08h26   #5
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 809
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 809
Points : 220
Points : 220
GET ne me conviens pas mais POST oui. Par contre je trouve pas propre de faire un formulaire juste pour 1 variable. Les sessions ne me semblent pas adaptées à mon usage.
Zend ne propose pas une classe faisant cela?

Merci
__________________
Mes contributions phares en dev : www.rigaudie.fr
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 09h26   #6
Membre éclairé
 
Homme Yann
Développeur Web
Inscription : avril 2005
Messages : 280
Détails du profil
Informations personnelles :
Nom : Homme Yann
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 280
Points : 366
Points : 366
Envoyer un message via MSN à yannux
Un cookie sinon
C'est pas une question de Zend ou autre.
C'est du PHP et HTTP.
Soit tu passe ta variable dans l'url, soit en POST, soit en sessions, soit en cookie.
yannux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 09h35   #7
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 809
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 809
Points : 220
Points : 220
J'ai essayer de manipuler les entêtes HTTP avec Zend_Http_Client pour lui imposer des variables POST mais elles sont perdues quand je change de page.
Pourtant j'ai l'impression que cela est possible avec cette classe
__________________
Mes contributions phares en dev : www.rigaudie.fr
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 09h46   #8
Membre éclairé
 
Homme Yann
Développeur Web
Inscription : avril 2005
Messages : 280
Détails du profil
Informations personnelles :
Nom : Homme Yann
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 280
Points : 366
Points : 366
Envoyer un message via MSN à yannux
Idée complétement au hasard (et peut être absurde) : un setParam sur ton objet controller ?
yannux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 10h11   #9
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 809
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 809
Points : 220
Points : 220
Oui justement j'ai essayé, mon objet mémorise bien ma variable mais dès que je change de page plus de param !!!
__________________
Mes contributions phares en dev : www.rigaudie.fr
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 10h12   #10
Membre éclairé
 
Homme Yann
Développeur Web
Inscription : avril 2005
Messages : 280
Détails du profil
Informations personnelles :
Nom : Homme Yann
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 280
Points : 366
Points : 366
Envoyer un message via MSN à yannux
Voilà d'où l'utilité d'une session ou d'un GET/POST, une fois que ton script a finis de s'éxécuter vairable détruite.
yannux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 10h42   #11
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 809
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 809
Points : 220
Points : 220
Pourtant le setRawData() de Zend_Http_Client semble être fait pour mon cas, non ?
__________________
Mes contributions phares en dev : www.rigaudie.fr
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 10h52   #12
Membre éclairé
 
Homme Yann
Développeur Web
Inscription : avril 2005
Messages : 280
Détails du profil
Informations personnelles :
Nom : Homme Yann
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 280
Points : 366
Points : 366
Envoyer un message via MSN à yannux
Hum à quel moment de ton code tu fais ça ? d'où vient ta variable ? etc...
yannux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 10h59   #13
Membre régulier
 
Étudiant
Inscription : mars 2007
Messages : 107
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 107
Points : 93
Points : 93
Je me permets juste de donner mon humble avis. Pour avoir travaillé sur des applications ou les données sont transmises de pages en pages via des formulaires, je déconseille très fortement cette méthode.

- Nuisant à la clarté du code :
- Maintenance difficile,
- Ajout de nouvelles pages difficiles,
- Debuggage compliqué
- Variable du formulaire à transmettre -> plus de traffic client - serveur
- Plus de transmission -> vitesse de chargement diminuée
- Ajout d'un formulaire sur la page -> surcharge inutile du html
- Données à vérifier pour la sécurité à chaque fois
- ...
Et encore, des dizaines d'autres raisons existent.


Je conseille donc l'utilisation de variables de session. De plus Zend gère plutôt correctement les variables de session.
Zenklys est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/12/2010, 11h02   #14
Membre éclairé
 
Homme Yann
Développeur Web
Inscription : avril 2005
Messages : 280
Détails du profil
Informations personnelles :
Nom : Homme Yann
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 280
Points : 366
Points : 366
Envoyer un message via MSN à yannux
+1 Zenklys
mais il a l'air entété
yannux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 11h16   #15
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 809
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 809
Points : 220
Points : 220
Citation:
+1 Zenklys
mais il a l'air entété
L'entêté va alors essayer de passer par des sessions....
__________________
Mes contributions phares en dev : www.rigaudie.fr
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 11h21   #16
Membre régulier
 
Étudiant
Inscription : mars 2007
Messages : 107
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2007
Messages : 107
Points : 93
Points : 93
Sur la premiere page :
Code :
1
2
3
 
$session = Zend_Session_Namespace('monNameSpace');
$session->maVariable = $maDonnee;
Sur la deuxieme page pour le récuperer :
Code :
1
2
3
 
$session = Zend_Session_Namespace('monNameSpace');
$maDonnee = $session->maVariable;
C'est pas plus compliqué que ca.
Zenklys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 11h23   #17
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Citation:
Envoyé par Général03 Voir le message
GET ne me conviens pas mais POST oui. Par contre je trouve pas propre de faire un formulaire juste pour 1 variable. Les sessions ne me semblent pas adaptées à mon usage.
Zend ne propose pas une classe faisant cela?

Merci
Parce que tu es de ceux qui pensent que POST est plus sécurisé que GET ? C'est une légende ! Pour quelle raison GET ne te convient-il pas ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 11h35   #18
Membre confirmé
 
Avatar de Général03
 
Inscription : avril 2006
Messages : 809
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 809
Points : 220
Points : 220
Ok Zenklys pas de souci je voulais simplement avoir votre avis sur la manière de procéder.
Je sais bien, Benjamin Delespierre, que POST n'affiche pas les paramètres dans URL et ne rend pas plus sécurisé le système mais au moins ce ne tente pas les novices à rentrer n'importe quoi. Et je ne veux pas de GET car si mon string est long ca devient une URL pourrie et en plus aucun intérêt de l'afficher dans URL.
__________________
Mes contributions phares en dev : www.rigaudie.fr
Général03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2010, 15h39   #19
Membre actif
 
Avatar de hazamor
 
Homme
Développeur Web
Inscription : décembre 2008
Messages : 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27

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

Informations forums :
Inscription : décembre 2008
Messages : 179
Points : 199
Points : 199
Envoyer un message via MSN à hazamor
Par défaut Zend_Controller_Router_Route_Regex

Citation:
Envoyé par Général03 Voir le message
Et je ne veux pas de GET car si mon string est long ca devient une URL pourrie et en plus aucun intérêt de l'afficher dans URL.
Si tu veux ne pas afficher les paramètres GET, alors utilise le "réécriture des URLs', en utilisant le classe Zend_Controller_Router_Route_Regex.
hazamor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h56.


 
 
 
 
Partenaires

Hébergement Web