|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Développeur Web Inscription : juin 2011 Messages : 3 ![]() |
Bonjour à tous, que j'appelle humblement à l'aide,
Ce script tout simple et qui fonctionnait à merveille sur mon site, ne fonctionne plus depuis une semaine Code :
J'ai checké le php.ini par phpinfo() et je ne vois rien qui empêche l'utilisation des cookies. Mon navigateur FF accepte tous les cookies mais le problème ne vient pas de là car j'ai testé à partir d'une autre navigateur, sur un autre pc et le problème est le même: cela vient du serveur PHP (je pense D'accord, c'est juste pour permettre la connexion automatique mais c'est quand même bien pratique et je n'ai pas envie de retirer tous les tests de tous mes scripts... ![]() Alors si quelqu'un a une piste cela me ferait plaisir parce que je suis au bord de la crise de nerfs
|
||
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Développeur Web Inscription : juin 2011 Messages : 3 ![]() |
Trouvé !
C'est en demandant à mon provider de reproduire l'erreur et en voyant que son script (bêtement recopié du mien) fonctionnait que je me suis mis à chercher un clou pour me pendre: lui, il y arrivait et pas moi ! ![]() J'ai alors trituré son fichier dans tous les sens et j'y ai vu des choses peu comestibles: il était codé en ANSI ![]() Or mon script à moi était encodé en UTF-8 et apparemment mon serveur ne digère que l'ANSI tant qu'on ne lui a pas dit le contraire. Et comme justement session_start() et setcookies doivent être envoyés avant toute contrariété, transfert de header et autre code html. J'ai donc simplement ouvert tous les fichiers exécutés avant le premier envoi de html (index.php, init.php, config.php...) avec notepad et je les ai resauvés chacun sous leur même nom, en forçant le codage en ANSI. Voilà, voilà...
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Développeur Web Inscription : juin 2011 Messages : 3 ![]() |
Je reviens avec plus de précisions parce que j’estime que c’est important.
Prologue. Après avoir découvert le problème de codage ANSI/UTF-8 expliqué dans le post précédent, je constate que session_start() fonctionne très bien mais je ne trouve toujours pas mes cookies. Comme je cherchais ce bug depuis 1 mois, j’en étais arrivé, en désespoir de cause, à me tourner vers d’autres solutions et notamment celle d’un changement de serveur. Et je pense que j’aurais dû le faire plus tôt car la solution serait apparue plus vite. Venant de recevoir les identifiants pour l’accès à un autre serveur, j’ai fait l’effort de mettre mon site dessus. Et là, surprise : tout de suite un beau warning pour me prévenir qu’il ne peut pas créer les cookies car il a déjà reçu un entête et de l’html. Inquiétant et rassurant. Inquiétant car je n’envoie rien au serveur mais rassurant parce qu’au moins dans le message d'erreur il me donne la ligne où se situe le délit. Je n’envoie toujours rien à cette ligne mais le fichier.php qui la contient est en… UTF-8 ! Je le converti en ANSI et revoilà mes cookies. Conclusion. L’UTF-8 est à éviter avant le premier affichage. Après, il s'en fiche. Fin de l’histoire. Epilogue. Pourquoi donc l’ancien serveur ne me disait rien ? Mystère Moralité. Le mieux est parfois l’ennemi du bien
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Il faut sauvegarder les fichiers avec le charset UTF8 (sans BOM).
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com