[PHP] La concatenation écrit dans ma variable

Fermé
rootsA Messages postés 2 Date d'inscription lundi 7 septembre 2009 Statut Membre Dernière intervention 7 septembre 2009 - 7 sept. 2009 à 15:56
rootsA Messages postés 2 Date d'inscription lundi 7 septembre 2009 Statut Membre Dernière intervention 7 septembre 2009 - 7 sept. 2009 à 16:26
Bonjour à tous,
voila j'ai un soucie plutôt bizarre.

Je viens de changer de serveur pour mon site et je suis passé chez OVH, avant mon site fonctionné très bien.
Et là c'est le drame, je m'expliques :

La concaténation écrit dans ma variable!!!!!
A la base j'ai ce petit bou de code :

(admettons que $_SESSION["type"]=0)

$type="arch_type=".$_SESSION["type"];

Mais quand il ressort de ce petit bou de code ma variable ($_SESSION["type"]) contient "arch_type=0", alors que je ne veux pas écrire dedans!

Quel est mon erreur ?
Merci pour vos réponse par avance.

2 réponses

Bonjour

C'est une question de configuration de PHP
Le tien est configuré avec register_globals sur on, ce qui signifie à peu près que $type, $_GET['type'], $_POST['type'],$_COOKIE['type'] et $_SESSION['type'] désignent toutes la même variable.
Donc quand tu modifies$type, tu modifies aussi $_SESSION['type'].
Cette configuration n'est plus celle par défaut depuis PHP 4.2 ; la fonctionnalité est même abandonnée depuis PHP 5.3 :
https://www.php.net/manual/fr/security.globals.php
Ou bien OVH peut te loger sur un serveur avec une configuration plus récente, ou il faut que tu prennes des noms différents pour la variable simple (par exemple $type1) et l'indice du tableau $_SESSION ('type')
0
rootsA Messages postés 2 Date d'inscription lundi 7 septembre 2009 Statut Membre Dernière intervention 7 septembre 2009
7 sept. 2009 à 16:26
Merci beaucoup pour ta réponse!!!
Je tel dessuite à OVH, tu m'enlève une belle épine du pied!

Merci encore!!!
0