PDA

View Full Version : بالا نیومدن سایت در لوکال هاست



empera2r
یک شنبه 23 فروردین 1394, 12:23 عصر
سلام دوستان
من یه سایت یا بهتر بگم اسکریپت رو از رو هاست دانلود کردم و آوردم رو لوکال هاست تا یه سری تغییرات بهش بدم اما وقتی تو لوکال هاست وارد دایرکتوریش میشم پر از خطاهای از نوع notice (در هاست اصلا خطای وجود ندارد خاصیت نشون دادن تمام خطا ها هم ست شده) که اصولا اینجور خطاها اهمین چندانی ندارد ولی باعث شده که اصلا سایت بهم ریخته باشه و اطلاعات دیتابیس رو نخونه . در زیر اطلاعات دقیق ترو میزارم ممنون میشم راهنماییم کنید

خطا رخ داده شده


Notice: Undefined index: post in C:\wamp\www\res\header.php on line 12





و کد مربوط


if( strlen( u_name_url(trim(strip_tags($_GET['post']))) ) > 0 )

mahmod2000
یک شنبه 23 فروردین 1394, 12:26 عصر
به این صورت تغییر بدید کد رو و تست کنید


if( isset($_GET['post']) && strlen( u_name_url(trim(strip_tags($_GET['post']))) ) > 0 )

empera2r
یک شنبه 23 فروردین 1394, 12:43 عصر
خیلی ممنون دوست عزیز
با تغییر دادن این کد خطا رفع میشه ولی این خطا nبار رخ داده و تغیر دادن تمامی اون کدها به کدی که شما لطف کردید گذاشتید کاره بسیار زمان بری هستش روش دگیری نیست که این مشکل رو حل کنه تو لوکال هاست با توجه به اینکه تو هاست اصلی به این خط کد خطا نمیده . بازم ممنون

j_naroogha@yahoo.com
یک شنبه 23 فروردین 1394, 13:48 عصر
اگر براتون امکانپذیر هست کدتون رو بذارین تا چک کنیم.
اینطوری نمیشه از چیزی سر درآورد

hamedarian2009
یک شنبه 23 فروردین 1394, 13:58 عصر
خیلی ممنون دوست عزیز
با تغییر دادن این کد خطا رفع میشه ولی این خطا nبار رخ داده و تغیر دادن تمامی اون کدها به کدی که شما لطف کردید گذاشتید کاره بسیار زمان بری هستش روش دگیری نیست که این مشکل رو حل کنه تو لوکال هاست با توجه به اینکه تو هاست اصلی به این خط کد خطا نمیده . بازم ممنون

اینجاست که یکی از مزیت های شی گرایی مشخص میشه
همیشه هرکدی که بیشتر از 2 بار در برنامه تان تکرار میشه رو یک تابع براش تعریف کنید و از تابع در کل برنامه استفاده کنید تا در صورت بروز چنین مشکلاتی دیگه نخواهین کل برنامتون رو ویرایش کنید

empera2r
یک شنبه 23 فروردین 1394, 18:19 عصر
ممنون از پاسختون . تکه کد زیر باعث ایجاد خطا میشه که عین این کد در چند جا استفاده شده که همه این خطا رو میدن

if( strlen( u_name_url(trim(strip_tags($_GET['post']))) ) > 0 ){ $pname = mysql_real_escape_string( u_name_url(trim(strip_tags($_GET['post']))) );
@$pnameb = mysql_fetch_array(mysql_query("SELECT id,pname,ptitle,ptex,pextex,pseokeys,pseodesc,
phits,pdate FROM posts WHERE fdate<=$now_time AND pname='$pname'"));
if($pnameb[0]>0){
$post_found = 1;
include ('includes/post.php');
}else{
$post_found = 2;
include ('includes/404.php');
}

mahmod2000
یک شنبه 23 فروردین 1394, 18:46 عصر
دوست عزیز، این اشتباه طبیعی هستش، چون کوئری استرینگ post هنوز تعریف نشده توی url و این ارور رو میده
شما هرجا که خواستید این مقدار رو مورد بررسی قرار بدید، همونجور که قبلا گفتم با فانکشن isset چک کنید ببینید اگه موجود بود ادامه کار رو بره که خطا نخورید
یا اینکه، اولش به این صورت میتونید چک کنید که اگر وجود نداشت بهش یک مقدار اولیه بدید، که ارور موجود نبودن این خونه از آرایه $_GET رو بهتون نده:


$_GET['post'] = isset($_GET['post']) ? $_GET['post'] : '';


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

empera2r
یک شنبه 23 فروردین 1394, 21:02 عصر
پس چرا تو هاست مشکلی نداره؟؟

hamedarian2009
یک شنبه 23 فروردین 1394, 21:16 عصر
پس چرا تو هاست مشکلی نداره؟؟

توی هاست نمایش خطاها غیر فعاله اگه این کد رو تو برنامتون بزارین باید نشون بده

error_reporting(E_ALL);

empera2r
یک شنبه 23 فروردین 1394, 21:36 عصر
توی هاست نمایش خطاها غیر فعاله اگه این کد رو تو برنامتون بزارین باید نشون بده

error_reporting(E_ALL);
دوست عزیز ممنون از پاسختون ولی اگر سوال اولمو تا آخر خونده باشید میبینید نوشتن هم تو هاست هم تو لوکال هاست نمایش خطاها فعاله