PHP: bir satır aşağı daralmış Bug, onu anlamaya olamaz

3 Cevap

Benim kod Yani bu bölümü:

print_r($_SESSION['T']);
$T = array_values($data2);
print_r($_SESSION['T']);

Çıkışlar bu:

Array ( [0] => NZL ) Array ( [0] => ENG [1] => NZL ) 

That line is the first time $T is declared. As far as I can tell there should be NO reason for $_SESSION['T'] to gain an entry and its definitely causing me problems.
Might be good to note that after that array_values call, the var $T looks like:

Array ( [0] => ENG [1] => NZL ) 

Hangi $ _SESSION ['T'] ikinci baskı göstererek ne olduğunu.

Eğer bu oluyor olabilir herhangi bir nedenle düşünemiyorum eğer bana, teşekkür bildirin

3 Cevap

Eğer Register Globals açık olabilir gibi görünüyor.

if (ini_get('register_globals')) {
    die("Register Globals is ON - This is BAD");
}
else  {
    die("Register Globals is OFF - This is GOOD");
}

Fikriydi - register globalleri ile - size $_GLOBALS['T'] için bir kısaltma olarak bir değişken $T kullanabilirsiniz ... veya $_GET['T'] veya {[(3)] olabilir } veya (elbette) $_SESSION['T'].

Bunun kötü bir fikir gibi geliyor eğer öyle (oldu) ve şimdi çok agresif varsayılan olarak genellikle kapalı önerilmiyor ve cesareti olmuştur, çünkü bu.

Bu bilinen bir hata / yan etkidir. Ayrıntılar için this question bakın. Bu off register_globals ayarlayarak sıralanabilir olmalıdır.

Eğer register_globals on (kesinlikle korkunç hangisi) ayarlanmış çünkü bu muhtemelen neden olur. (http://www.php.net/manual/en/security.globals.php bak)

Sen OTURUM / POST / / İSTEK / COOKIE değişkenleri karışmaz GET böylece küresellerle kayıt devre dışı bırakmanız gerekir.