• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خطای Undefined
#1
سلام،

دوتا CMS با یک فریم ورک، یکشون مثل هلو کار میکنه، اون یکی هزار جور خطا میده Huh
نقل قول:
Notice: Undefined index: action in G:\USBwebserver\root\blog\config\config.php on line 12

Notice: Undefined variable: action in G:\USBwebserver\root\blog\config\config.php on line 23

Notice: Undefined variable: action in G:\USBwebserver\root\blog\config\config.php on line 24

Notice: Use of undefined constant ADMIN_TEMPLATE - assumed 'ADMIN_TEMPLATE' in G:\USBwebserver\root\blog\config\setting.php on line 2

Notice: Use of undefined constant BLOG_TEMPLATE - assumed 'BLOG_TEMPLATE' in G:\USBwebserver\root\blog\config\setting.php on line 3

تفاوت سی ام اسی که خطا میده با اون یکی فقط در اینه که تمام ایجکسه.
فریم ورک و سی ام اس ها هم مستقل هستند.

عمل خاصی در فایل کانفیگ صورت نمیگریه و کدش به صورت زیره:
کد پی‌اچ‌پی:
define('DB_NAME','blog');

define('DB_USERNAME','root');

define('DB_PASSWORD','usbw');

define('DB_HOST','localhost');

define('URL','http://localhost:8080/blog/');

if(
is_null($_GET['action']))
{
    
define('ACTION','index');
    
define('VIEW','index');
}
else
{
    
$action=explode('/',strtolower($_GET['action']));
    
define('ACTION',mysql_real_escape_string(strip_tags($action[0])));
    
define('VIEW',mysql_real_escape_string(strip_tags($action[1])));        
}
define('ID',(int)$action[2]);
define('RULE',mysql_real_escape_string(strip_tags($action[3]))); 

این خطاها در usb webserver میان، توی لوکال هاست با wamp یا lamp چنین اتفاقی نمیوفته و مشکلی ندارم.
لطفا راهنماییم کنید، ممنون Heart
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#2
والا چی بگم داداش .
اون شماره لاین ها رو بررسی کن ببین چیه؟
قبل از تعریف متغییر ها ، اونارو یه بار با null مقدار دهی کن فکر کنم حل بشه .
به جای اینم
کد پی‌اچ‌پی:
if(is_null($_GET['action'])) 
از
کد پی‌اچ‌پی:
if(is_null($_GET['action']) && isset($_GET['action'])) 
استفاده کن محکمترهBig Grin
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : oia undefined
#3
مشکلت از تابع is_null هست
از تابع isset استفاده کن بجاش. هم درست تره و هم ...
Big Grin
  پاسخ
تشکر شده توسط : undefined Reza
#4
نقل قول:
کد پی‌اچ‌پی:
if(is_null($_GET['action']) && isset($_GET['action'])) 
استفاده کن محکمتره

محکم کاری تا این حد Big Grin

نقل قول:
isset — Determine if a variable is set and is not NULL

is_null — Finds whether a variable is NULL

مشکل از این دو تابع نیست، هر چی هست مربوط به usb webserver میشه چون جای دیگه چنین مشکلی رو ندارم(فعلا گزارش خطاهارو بستم، باش کار میکنم Big Grin)
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#5
کد پی‌اچ‌پی:
if(isset($_REQUEST['action']))
{
if(
trim($_REQUEST['action']))
{
define('ACTION','index');
}
}

یا همچین چیزی

if(trim(@$_REQUEST['action']))
{
define('ACTION','index');

وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : undefined Reza


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان