的login.php
$yetkili = new YETKILILER();
$yetkili->YETKILI_TC=$YETKILI_TC;
$yetkili->YETKILI_SIFRE=$YETKILI_SIFRE;
$_void = $yetkili->Giris();
$_SESSION['YETKILI'] = $yetkili;
的index.php
$yet = $_SESSION['YETKILI'];
$tc= $yet->YETKILI_TC;
// Output $tc =null :/
大家好。我试图在php的会话中设置一个类,并从其他页面请求它,但是当我尝试这样做时,我只得到null。有人可以帮帮我吗?谢谢。
答案 0 :(得分:0)
您需要在通过会话访问对象的页面中包含您的类。我建议您创建一个单独的文件,例如class_lib.php,您可以在其中定义所有类,然后在使用它的页面中使用include
或require
。
此外,您需要在将对象分配给会话之前对其进行序列化,然后在另一端对其进行反序列化。
编辑:另外,你需要session_start();在两个页面或页面中都包含它们。
答案 1 :(得分:0)
你能给出一个关于你的Giris()方法的代码片段吗? 您需要在此方法上设置会话。然后通过session_start方法获取会话变量。
度过愉快的一天。
答案 2 :(得分:0)
可能的解释:在使用$yet = $_SESSION['YETKILI'];
的会话中返回YETKILI对象之前,必须确保YETKILILER
的类定义可用。即在index.php中,请确保您在包含YETKILI类的文件中使用了include
或require
。
答案 3 :(得分:0)
解 的login.php
$yetkili = new YETKILILER();
$yetkili->YETKILI_TC=$YETKILI_TC;
$yetkili->YETKILI_SIFRE=$YETKILI_SIFRE;
$_SESSION['YETKILI'] = serialize($yetkili);
的index.php
$yetkili = unserialize($_SESSION['YETKILI']);
$test = $yetkili->YETKILI_ID;
答案 4 :(得分:0)
Solution2 login.php
$yetkili = new YETKILILER();
$yetkili->YETKILI_TC=$YETKILI_TC;
$yetkili->YETKILI_SIFRE=$YETKILI_SIFRE;
$_SESSION['YETKILI'] = serialize($yetkili);
的index.php
$yetkili = unserialize($_SESSION['YETKILI']);
$test = $yetkili->YETKILI_ID;