Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme capricieux de : Call to a member function on a non-object

12 réponses
Avatar
ownowl
bonjour à tous

J'ai une application qui communique par ajax avec son serveur, et une
des fonctionnalité de cette aplic est de se voir retourner par le
serveur un fichier .rtf construit à la volée.

Pour compléter le fichier rtf j'utilise des données d'un objet
sauvegardé dans la session utilisateur, et que lorsque je fait appel à
une méthode de cette object j'obtient : Call to a member function
mafonction() on a non-object in nomdufichier.php

ce qui me parrait trés bizare :

- si je fais un error_log($monobjet->malethode()), la valeur est
correcte dans le fichier log. (avec l'erreur sur le client)
- la page est chargée par un window.open(monUrl). Si je ne charge pas
dans une nouvelle fenêtre de navigateur, ca fonctionne.
- le problème apparait uniquement avec IE et pas avec Firefox

une idée ?
merci d'avance
Olivier

2 réponses

1 2
Avatar
ownowl
Si tu utilise des Cookies, IE ne gère pas plus que 20 cookies à la
fois (ou un autre nombre arbitraire de la sorte). Sous FF, pas de
problème, mais sous IE, le 21e Cookie écrasera le permier (PHPSESSID)
se qui te fera perdre ta session. Si c'est le cas, alors je te suggère
de sérialiser tes cookies pour n'en faire qu'un seul... J'ai eu ce
genre de problème il y a peu de temps et ça l'a réglé.

-yanick


merci à toi et à Fredchou pour vos réponse. effectivement vos remarques
sont intéressantes, et corrobore (la notion d'identification de session)
la remarque de Chris Brown sur http://fr.php.net/session_start.
Du coup j'ai fais un test en ajoutant error_log('sid ' . session_id());
à mon fichier php, mais j'obtiens le même id que pour les autres appels .
a+
Olivier

Avatar
ownowl
en fait ca fonctionne également avec ie si on rajoute la
ligne suivante dans le header de la reponse :

header("Cache-Control: max-age=0");

merci à tous pour votre aide
a+
Olivier
1 2