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 :

Variable d'une page à l'autre


Sujet :

Zend Framework PHP

  1. #1
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    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

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    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
    Lors du submit du formulaire avec la methode POST a l'autre page tu récupére ta variable avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->_request->getPost('nom_champs');

  3. #3
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    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).

  4. #4
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    Et si par GET ou POST ça te conviens pas, il reste les sessions..

  5. #5
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    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

  6. #6
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    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.

  7. #7
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    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

  8. #8
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    Idée complétement au hasard (et peut être absurde) : un setParam sur ton objet controller ?

  9. #9
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Oui justement j'ai essayé, mon objet mémorise bien ma variable mais dès que je change de page plus de param !!!

  10. #10
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    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.

  11. #11
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Pourtant le setRawData() de Zend_Http_Client semble être fait pour mon cas, non ?

  12. #12
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    Hum à quel moment de ton code tu fais ça ? d'où vient ta variable ? etc...

  13. #13
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Par défaut
    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.

  14. #14
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    +1 Zenklys
    mais il a l'air entété

  15. #15
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    +1 Zenklys
    mais il a l'air entété
    L'entêté va alors essayer de passer par des sessions....

  16. #16
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Par défaut
    Sur la premiere page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $session = Zend_Session_Namespace('monNameSpace');
    $session->maVariable = $maDonnee;
    Sur la deuxieme page pour le récuperer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $session = Zend_Session_Namespace('monNameSpace');
    $maDonnee = $session->maVariable;
    C'est pas plus compliqué que ca.

  17. #17
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    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 ?

  18. #18
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    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.

  19. #19
    Membre très actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    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.

Discussions similaires

  1. Pb de transfert de variables d'une page à l'autre
    Par dimitri13 dans le forum Langage
    Réponses: 5
    Dernier message: 26/11/2009, 10h50
  2. Réponses: 4
    Dernier message: 17/09/2009, 13h09
  3. [MySQL] Passer une variable d'une page à l'autre
    Par nintendoplayer dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/11/2007, 11h56
  4. Réponses: 3
    Dernier message: 16/06/2007, 11h05
  5. Passage d'une variable d'une page à l'autre
    Par tarah01 dans le forum Langage
    Réponses: 2
    Dernier message: 25/12/2006, 21h14

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