Les joies des sessions. - PHP - Programmation
Marsh Posté le 10-11-2005 à 12:05:51
Commence par virer tous ces @ devant tes fonctions mysql et vérifie qu'elles ne produisent pas d'erreurs.
Soit dit en passant, pour tester l'existence d'une session, session_is_registered est obsolète.
Marsh Posté le 10-11-2005 à 12:11:08
les fonctions mysql marchent sans probleme. Comme je l ai dis, l ensemble fonctionne normallement pour la plupart des internautes.
Marsh Posté le 10-11-2005 à 12:17:18
Pas forcément, non.
@, ça dit bien de masquer les erreurs, et c'est mal (à moins de soi-même prendre en compte l'erreur retournée par la fonction, ce que tu ne fais pas).
Marsh Posté le 10-11-2005 à 12:22:19
j ai viré les @, je n ai pas de message d erreur. je les avait mis juste pour faire joli ...
Le truc qui est embetant, c est que vu que tout fonctionne sans probleme de chez moi, je n arrive pas trop a voir d ou vient le probleme.
Marsh Posté le 10-11-2005 à 12:25:17
ca ne viendrait pas du niveau de sécurité de ie (cookies pas accepté ou quelque chose comme ca) ?
essaye en rajoutant
Code :
|
ps: pour voir si le problème vient de là, essaye avec ie en montant au max le niveau de sécurité
Marsh Posté le 10-11-2005 à 12:25:52
quels sont les internautes pour lesquels ça ne marche pas ?
Soit dit au passant, ton code de vérification est assez compliqué en effet, tu ne peux pas simplifier ça ?
Marsh Posté le 10-11-2005 à 12:28:01
Manque un session_start dans ta page de login.
Et sur toutes tes pages d'ailleurs si c'est pas fait.
Marsh Posté le 10-11-2005 à 12:32:27
ca devrait etre fait si ca marche pour certaine personnes.
sinon une remarque pour session_register
Citation : |
là t'utilise les deux donc ca doit etre ok mais 'le gras' dit que dans ce cas, tes session_register() ne font doublon (enfin c'est ce que je comprends).
Marsh Posté le 10-11-2005 à 12:33:35
Je viens de m'inscrire et je peux pas me logger en tout cas.
Marsh Posté le 10-11-2005 à 12:48:17
alors . merci pour toutes ces réponses !
pour le session_start() de la page login, il est en haut de page.
(sur le bout de code présent partout)
pour les session_register qui font doublon, c est fort possible en effet mais ca n a pas l air d etre la cause du probleme.
Effectivement, quand j augmente le niveau de sécurité de mon navigateur, je n arrive plus a ma logguer.
Ou dois je rajouter le ini_set('session.use_only_cookies', 'Off');
Sur toutes les pages ? A la premiere ouverture de session ? avant ou apres le session_start ?
si je comprend bien, cette fonction modifie le php.ini c'est bien ca ? Cela peut il fonctionner chez free (le site est hébergé la bas) ?
Quelqu un voit il comment je peux faire pour que mon site fonctionne avec un niveau de sécurité de ie élevé ?
Marsh Posté le 10-11-2005 à 12:51:40
j ai bien remplacé les session_is_registered et supprimé les session_register() . Cela ne fait a priori aucune différence.
Marsh Posté le 10-11-2005 à 12:57:09
haha ! merci art dupond !
Maintenant j arrive a me logguer dans a peu pres tous les niveaux de sécurité, sauf le plus haut : bloquer tous les cookies.
Merci a tous !
Marsh Posté le 10-11-2005 à 12:59:01
Moi j'arrive toujours pas.
Marsh Posté le 10-11-2005 à 13:04:08
ah ben non en fait ca ne marche pas ... pourtant j y ai cru !
Marsh Posté le 10-11-2005 à 13:17:49
alors : lors du login je renvoie le sid en parametre dans l url ( c est moche, mais a la limite si ca marche... )
de cette facon :
Code :
|
Quel traitement dois je faire dans mes autres pages pour tenir compte de ce sid ?
Code :
|
Marsh Posté le 10-11-2005 à 13:25:45
la fonction ini_set() renvoie false. Elle est bloquée chez free.
Vola ce que dit le phpinfo :
session.use_cookies On On
session.use_only_cookies Off Off
Marsh Posté le 10-11-2005 à 13:43:42
ca marche... mais je n ai pas d autre solution que de passer ce parametre en GET sur toutes mes pages ?
Marsh Posté le 10-11-2005 à 13:47:18
parceque la du coup .. je dois modifier tous mes liens un par un ?
Marsh Posté le 10-11-2005 à 13:57:07
peut etre qu en créant un cookie proprement il serait accepté par la plupart des navigateurs ?
Marsh Posté le 10-11-2005 à 13:59:43
Il me semble qu'a partir d'un certain niveau de sécurité, IE refuse les cookies contenant des variables ayant certains noms. (liste que je ne conais pas, n'était pas tombé sur un de ces cas)
Marsh Posté le 10-11-2005 à 19:28:05
a mon avis ça marcherait pour tous si ils etaient sur ta page d'origine sans redir, .free.fr quoi.
Des que tu es sur ta redir certains navigateurs marchent d'autres, (ie) non sauf reglages speciaux genre site autorisé: free.fr etc... et niveau de secu bas.
c'est un probleme de strategie de secu des cookies qui semble (pour ie) venir d'un autre site quand il y a une redir et donc sont refusés.
A mon avis c'est ça, ça se détourne avec du code mais je sais pu lequel. le plus simple etant de laisser free.fr ou alors de chopper un vrai hebergeur .fr .com .org etc...
Marsh Posté le 18-11-2005 à 16:42:33
j ai passé le sessid dans l url comme ca plus de probleme ! merci a tous etvenez nombreux sur www.webnavets.tk !
Marsh Posté le 10-11-2005 à 11:03:31
Bonjour !
Je bosse en ce moment sur un projet de site : www.webnavets.tk
Et j ai un probleme au niveau de mon systeme d'auth login/pass
Pour la plupart des utilisateurs, tout se déroule normallement, mais pour une partie non négligeable d entre eux il est impossible de se logguer. Je précise : Il s identifient via le formulaire, aucun message d erreur ne s affiche mais la session ne fonctionne pas puisque toutes les opérations réservées aux membres enregistrés leurs sont interdites .
Voila le code :
Ce bout de code se trouve en haut de mes pages. (initialisation de la session et récupération des variables si l utilisateur est loggué).
ma page de login (elle commence elle aussi par le bout de code précédent.):
Voici enfin un bout de code d une des pages réservées aux membres :
Alors ? quelqu un comprend pourquoi cela fonctionne, mais pas chez tout le monde ?