PDA

View Full Version : includ کردن یک فایل php در داخل یک تابع در کلاس



Restlesa
چهارشنبه 03 دی 1393, 17:07 عصر
سلام بر همگی دوستان عزیز برنامه نویس
یک کلاس دارم با نام Sys_Function و این کلاس یک متد با نام checkLogin داره که قراره کنترل ورود کاربران به سایت رو پردازش کنه ... حال کاری که من می خوام بکنم اینه که زمانی که کاربر اجازه ورود به سایت رو نداره پیغام خطا رو از یه فایل دیگه به اسم adminpanel.lng که فایل زبان سیستم هستش بخونه. در تابع دستور زیر رو می نویسم اما به محتوای فایل adminpanel.lng و متغیر lang$ دسترسی ندارم
خواهشا راهتمایم کنید که مشکل کار از کجاست ؟؟؟

دستور فراخوانی فایل adminpanel.lng

include_once(ROOT_DIR . '/language/' . $this->language . '/adminpanel.lng');

محتوای فایل adminpanel.lng

<?php
$lang = array();
$lang = array(

//1.0

'ip_block' => "اخطار! شما در حال استفاده از قفل کننده خودکار آی پی هستید. حساب کاربری شما دیگر هیچگاه از این آی پی قابل دسترس نخواهد بود.",

'error_title_1' => "خطای سیستمی",
'error_title_2' => "خطای ورود به پنل مدیریت",

'login_title' => "پنل مدیریت",

'login_err_1' => "نام کاربری یا کلمه عبور وارد شده صحیح نیست. ",
'login_err_2' => "توجه، تعداد تلاش های شما برای ورود به سایت به حداکثر رسیده است و سیستم IP شما را برای انجام این کار، قفل کرده است. اگر رمز عبور خود را فراموش کردید، از طریق لینک بازگردانی کلمه عبور توسط ایمیل اقدام کنید، در غیر این صورت برای ورود به سایت، مجدداً 20 دقیقه دیگر تلاش کنید.",
// 1.0
);

?>

محتوای کلاس Sys_Function

<?php
class System_fun extends database{
public $language = 'Persian';

final public function checkLogin($username, $password, $rememberme = false, $post = true){
include_once(ROOT_DIR . '/language/' . $this->language . '/adminpanel.lng');

echo $lang['login_err_1'];
}
}
?>

فرزند کوروش
چهارشنبه 03 دی 1393, 18:59 عصر
پسوند lng و نوشتن ارایه php تو اون؟؟!!

MMSHFE
چهارشنبه 03 دی 1393, 19:22 عصر
محتوای فایل language/adminpanel.php :

<?php
return array(
'ip_block' => "اخطار! شما در حال استفاده از قفل کننده خودکار آی پی هستید. حساب کاربری شما دیگر هیچگاه از این آی پی قابل دسترس نخواهد بود.",
'error_title_1' => "خطای سیستمی",
'error_title_2' => "خطای ورود به پنل مدیریت",
'login_title' => "پنل مدیریت",
'login_err_1' => "نام کاربری یا کلمه عبور وارد شده صحیح نیست. ",
'login_err_2' => "توجه، تعداد تلاش های شما برای ورود به سایت به حداکثر رسیده است و سیستم IP شما را برای انجام این کار، قفل کرده است. اگر رمز عبور خود را فراموش کردید، از طریق لینک بازگردانی کلمه عبور توسط ایمیل اقدام کنید، در غیر این صورت برای ورود به سایت، مجدداً 20 دقیقه دیگر تلاش کنید.",
);
محتوای فایل Sys_Function :

<?php
class System_fun extends database{
public $language = 'Persian';
final public function checkLogin($username, $password, $rememberme = false, $post = true){
$lang = require_once(ROOT_DIR . '/language/' . $this->language . '/adminpanel.php');
echo $lang['login_err_1'];
}
}
اگه خطایی داد، حدس میزنم بخاطر تعریف نشدن ثابت ROOT_DIR باشه. خطا رو بگذارین ببینیم مشکل از چیه.