Problème de variable de SESSION

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de variable de SESSION

Re: Problème de variable de SESSION

par AB » 12 oct. 2009, 16:39

1/ Est-ce que tu met bien "session_start();" en haut de ton script ?
2/ Changes le nom de cette variable de session, au cas où ce serait la directive "register_globals = On" qui pourrait te jouer des tours dans le cas où l'index de cette variable de session aurait le même nom qu'une autre variable (d'ailleurs "register_globals" devrait-être sur Off, c'est la recommandation depuis de nombreuses années).
3/ Sinon, quelle est ta configuration actuelle et donnes le numéro de la version (easyphp, wamp, hébergement professionnel ?)

Re: Problème de variable de SESSION

par cpnadal » 11 oct. 2009, 20:09

Oui les amis, je suis là et je n'ai pas avancé d'un poil. Vraiment je ne comprends pas d'où vient l'erreur. La session se créé bien lorsque je soumet mon formulaire de connexion. Mais au formulaire suivant, après soumission, la variable est supprimée alors que j'appelle toujours la même page 'index'.

Re: Problème de variable de SESSION

par Invité » 07 oct. 2009, 17:39

Soit... j'avoue que j'ai souvent tendance à raisonner en terme d'intranet étant donné qu'en matière de développement Web je n'pratique pas (professionellement en tout cas) Internet...
Mais bon quand-même j'avais envie d'râler voila ! :lol:

En attendant on sait toujours pas ou en est notre ami cpnadal avec son problème de variables de session le pauvre 8-|...

Hou hou cpnadal ? T'es la ? :P

Re: Problème de variable de SESSION

par AB » 07 oct. 2009, 00:20

Il ne faudrait pas oublier que la plupart des postes clients dans les entreprises ne sont pour la pluspart pas sous unix-like (pour ne pas prononcer le mot qui fâche). Pourquoi ne pas allier la souplesse des deux parties puisqu'on en a l'occasion ?
Qui plus est, pour l'avoir utilisé intensément, je trouve personellement que le module php de IIS fonction à merveille... alors pourquoi s'en priver ?

Bref... j'aime pas les apriori vite faits... du coup j'viens d'cracher tous les miens voila ! :lol:
Oui mais c'est pas compliqué de télécharger un wamp ou un easyphp qui sont fonctionnels, gratuits, prêt à l'emploi et peuvent se charger automatiquement avec l'os.

Ensuite le problème majeur est le portage des scripts intranet vers internet :

- Qu'en est-il des .htaccess ? Faut-il toujours complémenter avec un logiciel tiers comme IIS PASSWORD pour avoir des fichiers compatibles avec apache ?

- Les hébergeurs professionnels proposent le couple apache/php.

- Enfin lors du développement d'un script, même si on le fait héberger par des pros, il faut avoir un minimum de connaissances serveur pour ne pas se heurter aux configurations serveur par défaut par exemple.

Donc tant qu'à faire autant commencer par apprendre et connaître les règles les plus courantes et les plus portables qui sont par la même occasion les plus professionnelles. Conseiller à un débutant d'utiliser IIS pour faire tourner php est assez risqué car ce qu'il apprendra niveau serveur ne lui servira pas par la suite s'il veut faire passer son site sur internet.

C'est pour ces raisons et surtout pour les débutants que je dis de fuir IIS :

- IIS n'est pas une connaissance de base indispensable - et encore moins suffisante - pour la création de sites internet :wink:

- Le gros avantage d'apache/php c'est qu'on a une config "équivalente" en local et distant ce qui est mieux pour faire des tests.


Maintenant que l'on puisse utiliser IIS, pourquoi pas, mais d'abord commencer par acquérir les connaissances de base.
On pourrait aussi se contenter d'utiliser IIS et se dire que le site restera en intranet. Mais quel dommage de ne pas utiliser une config polyvalente dès le départ.

Ce n'est aucunement un jugement de valeur ou un apriori, mais l'utilisation du couple apache/php est un choix tout à fait pratique et justifié :)

Bien entendu je parle ici uniquement en terme d'évolutivité et d'utilité des connaissances acquises et non pas en terme de fonctionnement des modules :wink:

Re: Problème de variable de SESSION

par Kran » 06 oct. 2009, 22:35

Enfin utiliser IIS pour faire du php c'est vraiment se compliquer la vie. A moins de vraiment ne pas avoir envie de faire comme tout le monde, ou pour d'obscures raisons que j'ignore, il n'y a aucun avantage et tous les inconvénients d'une solution non standard -> à fuir de toute urgence.
Au risque de faire dévier un poil le sujet et de me faire légèrement tapper sur les doigts, je me permets de m'insurger contre ce jugement de valeur injustifié :
PHP est un langage intéressant pour sa souplesse d'utilisation, par opposition à ASP qui est un peu trop procédurier (et pas procédural ! quoi-que si on parle uniquement de l'ASP pur et dur...), et mine de rien, les OS servant habituellement à faire tourner Apache ou autres serveurs web interprétant PHP peuvent être (au vu du commun des mortels, excusez moi du peu...) parfois légèrement rebutants du point de vue de l'administration. J'avoue être de ceux qui pensent qu'on doit avoir le droit de profiter de PHP sans pour autant avoir envie de se pencher sur l'apprentissage de toutes les subtilités linuxiennes et autres transferts FTP ou montages Samba à la vitesse d'accès contestable pour ce que j'ai pu en voir. Il ne faudrait pas oublier que la plupart des postes clients dans les entreprises ne sont pour la pluspart pas sous unix-like (pour ne pas prononcer le mot qui fâche). Pourquoi ne pas allier la souplesse des deux parties puisqu'on en a l'occasion ?
Qui plus est, pour l'avoir utilisé intensément, je trouve personellement que le module php de IIS fonction à merveille... alors pourquoi s'en priver ?

Bref... j'aime pas les apriori vite faits... du coup j'viens d'cracher tous les miens voila ! :lol:

Re: Problème de variable de SESSION

par AB » 06 oct. 2009, 21:53

Si j'puis me permettre, le module php de IIS ne rappatrie (à ma connaissance en tout cas) pas plus les variables de session qu'Apache si on ne place pas les session_start(); en début de page...
Ben oui c'est bien ce que j'ai dit dans mon précédent message : il faut mettre session_start(); avant d'utiliser les variables de session.

A part ça effectivement pour des versions vraiment ancestrales la syntaxe HTTP_ m'oui; enfin pourquoi pas plutôt mettre sa version à jour.

Enfin utiliser IIS pour faire du php c'est vraiment se compliquer la vie. A moins de vraiment ne pas avoir envie de faire comme tout le monde, ou pour d'obscures raisons que j'ignore, il n'y a aucun avantage et tous les inconvénients d'une solution non standard -> à fuir de toute urgence.

Re: Problème de variable de SESSION

par Kran » 06 oct. 2009, 21:11

Une idée me vient... quelles sont tes versions de php (sur le serveur IIS et sur le serveur Apache please)

L'idée est la suivante : avec des versions de php antérieurs à 4.0.6, on accède les variables de session par le tableau $HTTP_SESSION_VARS alors que dans les versions plus récentes, c'est plutot $_SESSION ... et la rétrocompatibilité n'est pas assurée il me semble... et en tout cas il est clair que les plus vielles versions de php ne comprendront pas $_SESSION

Re: Problème de variable de SESSION

par Kran » 06 oct. 2009, 20:51

Si j'puis me permettre, le module php de IIS ne rappatrie (à ma connaissance en tout cas) pas plus les variables de session qu'Apache si on ne place pas les session_start(); en début de page...

Donc... je pense qu'il faut chercher ailleurs puisque si le problème venait de là, ses sessions ne fonctionneraient pas non plus sous IIS ... cher confrère... isn't it ?

Re: Problème de variable de SESSION

par AB » 06 oct. 2009, 20:39

Hum... a priori j'aurais tendance à dire que par défaut l'utilisation des session n'est pas autorisée par les versions récentes d'apache.

Tu devrais chercher du côté de la directive "register_globals" dans ton php.ini ( register_globals = On est nécessaire pour utiliser les variables de session me semble t'il )
Non pour les deux réponses et par ailleurs il est déconseillé de travailler avec register_globals = On. La configuration actuelle par défaut est sur off et il n'y a aucune raison de la changer (sauf pour raisons de compatibilité avec d'anciens scripts mais dans ce cas c'est au détriment de la sécurité).

@cpnadal
Pour travailler en local utilises wamp ou easyphp (ce dernier te fourni un package complet très facile d'installation et prêt à l'emploi).
Ensuite pour toute page utilisant les sessions il faut mettre session_start(); au début de chaque script php.

Re: Problème de variable de SESSION

par cpnadal » 06 oct. 2009, 17:45

Mon serveur a bien register_globals à On. Je vois vraiment rien d'autre... Any ideas?

Re: Problème de variable de SESSION

par Kran » 06 oct. 2009, 15:30

Hum... a priori j'aurais tendance à dire que par défaut l'utilisation des session n'est pas autorisée par les versions récentes d'apache.

Tu devrais chercher du côté de la directive "register_globals" dans ton php.ini ( register_globals = On est nécessaire pour utiliser les variables de session me semble t'il )

Problème de variable de SESSION

par cpnadal » 05 oct. 2009, 18:25

Bonjour, j'ai développé un petit code sur IIS (avec module PHP) et il fonctionne très bien. Pour résumer, un formulaire tout bête recharge la page en cours en cliquant sur le submit(). Bref, rien de bien compliqué sauf que je définis une variable de session dans une page de connexion en amont, et que le submit me fait perdre cette variable de session lorsque je met le code sur un serveur APACHE. Pour information, tout fonctionne impec sur IIS.

Une idée sur une différence de gestion des sessions entre IIS et APACHE?