PHP oturumda tüm değişkenleri saklamak değil

2 Cevap php

Benim betik boyunca Array - Ben $ _SESSION doldurarak oturum değişkenleri atama ediyorum. Benim sorunum nedense tüm değişkenler oturumda kullanılabilir olmasıdır.

Burada bu sorunu açıklamak için kodumu kısaltılmış halidir:

session_start();

print_r($_SESSION);

$_SESSION['lang']        = 'de';
$_SESSION['location_id'] = 11;
$_SESSION['region_id']   = 1;

$_SESSION['userid'] = 'eccbc87e4b5ce2fe28308fd9f2a7baf3';
$_SESSION['hash']   = 'dce57f1e3bc6fba32afab93b0c38b662';

print_r($_SESSION);

İlk çağrı böyle bir şey yazdırır:

Array
(
)
Array
(
    [lang] => de
    [location_id] => 11
    [region_id] => 1
    [userid] => eccbc87e4b5ce2fe28308fd9f2a7baf3
    [hash] => dce57f1e3bc6fba32afab93b0c38b662
)

ikinci çağrı yazdırır:

Array
(
    [lang] => de
    [location_id] => 11
    [region_id] => 1
)
Array
(
    [lang] => de
    [location_id] => 11
    [region_id] => 1
    [userid] => eccbc87e4b5ce2fe28308fd9f2a7baf3
    [hash] => dce57f1e3bc6fba32afab93b0c38b662
)

As you can see, the important login information is not stored in the session. Does anybody has an idea what could be wrong with my session? Thanks for your answers!

2 Cevap

Eğer komut sizin oturum değişkenleri ve diğer değişkenler ile bir ad çakışması olabilir üzerinde küresellerle kayıt varsa Ayrıca, Pekka ima olabilir ne genişleyen. Mümkün dönüş senin değişkenleri küresellerle kapalı kayıt ya da yeniden adlandırırsanız da ($ _SESSION'hash '] ve $ hash) çarpışır ve ne görmüyorum.

Tek bir komut dosyası el değmemiş bu kodu yapıştırın ve bunu birkaç kez çalıştırmak. Sen aynı sonuçları 2., 3., 4., ... zaman almalısınız.

<?php
session_start();

print_r($_SESSION);

$_SESSION['lang']        = 'de';
$_SESSION['location_id'] = 11;
$_SESSION['region_id']   = 1;

$_SESSION['userid'] = 'eccbc87e4b5ce2fe28308fd9f2a7baf3';
$_SESSION['hash']   = 'dce57f1e3bc6fba32afab93b0c38b662';

print_r($_SESSION);
?>

Eğer çalışırsa, o zaman tabii ki size gönderme değildir sizin komut yanlış bir şey var. Bu durumda size yardım edebilmek için daha fazla kod sağlamalıdır.