[PHP] $_SESSION et jquery load() vs &1&

$_SESSION et jquery load() vs &1& [PHP] - PHP - Programmation

Marsh Posté le 18-04-2020 à 17:46:20    

Bonjour à tous,
 
J'ai utilisé ajax pour paramétrer des variables $_SESSION dans le but de garder en mémoire les filtres d'un formulaire de recherche.
 
Ca me permet de recharger une page .php dans un div avec jquery en utilisant les variables $_SESSION.
 
Tout fonctionne bien en local avec wamp ou sur mon hebergement OVH mais pas sur 1&1  :o  
 
La page se charge bien dans le div avec le load() mais elle n'a pas les valeur des variables $_SESSION.
 
J4ai éssayé session start sur la page PHP chargée avec load() mais ça n'arrange pas le bordel.
 
Je suis en train de tourner   :pt1cable:


---------------
Guitar Trainer
Reply

Marsh Posté le 18-04-2020 à 17:46:20   

Reply

Marsh Posté le 18-04-2020 à 23:31:04    

Lu,
 
est-ce que, par le plus grand des hasards, en créant un fichier php.ini sur ton hébergement 1&1 contenant :

Code :
  1. output_buffering = on


Ca arrangerait les choses ?
 
Si la réponse est oui, c'est que tu envoies des choses au client avant tes session_start quand tu n'es pas censé le faire, et, forcément, sur un serveur où PHP ne bufferise pas la sortie, vu que ça ne respecte plus le fonctionnement du protocole HTTP, ben, "ça marche pu".


Message édité par pluj le 18-04-2020 à 23:33:27
Reply

Marsh Posté le 19-04-2020 à 00:57:26    

Bonjour,
 
Problème de BOM ? C'est un classique dans ce cas.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 19-04-2020 à 10:02:33    

En forçant l'affichage des erreurs et en utilisant la console web du navigateur, il verrait de suite le pb.
Sinon, dans le script qui envoie les données de session, un petit ob_clear().


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-04-2020 à 15:34:41    

Citation :

Problème de BOM ? C'est un classique dans ce cas.


Ouais, enfin, t'en as combien qui envoie du code HTML avant une fonction d'entête ? (header/set(raw)cookie/session_start)
 
Le moindre octet suffit. Ca peut être du code HTML, un BOM, un espace, un saut de ligne après le ?> dans un fichier inclus, etc. Ca pourrait être absolument tout et n'importe quoi. Si c'est bien la cause, il suffit de développer sans output_buffering (s'assurer qu'il est à off) ainsi s'il y a une sortie avant une telle fonction, ça lui serait indiqué par la bien connue warning: headers already sent ... qui comprend par ailleurs l'emplacement de cette sortie (via sa partie output started at). Il est donc facile de la corriger car même en respectant le fonctionnement du protocole http (d'abord les entêtes ensuite le contenu/corps), il suffit d'un espace/BOM/saut de ligne que tu auras potentiellement du mal à repérer pour tout faire foirer.
 
Une bufferisation manuelle (fonctions ob_*) ne permettra pas forcément d'intercepter un BOM et, AMHA, ça reste une rustine.


Message édité par pluj le 19-04-2020 à 17:15:32
Reply

Marsh Posté le 19-04-2020 à 16:15:39    

Je précise le BOM parce qu'il est très difficilement repérable et éventuellement interprétable d'une manière différente en fonction du système de fichiers.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Sujets relatifs:

Leave a Replay

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