J'ai le plus étrange problème avec PHP lui-même, que j'ai jamais vu.Comportement bizarre PHP si je mets le point d'exclamation dans le nom de la variable
Configuration:
PHP 5,33, (essayé PHP 5.2.14 ainsi) sous IIS
Problème: PHP supprime toutes les données de session, dès que je mets un point d'exclamation dans une clé dans un tableau de session.
Exemple:
session1.php
session_start();
$_SESSION["foo"] = 'test';
header('Location: session2.php');
session2.php
session_start();
var_dump($_SESSION);
die();
fonctionne très bien, je vois des données variables imprimées.
array(1) { ["foo"]=> &string(4) "test" }
Mais si je change la ligne en premier fichier à
$_SESSION["foo!"] = 'test';
ou
$_SESSION["f!oo"] = 'test';
Je veux dire que si j'ajouter un point d'exclamation -Alors $ _SESSION est vide quand je reçois au deuxième fichier
array(0) { }
J'ai pensé que c'était une version buggée de PHP quand j'étais sur 5.2.14, mais la mise à jour n'a pas aidé. Je ne sais même pas quel pourrait être le problème. Peut-être que cela a quelque chose à voir avec l'installation de Windows, ou IIS?
Des idées?
quel backend de session utilisez-vous? fichiers simples? 'session.save_handler = files' – stillstanding
Mon php 5.3.1 fonctionne très bien avec"! " (xampp). – ehpc
Il y avait un vieux rapport de bogue sur ceci, mais apparemment il n'était pas reproductible (http://bugs.php.net/bug.php?id=14160) – nico