variable qui mute en variable de session ???

variable qui mute en variable de session ??? - PHP - Programmation

Marsh Posté le 27-07-2003 à 13:52:26    

Salut,
 
La j'ai touché le gros lot :
j'ai une variable qui porte le même nom qu'une variable de session.
Je fais :
<?
session_start();
$mavariable = "bonjour";
?>
 
et la variable de session s'appelant $mavariable prend la valeur "bonjour".Je précise bien sûr que je n'ai fait aucun session_register().
 
Voilà, merci de maider
@+

Reply

Marsh Posté le 27-07-2003 à 13:52:26   

Reply

Marsh Posté le 27-07-2003 à 14:01:31    

cette idée de l'appeler comme une variable de session  :o


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 27-07-2003 à 14:38:36    

momo194 a écrit :

Salut,
 
La j'ai touché le gros lot :
j'ai une variable qui porte le même nom qu'une variable de session.
Je fais :
<?
session_start();
$mavariable = "bonjour";
?>
 
et la variable de session s'appelant $mavariable prend la valeur "bonjour".Je précise bien sûr que je n'ai fait aucun session_register().
 
Voilà, merci de maider
@+


ben ouais c'est tout a fait normal :D
change le nom d'une de tes variables

Reply

Marsh Posté le 27-07-2003 à 14:40:03    

Quelle idée d'utiliser les variables de type $var au lieu des $_POST["var"], $_GET["var"], $_SESSION["var"] ...

Reply

Marsh Posté le 27-07-2003 à 14:40:48    

omega2 a écrit :

Quelle idée d'utiliser les variables de type $var au lieu des $_POST["var"], $_GET["var"], $_SESSION["var"] ...


+1

Reply

Marsh Posté le 27-07-2003 à 14:41:41    

ca na rien d'une variable de session

Reply

Marsh Posté le 27-07-2003 à 14:48:43    

Maxime a écrit :

ca na rien d'une variable de session  

Et tavariable de session, tu fais comment pour récupérer sa valeur? ;)

Reply

Marsh Posté le 27-07-2003 à 15:37:35    

omega2 a écrit :

Et tavariable de session, tu fais comment pour récupérer sa valeur? ;)


je parle du sujet initiale :D

Reply

Marsh Posté le 27-07-2003 à 15:42:14    

Maxime a écrit :


je parle du sujet initiale :D

Son problème est une colision entre une variable de session et une varaible globale.
S'il avair progrmmé son site proprement en utilisant le tableau $_SESSION , il aurait pas eu le problème.
Donc, je suis bien dans le sujet initial. :p

Reply

Marsh Posté le 27-07-2003 à 17:34:20    

omega2 a écrit :

Son problème est une colision entre une variable de session et une varaible globale.
S'il avair progrmmé son site proprement en utilisant le tableau $_SESSION , il aurait pas eu le problème.
Donc, je suis bien dans le sujet initial. :p


 
arf oui, j'avais oublier les variables globales.
moi j'ai toujours travailler en variable globales désactiver, du coup ca met même pas venu à l'esprit que dans son cas elles sont actives.
 
Me demande pourquoi ça existe, bonjours la sécurité.


Message édité par Maxime le 27-07-2003 à 17:34:44
Reply

Marsh Posté le 27-07-2003 à 17:34:20   

Reply

Marsh Posté le 27-07-2003 à 17:40:59    

Maxime a écrit :


 
arf oui, j'avais oublier les variables globales.
moi j'ai toujours travailler en variable globales désactiver, du coup ca met même pas venu à l'esprit que dans son cas elles sont actives.
 
Me demande pourquoi ça existe, bonjours la sécurité.

C'est bien pour ça ,que maintenant, c'est désactivé par défaut.
Mais les hébergeurs gratuits le régle sur actif pour que les scripts de la multitude de programmeurs débutants marchent sans problèmes ...
ou quasiment sans problèmes. lol ;)
 
Vivement que ca soit plus réactivable, sa sera mieux pour tous les débutants. ;)

Reply

Marsh Posté le 27-07-2003 à 20:48:29    

Désolé les amis j'ai été parti cet après-midi.
Je voudrais confirmation que à la place de mettre ceci en début de code, :

Code :
  1. if (!empty($_GET)) {
  2. extract($_GET);
  3. } else if (!empty($HTTP_GET_VARS)) {
  4. extract($HTTP_GET_VARS);
  5. }
  6. if (!empty($_POST)) {
  7. extract($_POST);
  8. } else if (!empty($HTTP_POST_VARS)) {
  9. extract($HTTP_POST_VARS);
  10. }
  11. if (!empty($_SESSION)) {
  12. extract($_SESSION);
  13. } else if (!empty($HTTP_SESSION_VARS)) {
  14. extract($HTTP_SESSION_VARS);
  15. }
  16. if (!empty($_COOKIE)) {
  17. extract($_COOKIE);
  18. } else if (!empty($HTTP_COOKIE_VARS)) {
  19. extract($HTTP_COOKIE_VARS);
  20. }


 
c'est mieux que mes variables se présentent sous la forme  
$_GET['mavariable'] pour les variables résultantes d'un formulaire et $_SESSION['mavariabledesession'] pour les
variables de session ?

Reply

Marsh Posté le 27-07-2003 à 20:49:22    

pour le formulaire le mieux c $_POST tant qua moi...


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 27-07-2003 à 21:26:24    

momo194 a écrit :

Désolé les amis j'ai été parti cet après-midi.
Je voudrais confirmation que à la place de mettre ceci en début de code, :

Code :
  1. if (!empty($_GET)) {
  2. extract($_GET);
  3. } else if (!empty($HTTP_GET_VARS)) {
  4. extract($HTTP_GET_VARS);
  5. }
  6. if (!empty($_POST)) {
  7. extract($_POST);
  8. } else if (!empty($HTTP_POST_VARS)) {
  9. extract($HTTP_POST_VARS);
  10. }
  11. if (!empty($_SESSION)) {
  12. extract($_SESSION);
  13. } else if (!empty($HTTP_SESSION_VARS)) {
  14. extract($HTTP_SESSION_VARS);
  15. }
  16. if (!empty($_COOKIE)) {
  17. extract($_COOKIE);
  18. } else if (!empty($HTTP_COOKIE_VARS)) {
  19. extract($HTTP_COOKIE_VARS);
  20. }


 
c'est mieux que mes variables se présentent sous la forme  
$_GET['mavariable'] pour les variables résultantes d'un formulaire et $_SESSION['mavariabledesession'] pour les
variables de session ?

Il vaut mieux utiliser les tableaux, ne seraisse que pour éviter les problèmes tels que celui que t'as eu.
Moi, j'utilise ça :
 

Code :
  1. if (isset($_GET))
  2. {$get=$_GET;
  3. }else
  4. {$get=$HTTP_GET_VARS;
  5. }
  6. if (isset($_POST))
  7. {$post=$_POST;
  8. }else
  9. {$post=$HTTP_POST_VARS;
  10. }
  11. if (isset($_COOKIE))
  12. {$cookie=$_COOKIE;
  13. }else
  14. {$cookie=$HTTP_COOKIE_VARS;
  15. }
  16. if (isset($_SERVER))
  17. {$serveur=$_SERVER;
  18. }else
  19. {$serveur=$HTTP_SERVER_VARS;
  20. }
  21. // tout ce qui suis est pour free.fr en php3
  22. if ($serveur["REMOTE_ADDR"]=="" )
  23. { $serveur["REMOTE_ADDR"]=$REMOTE_ADDR;
  24. }
  25. if ($serveur["HTTP_REFERER"]=="" )
  26. { $serveur["HTTP_REFERER"]=$HTTP_REFERER;
  27. }
  28. if ($serveur["PHP_SELF"]=="" )
  29. { $serveur["PHP_SELF"]=$PHP_SELF;
  30. }
  31. if ($serveur["REQUEST_URI"]=="" )
  32. { $serveur["REQUEST_URI"]=$REQUEST_URI;
  33. }
  34. if ($serveur["HTTP_USER_AGENT"]=="" )
  35. { $serveur["HTTP_USER_AGENT"]=$HTTP_USER_AGENT;
  36. }
  37. if ($serveur["HTTP_ACCEPT_LANGUAGE"]=="" )
  38. { $serveur["HTTP_ACCEPT_LANGUAGE"]=$HTTP_ACCEPT_LANGUAGE;
  39. }
  40. if ($serveur["SERVER_NAME"]=="" )
  41. { $serveur["SERVER_NAME"]=$SERVER_NAME;
  42. }

Reply

Marsh Posté le 27-07-2003 à 21:46:39    

ok , mais j'ai vraiment cerné d'où venait le problème, c'est quand la variable passe dans l'url genre xxx?mavariable=bonjour.Ben la variable de session "mavariable" prend la valeur "bonjour".Y-a-t'il une solution pour contrer cela?
 
Merci d'avance à toutes les personnes ayant participé à ce topique.

Reply

Marsh Posté le 27-07-2003 à 23:00:05    

omega2 a écrit :

C'est bien pour ça ,que maintenant, c'est désactivé par défaut.
Mais les hébergeurs gratuits le régle sur actif pour que les scripts de la multitude de programmeurs débutants marchent sans problèmes ...
ou quasiment sans problèmes. lol ;)
 
Vivement que ca soit plus réactivable, sa sera mieux pour tous les débutants. ;)


Je trouve que c'est vraiment une connerie ce truc de variables glabales, ça me ne parait même pas logique que ca peut être activer.
Les débutants n'ont qu'a aprendre sur les $_xxx , j'aurais préféré commencer comme ça perso, que après me prendre la tête à tout modifier quand mon hébergeur est passé aux variables globales désactivées.
 
Le gars qui connais le nom des variables, les passent par URL et hop, ça fou la merde. Alors que sans un $_GET, bah le visiteur la dans le ***.


Message édité par Maxime le 27-07-2003 à 23:02:04
Reply

Marsh Posté le 10-08-2003 à 22:01:17    

momo194 a écrit :

ok , mais j'ai vraiment cerné d'où venait le problème, c'est quand la variable passe dans l'url genre xxx?mavariable=bonjour.Ben la variable de session "mavariable" prend la valeur "bonjour".Y-a-t'il une solution pour contrer cela?
 
Merci d'avance à toutes les personnes ayant participé à ce topique.
 


 
+1
 
Je suis assez debutant et je m'etais posé la question y'a 15 jours (j'avais fait un ptit topic mais on m'avais dis qu'on ne pouvais pas changer la valeur d'une variable de session en la specifiant dans l'url), donc j'ai ma reponse, c'est là le probleme des variable globales :na:

Reply

Marsh Posté le 10-08-2003 à 23:14:31    

perso, je fais un truc du genre

Code :
  1. if ( !session_is_registered("var" )) {$var = "";}


pour chaque variable "sensible" dans le code.
c'est peut-ete pas tres propre, mais les quelques tut. que j'ai parcouru sur les sessions ne parlaient pas de $_GET et companie :(


Message édité par Ti_Thom le 10-08-2003 à 23:16:13

---------------
Je dors pas, j'm'économise ...
Reply

Sujets relatifs:

Leave a Replay

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