Petit problème de $_SESSION apparament du au serveur :/



  • salut, bon bah voila, je code un site en php, en entier.
    Forum, etc… compris dedans.
    http://www.puissancerpgmaking.info
    (remarque j'ai pas encore mis la pub car il est en création, je la metterais une foi fini.)
    J'utilise les sessions.
    A priori, mon code est bon, mon site marche en interne chez moi, sur ifrance il marche, mais ici, sa plante :/
    Dés que je regarde le profil d'un autre membre, envoie un message a un autre membre, je deviens lui, et vise vers sa, on peux du coup piker les comptes, et sa bug.
    Mais cela ne le fait que sur le serveur freeheberg.
    Remarque, sur free, sa marche pas du tout.

    Ya til quelque chose de spécifique a savoir sur les sessions php sur le serveur ?
    que peux cosé un changement de valeur d'une variable session sans le demandé ?


  • Administrateur

    Tu as un problème de nom de session. Si tu ouvre une session s1 avec une information i1 et que tu enregistre une information i2 sans créer de session s2, ça va automatiquement se mettre dans s1 en écrasant l'ancienne donnée.

    enfin bref, globalement, ça doit être un problème du genre. :)



  • quand cela ce passe, avec ma sessions $_SESSION[pseudo], je n'ajoute aucune donné a $_SESSION[pseudo].
    Je cré la $_SESSION[pseudo] au login, puis, elle n'est utilisé que pour affiché les données de l'utilisateur, ou vérifié un de ces paramétres.
    donc cela ne vien pas de sa :/



  • Juste une question: tu définie dynamiquement le nom de la session en fonction de l'utilisateur, et en utilisant session_name()?



  • j'ai utilisé session_start()
    Puis j'ai créé ma session pseudo.
    J'ai trouvé le problème, et je pense que vous devriez mettre un message a ce sujet, car cela marche différament suivant le serveur.

    Enfaite, je cré la variable $_SESSION[pseudo], mais dans mon code, j'utilise aussi des variables $pseudo.
    Sur ce serveur, la variable $_SESSION[pseudo] = $pseudo.
    donc si j'utilise une variable qui a le même nom que celui d'une variable session, cela modifie la variable session.
    Cela ne le fait pas chez moi en interne, ni sur d'autre serveur…
    Problème sur le serveur ? mauvaise configuration ? je sais pas c'est pas moi qui gére le serveur, mais je pense que vous devriez faire un petit point la dessus.

    En tout cah mon problème est réglé ^^
    Merci de vos réponses.



  • Je pense que le problème vient de la variable de configuration php REGISTER_GLOBALS. En fait, elle créée des variables "simples" pour les codeurs qui ne veulent pas s'embêter avec ça. Ce qui est génant pour ceux qui codent propre.

    J'ai trouvé ce code récemment, essaye de voir s'il marche:

    <?php
    	# Désactivation de register_globals
    		if(ini_get('register_globals')=='1') {
    			foreach($_REQUEST as $clef => $valeur) {
    				if($clef{0}!=='_') unset($GLOBALS[$clef]);
    			}
    		}
    ?>
    


  • J'ai changé toutes mes variables nommé $pseudo :/
    Donc maintenant sa va, mais a mon avi, vous devriez mettre un lien de phpinfo() déja, ques les gens puissent voir les caractéristiques des serveurs, mais aussi, de bien présicé certaine chose comme sa...
    Car la moi je savais pas du tout de ou sa venez, personne arrivé a m'aidé, jusqu'a quand j'ai eut l'idée de renomé mes variables nommé $pseudo :/
    je pense que d'autre programmeur ont du avoir le même problème et que d'autre l'auront...
    M'enfin, pour ma par, c'est réglé.


  • Administrateur

    Le phpinfo() est dispo ici : http://nsx.freeheberg.com/test.php

    On peux pas trop faire autrement, les programmeurs amateurs ne respectent que très rarement les règles...



  • oui, m'enfin, sa doit être dur de géré autant de monde =)
    en tout cah, bonne chance pour l'hébergement, votre service et super, malgré les quelques coupures fréquentes ^^


  • Administrateur

    Les coupures des quelques derniers jours sont terminées :) LE site en question a été déménagé.


Se connecter pour répondre
 

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.