Arkadaşlar bi sessionda birden çok veri tutuyorum
Session'ı üye girişi sayfasında böyle oluşturuyorum:
$loggedInUser = new loggedInUser();
$loggedInUser->email = $userdetails["email"];
$loggedInUser->user_id = $userdetails["id"];
$loggedInUser->hash_pw = $userdetails["password"];
$loggedInUser->title = $userdetails["title"];
$loggedInUser->displayname = $userdetails["display_name"];
$loggedInUser->username = $userdetails["user_name"];
//Update last sign in
$loggedInUser->updateLastSignIn();
$_SESSION["userCakeUser"] = $loggedInUser;
Normalde $loggedinuser->user_id; şeklinde çekiyorum fakat başka bir dizinde başka bir scriptte kullanıcı bilgilerini bastırmam lazım
session_id('userCakeUser');
session_start();
echo $_SESSION['userCakeUser']['user_id'];session_id('userCakeUser');
session_start();
echo $_SESSION['userCakeUser'][2];Fatal error: Cannot use object of type loggedInUser as array in /home/thybitirme/public_html/is/user.php on line 212
Hatası veriyor
var_dump kodu:
NULL email =
abc@gmail.com
hash_pw = 6234342a422b20cnsgfa6f3544fd6255fa0a16a4fsh42f5d9d 8e5b3
user_id = 16
title = Yönetici
displayname = TahaG
username = tahagg
sonucunu veriyor
ben şimdi user_id'yi bastırmak istiyorum sadece nasıl yapabilirim ?
$taha = $_SESSION['userCakeUser'];
$taha->user_id;
Bu da hata veriyor başka şeylerde denedim bir türlü yapamadm nedir bunun çözümü ?
$_SESSION["userCakeUser"] = $loggedInUser;
userCakeUser isimli bir session oluşturuyorsun ve session'a değer olarak atadığın $loggedInUser 'in değişken tipi object.
echo $_SESSION['userCakeUser']['user_id'];
dizi olarak almaya çalışıyorsun hatan burada.
echo $_SESSION['userCakeUser']->user_id;
kontrolü de unutmayın.
if (is_object($_SESSION['userCakeUser'])) { ... işlemler ... }
veya..
object göndermek yerine
$_SESSION["userCakeUser"] = $loggedInUser;
satırını
$_SESSION["userCakeUser"] = get_object_vars($loggedInUser);
olarak değiştirin.