سلام
دوست من وردپرس قضیش کمی متفاوت هست و الان جاش نیست که توضیح بدم چطور عمل میکنه..
کد شما هم که ظاهرا مشکلی نداره( فقط چقدر حشو داره!
ببینید چند جا چک کردن که فلان مقدار true هست... بگذریم) شما یه لطفی بکن و چند خط کد زیر رو بریز داخل فایلی به اسم testme.php و بعد اجراش کن (از کد خودتون استفاده کردم)
PHP:
<?php
session_start();
class MyClass
{
public function checkMe()
{
if($_SESSION['auth'] == 'yes')
{
return true;
}
else
{
return false;
}
}
public function login()
{
if($this->checkMe() === false)
{
if(1)
{
$_SESSION['auth'] = 'yes';
echo 'logged in! click <a href="testme.php">here</a> ';
}
/*if($login === true)
{
//render login page
echo 'bad login!';
}*/
else
{
//function index
$this->index();
}
}
elseif($this->checkMe() === true)
{
//function index
$this->index();
}
}
public function index()
{
if($this->checkMe() === true)
{
//render index page
echo 'welcome';
}
}
public function sampleFunction()
{
if($this->checkMe() === true)
{
//do sth else
}
}
}
$b = new MyClass();
$b->login();
?>
دفعه اول باید یه پیغام بده که شما لاگین شده اید و بعد از کلیک روی here پیغام welcome رو نشون میده.
اگه کار نکرد به احتمال زیاد مشکل "دسترسی و نوشتن روی دایرکتوری" tmp یا هر جای دیگه ای که session ها ذخیره میشن رو دارید ( دقیقن مسئله وردپرس اینه که فایل session رو روی این دایرکتوری ها ذخیره نمی کنه، شما هم ببین چه اسکریپتی رو برای تست کردن انتخاب کردین
)
مسئله رو به پشتیبانی شرکتی که ازش خریداری کردید اطلاع بدین تا راهنماییتون کنن( یا در بخش نگهداری سرور و .. همین انجمن مطرح کنید تا دوستان کمکتون کنند، در هر صورت به نظر نمی رسه مسئله با PHP و این بخش رابطه ای شدیدی داشته باشه.
موفق باشید