2017-04-17 3 views
0

login.phpPHPのセッションクラスの出力はnullで

$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を取得します。誰かが私を助けてくれますか?ありがとうございました。

img1

img2

+1

[オブジェクトクラスをPHPのセッションに格納するにはどうすればいいですか?](http://stackoverflow.com/questions/5578679/how-can-i-store-object-class-into-a-session- in-php) – MrD

答えて

0

対処方法2 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; 
0

あなたがセッションを介してオブジェクトにアクセスしているページにあなたのクラスを含める必要があります。別のファイル(class_lib.phpなど)を作成して、すべてのクラスを定義し、それを使用するページでincludeまたはrequireを使用することをお勧めします。

また、セッションに割り当てる前にオブジェクトをシリアル化し、もう一方のセッションでシリアル化を解除する必要があります。

EDIT:また、session_start()が必要です。どちらのページにも、どちらのページにも含まれています。

0

Giris()メソッドについてコードを与えることはできますか? この方法でセッションを設定する必要があります。その後、session_startメソッドでセッション変数を取得します。

よろしくお願いいたします。

0

可能な説明:$yet = $_SESSION['YETKILI'];でYETKILIオブジェクトをセッションから戻す前に、YETKILILERのクラス定義が使用可能であることを確認する必要があります。つまりindex.phpで、YETKILIクラスを保持するファイルにincludeまたはrequireを使用していることを確認してください。

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;