Garip PHP davranış ben değişken adı içine ünlem işareti koyarsanız

0 Cevap php

Ben şimdiye kadar gördüğüm, PHP kendisi ile garip bir sorun var.

Setup:

PHP 5.33, IIS altında (aynı zamanda PHP 5.2.14 denedim)

Problem: PHP deletes all session data as soon as I put exclamation point into a key in session array.

Example:

session1.php

session_start();
$_SESSION["foo"] = 'test';
header('Location: session2.php');

session2.php

session_start();
var_dump($_SESSION);
die();

Gayet iyi çalışıyor, ben basılmış değişken verileri görebilirsiniz.

array(1) { ["foo"]=>  &string(4) "test" } 

Ama olması için ilk dosyada satır değiştirirseniz

$_SESSION["foo!"] = 'test'; 

veya

$_SESSION["f!oo"] = 'test'; 

Ben ünlem eklerseniz ikinci dosyanın gidince noktadan sonra $ _SESSION dizi boş olduğu anlamına

array(0) { } 

I thought this is a buggy version of PHP when I was on 5.2.14, but upgrade didn't help. I don't even know what the problem might be. Maybe this has something to do with Windows setup, veyaIIS?

Herhangi bir fikir?

0 Cevap