[PHP] Unserialize trop cher pour php ? paske la, ca veut pas

Unserialize trop cher pour php ? paske la, ca veut pas [PHP] - PHP - Programmation

Marsh Posté le 23-05-2003 à 10:35:32    

Je dois transmettre un objet via POST. Je le fais en le serialisant avant. J'accede a mon objet serialisé sur la page destination, en voici la preuve :
 

Code :
  1. O:23:\"listegroupesaccessibles\":1:{s:4:\"elem\";a:2:{i:0;O:16:\"groupeaccessible\":4:{s:7:\"libelle\";s:6:\"PUBLIC\";s:14:\"administration\";s:1:\"0\";s:4:\"code\";s:1:\"2\";s:5:\"droit\";i:0;}i:1;O:16:\"groupeaccessible\":4:{s:7:\"libelle\";s:14:\"ADMINISTRATEUR\";s:14:\"administration\";s:1:\"1\";s:4:\"code\";s:1:\"1\";s:5:\"droit\";i:1;}}}


 
Maintenant je veux deserializer donc je fais :
 

Code :
  1. $tmp = $_POST['monobjet'] ;
  2. $tmp2 = unserialize($tmp) ;
  3. print_r($tmp2) ;


 
Le print_r n'affiche pas la structure attendue, en fait $tmp2
contient false... Je precise que ma classe est redeclaree dans la page.
 
c'est quoi le pb ???

Reply

Marsh Posté le 23-05-2003 à 10:35:32   

Reply

Marsh Posté le 23-05-2003 à 10:43:42    

masure a écrit :

Je dois transmettre un objet via POST. Je le fais en le serialisant avant. J'accede a mon objet serialisé sur la page destination, en voici la preuve :
 

Code :
  1. O:23:\"listegroupesaccessibles\":1:{s:4:\"elem\";a:2:{i:0;O:16:\"groupeaccessible\":4:{s:7:\"libelle\";s:6:\"PUBLIC\";s:14:\"administration\";s:1:\"0\";s:4:\"code\";s:1:\"2\";s:5:\"droit\";i:0;}i:1;O:16:\"groupeaccessible\":4:{s:7:\"libelle\";s:14:\"ADMINISTRATEUR\";s:14:\"administration\";s:1:\"1\";s:4:\"code\";s:1:\"1\";s:5:\"droit\";i:1;}}}


 
Maintenant je veux deserializer donc je fais :
 

Code :
  1. $tmp = $_POST['monobjet'] ;
  2. $tmp2 = unserialize($tmp) ;
  3. print_r($tmp2) ;


 
Le print_r n'affiche pas la structure attendue, en fait $tmp2
contient false... Je precise que ma classe est redeclaree dans la page.
 
c'est quoi le pb ???
 


 
Est ce que ton objet contient d'autres objets ou Tableaux ?
 
Sinon quand tu fais un echo $tmp on a bien ce que l'on a dessus, c ça ?

Reply

Marsh Posté le 23-05-2003 à 10:50:18    

tu souleves un probleme interessant. Je vais d'abord repondre au plus simple.
 
- Quand je fais echo $tmp je vois bien ce que j'ai ecrit au debut.
 
- maintenant mon objet transmis est un objet contenant un tableau d'objets :sarcastic:. C'est pour ca que je disais que tu soulevais un probleme interessant. Si la fonction unserialize n'est pas trop puissante, ca doit coincer pour ca... une idee ?

Reply

Marsh Posté le 23-05-2003 à 10:52:43    

pour que tu vois la structure :
 
.listeGroupesAccessibles contient $elem qui est un tableau
.le tableau $elem contient des objets de type groupeAccessible
.groupeAccessible contient des attributs normaux (code, libelle, admin, accessible)

Reply

Marsh Posté le 23-05-2003 à 10:58:24    

masure a écrit :

pour que tu vois la structure :
 
.listeGroupesAccessibles contient $elem qui est un tableau
.le tableau $elem contient des objets de type groupeAccessible
.groupeAccessible contient des attributs normaux (code, libelle, admin, accessible)


 
Le mieux que tu puisses faire c'est de creer une operation Serialization au sein de ta classe.
 
 Dans cette oepration tu fas serialiser un par un tous tes objets contenus dans le tableau t'objets
 
Une fois ceci fait tu stockes les objets serialisés dans un autre tableau et tu fais un unset de ton tableau d'objets
 
Quand tu vas vouloir deserialiser ton tableau tu dois alors avoir dans ta classe une operation deserialization (pour tes objets) et tu vas faire le chemin inverse par rapport a ton tableau d'objets serialisés
 
Le probleme venait en effet de là

Reply

Marsh Posté le 23-05-2003 à 11:01:25    

Merci bcp pour m'avoir fait prendre conscience du probleme  :jap: mais...
 
et la marmotte... :pfff:  
 
j'ai vraiment pas envie de galerer pour ca, je vais monter une uzinagaz donc au revoir les objets bien structures pour cette partie  et PROCEDURAL TIME !!!  :whistle:

Reply

Marsh Posté le 23-05-2003 à 11:03:07    

masure a écrit :

Merci bcp pour m'avoir fait prendre conscience du probleme  :jap: mais...
 
et la marmotte... :pfff:  
 
j'ai vraiment pas envie de galerer pour ca, je vais monter une uzinagaz donc au revoir les objets bien structures pour cette partie  et PROCEDURAL TIME !!!  :whistle:  


 
Faut pas baisser les bras aussi rapidement, sinon tu n'aboutiras jamais a rien dans la vie.
 
 JE suis sur que tu es capable de le faire

Reply

Marsh Posté le 23-05-2003 à 11:03:28    

[:mcwimpy]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 23-05-2003 à 11:05:20    


C'est ça ta contribution ?

Reply

Marsh Posté le 23-05-2003 à 11:06:08    

samuelp a écrit :


 
Faut pas baisser les bras aussi rapidement, sinon tu n'aboutiras jamais a rien dans la vie.
 
 JE suis sur que tu es capable de le faire


 
Ouais mais en fait je t'ai pas tout dit... j'utilise l'objet pour definir des structures rigides pour faciliter certaines operations. Et en fait je tombe dans l'exces et ca ma permis de voir que je pouvais traiter plus facilement le probleme avec des methodes de classes en amont. Donc c'est vraiment benefique cette prise de conscience

Reply

Marsh Posté le 23-05-2003 à 11:06:08   

Reply

Marsh Posté le 23-05-2003 à 11:06:34    


 
toujours dans les bons plans simogeo  :lol:

Reply

Marsh Posté le 23-05-2003 à 13:16:03    

masure a écrit :


toujours dans les bons plans simogeo  :lol:  


 :whistle: , j'etais occupé dans la soirée matinée  :pt1cable:  .. drapal rapide pour garder la main dessus... je ne connaissais pas cette fonction
merci  :D  
 
samuelp > quand t'arreteras de troller on discutera serieusement  [:southpark1]
 
edit : soirée matinée   :o


Message édité par simogeo le 23-05-2003 à 13:20:27

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 23-05-2003 à 13:36:15    

simogeo a écrit :


 :whistle: , j'etais occupé dans la soirée matinée  :pt1cable:  .. drapal rapide pour garder la main dessus... je ne connaissais pas cette fonction
merci  :D  
 
samuelp > quand t'arreteras de troller on discutera serieusement  [:southpark1]
 
edit : soirée matinée   :o  


 
Ou as tu vu que je trollais : ça commence a bien faire ce delit de sale gueule !

Reply

Marsh Posté le 23-05-2003 à 13:38:41    

ça serait pas un problème dû aux magic quotes ?
 
tu pourrais essayer avec un stripslashes() pour voir ?

Reply

Marsh Posté le 23-05-2003 à 13:38:52    

samuelp a écrit :


Ou as tu vu que je trollais : ça commence a bien faire ce delit de sale gueule !


 
c'etait un troll samuelp .... :D ... j'aime pas tes idées politiques  :o  mais j'ai rien contre tes posts ( d'ailleurs j'y reponds  [:spamafote] ) ... mais tu devrais essayer de soigner ta réputation  :whistle:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 23-05-2003 à 13:44:36    

simogeo a écrit :


 
c'etait un troll samuelp .... :D ... j'aime pas tes idées politiques  :o  mais j'ai rien contre tes posts ( d'ailleurs j'y reponds  [:spamafote] ) ... mais tu devrais essayer de soigner ta réputation  :whistle:  


 
 Bah j'essayes de ne plus troller mais je dois dire que l'on ne m'aide pas de trop...

Reply

Marsh Posté le 23-05-2003 à 13:49:21    

Vous allez un peu halluciner mais meme en etant un vieux membre de hfr, je ne connais toujours pas la definition d'un troll. J'ai juste une vague idee mais sans plus et de toute facon je crois qu'il y a un peu trop de barouf autour de ce simple terme de "troll" et qu'en definitive ca veut pas/plus dire grand chose. C'est juste bon a enflammer les forumers.
 
Apres vu que je suis un peu nouveau sur programmation, je connais ni les vieilles histoires, ni les caracteres de chacun . Mais que ce soit samuelp ou simogeo, il me semble que vous participez bien a l'activité du forum alors ca me fait bien plaisir.
 
Voila c'est tout ce que j'avais a dire a propos de ca

Reply

Marsh Posté le 23-05-2003 à 13:53:52    

masure a écrit :

Vous allez un peu halluciner mais meme en etant un vieux membre de hfr, je ne connais toujours pas la definition d'un troll. J'ai juste une vague idee mais sans plus et de toute facon je crois qu'il y a un peu trop de barouf autour de ce simple terme de "troll" et qu'en definitive ca veut pas/plus dire grand chose. C'est juste bon a enflammer les forumers.
 
Apres vu que je suis un peu nouveau sur programmation, je connais ni les vieilles histoires, ni les caracteres de chacun . Mais que ce soit samuelp ou simogeo, il me semble que vous participez bien a l'activité du forum alors ca me fait bien plaisir.
 
Voila c'est tout ce que j'avais a dire a propos de ca


 
Un troll est un commentaire/topic/discours qui suscite des reactions acerbes de personnes et qui fini toujours à n'aboutir à rien.
 
 Je troll de temps en temps pour detendre l'atmosphere.
 
 Quant à l'histoire de Prog, faut pas s'en faire. Je n'ai rien contre simogeo, au contraire, par contre y a des {}¤^¤¨^$$ù de forumeurs qui ne peuvent pas me blairer, ces memes personnes ne t'aideront jamais car elles n'ont jamais le temps : le mieux c'est de les ignorer

Reply

Marsh Posté le 23-05-2003 à 13:56:31    

Merci pour la definition  :jap:  

Reply

Marsh Posté le 23-05-2003 à 13:59:55    

le problème du troll ou de la discussion à 2 balles c'est que ça fait passer inaperçu des réponses..
 
 
je répète donc : as-tu essayé avec un stripslashes() pour contrer les magic_quotes de la méthode POST ?

Reply

Marsh Posté le 23-05-2003 à 14:13:29    

Sh@rdar a écrit :

le problème du troll ou de la discussion à 2 balles c'est que ça fait passer inaperçu des réponses..
 
 
je répète donc : as-tu essayé avec un stripslashes() pour contrer les magic_quotes de la méthode POST ?


 
Comment veux tu que cela fonctionne ? La classe comporte des instances d'autres classes ? Avec ce qu'il faisait ça ne pouvait pas marcher !

Reply

Marsh Posté le 23-05-2003 à 14:14:36    

-> masure :
 
Troll  
Participant aux forums de discussions prenant un malin plaisir à provoquer avec subtilité des discussions polémiques stériles ou à mettre de l'huile sur le feu si une discussion se tarit.
Étymologiquement "troll" dériverait de "to trawl" qui signifie "pêcher au chalut ou à la traîne". D'ailleurs certaines FAQs indiquent "troll=fishing for flames".
Un troll est aussi, dans la mythologie scandinave, un être plus ou moins démoniaque ou malfaisant, généralement de grandes dimensions et très rustre (en islandais « tröll », en suédois « troll », etc.). C'est de ce mot qu'est dérivé le mot français « drôle », par glissement de sens, à travers le hollandais. Un « drolle » a d'abord été un être néfaste jouant de très mauvais tours, puis un être bizarre jouant de mauvais tours que l'on ne pouvait prendre au sérieux, pour terminer sur le sens et l'orthographe actuels : un drôle, et l'adjectif drôle.
"Troller" est tout un art et vous ne devriez pas vous y adonner avant d'avoir acquis une grande expérience de Usenet :-) En tout état de cause, il est généralement préférable de ne pas répondre à un Troll.
Une traduction approximative de Troll pourrait être "piège à c*ns" ;-)
Eric Demeester, Eric Liger.  
 
tiré de : http://www.dicofr.com/
 
C'était mon troll de la semaine  
 
A+

Reply

Marsh Posté le 23-05-2003 à 14:15:47    

Sh@rdar a écrit :

le problème du troll ou de la discussion à 2 balles c'est que ça fait passer inaperçu des réponses..
 
 
je répète donc : as-tu essayé avec un stripslashes() pour contrer les magic_quotes de la méthode POST ?


 
je suis deolsé sh@rdar, mais je vais pas essayer cette fois, j'ai resolu le pb en me passant de la transmission d'objets. Mais si me reconfronte au probleme je teste avec stripslashes et je reposte ici pour te filer le feedback. Merci bcp :)

Reply

Marsh Posté le 23-05-2003 à 15:23:08    


 
[:rougit][:rougit][:rougit]
 
 :D  
 
j'arrive sur le tard .. masure a sa définition du troll ( c bien da savoir ce que c'est ca permet de les reconnaitre)
Moi aussi j'aime bien les gens qui participent a la section
(moi je ne participe qua PHP/SGBD/HTML/js ... le reste connais pas  :whistle:  )
 
samuelp  :o , c'est pas grave de troller un peu ... ca fait même du bien [:ddr555]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed