GARDER LES PARAMÈTRES D'UNE CLASS À TRAVERS PLUSIEURS PAGES.

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 25 mai 2006 à 09:58
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007 - 5 juin 2006 à 12:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37757-garder-les-parametres-d-une-class-a-travers-plusieurs-pages

massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
5 juin 2006 à 12:48
Direction le forum, car ta question n'a rien a voir avec ma source.
De plus, qu'elle est la liaison de ton site avec paypal, methode GET, POST ???
doclyv Messages postés 4 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 15 juin 2006
5 juin 2006 à 00:37
Hi!

Je n'ai pas encore testé ce code, je ne peux pas donner mon avis pour l'instant. Mais, présentement, j'ai un problème avec un formulaire espace-membre. Le problème, c'est que le client doit passer par Paypal pour valider sa transaction. Avant qu'il se dirige vers Paypal, j'aimerais qu'il complète un formulaire d'inscription et s'il n'est pas identifié, il ne peut avoir accès au contenu payant. Mon formulaire d'inscription fonctionne très bien, mais le problème, lorsque le client est authentifié, la page Paypal ne s'affiche pas pour compléter la transaction. Pouvez-vous me dire comment faire pour que le client complète mon formulaire d'inscription ou authentifié s'il était déjà inscrit, et tout de suite après qu'il se dirige vers Paypal. Si vous avez une réponse, n'hésitez pas à me l'envoyer par infosofa@yahoo.ca
Merci pour votre aide!
Doclyv...
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
28 mai 2006 à 23:08
Je l'ai mis dans le constructeur, pour qu'on oublie pas de le déclarer. Ca fait toujours une ligne de moins...
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
28 mai 2006 à 22:02
Salut!
Tit comment en cours de route: bizarre de un session_start dans ton constructeur et pas en haut de page...

@++

R@f
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 mai 2006 à 14:08
Vi, parce que ca serait bien plus utile de linéariser une bonne fois pour toute plutot que de faire du get/set à chaque instanciation.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 mai 2006 à 11:10
Il veut dire que c'est dommage qu'il soit si coûteux en terme de performance de linéariser un objet :-)
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
25 mai 2006 à 10:41
D'accord je comprend. En gros, on peut faire la même chose beaucoup plus simplement et rapidement.
Merci pour vos commentaires, très constructifs.
A bientôt
PS : "Ouais d'ailleurs c'est bien dommage pour le moment :/", que veux tu dire par là ?
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 mai 2006 à 10:12
Ouais d'ailleurs c'est bien dommage pour le moment :/
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 mai 2006 à 09:58
Hello,

pour ma part, ce sera plutôt négatif, désolé. En fait, l'idée est bonne, tu découvres la linéarisation, c'est très bien :-)
Seulement, ta classe ne sert à rien. Pourquoi est-ce que j'instancierais un autre objet, qui ne va pas durer en plus puisqu'à priori, je vais changer de page...pour le réinstancier sur la nouvelle page, et délinéariser mon 1er objet ?
Instancier un objet, c'est déjà coûteux, alors en instancier 2...
Bref : $_SESSION['maClasse'] = serialize ($oObj); suffit pour linéariser. Et $oObj = unserialize ($_SESSION['maClasse']); suffit pour délinéariser.

De plus, linéariser toute un objet, crois-moi, c'est couteux! Alors il est nécessaire de gérer cette linéarisation de toutes façons au sein de ton objet, avec ___sleep et ___wakeup (c'est valable pour la fermeture des connexions à une bdd d'ailleurs).

Et finalement, tu te rendras compte qu'il vaut parfois mieux sauvegarder dans une session uniquement les propriétés de l'objet dont tu auras besoin, plutôt que de le linéariser, et de le réinstancier en lui affectant ces propriétés sur la nouvelle page : c'est souvent beaucoup plus rapide.
Rejoignez-nous