انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: Alir3z4 در 21 امرداد 1389، 12:56 قظ
-
سلام و صد سلام
بازم همون داستان گشتم نبود، نگرد نیست
من یه وب سایت php دارم مینویسم و تا زمانی که تحت خدابیامرزی روش کار میکردم بدون هیچ مشکلی اجرا میشدن و خطا نمیدادن
من الان apache php رو از طریق راهنمای ویکی نصب کردم ولی الان وقتی وب سایت رو روی لوکال اجرا میکنم با چنین خطای بی ربطی مواجه میشم...
این واسه صفحه ایندکس :
Deprecated: Function split() is deprecated in /home/alireza/public_html/lib/dbClass.php on line 13 Notice: Undefined index: exit in /home/alireza/public_html/index.php on line 45
این هم خط ۱۰-۱۵ فایل dbclass.php :
function OpenCon($DBInfo)
{
global $con;
if (!list($dbuser, $dbpass, $dbhost) = split('-', $DBInfo))
{
return false;
}
که تا اونجایی که من میدونم داره به تابع split گیر میده...
این هم خط ۴۱-۵۰ فایل index.php :
}
}
if ($_GET['exit'] == "doit")
{
unset($_SESSION['UserID']);
unset($_SESSION['Username']);
unset($_SESSION['Mail']);
head("index.php");
}
if (isset($_GET['Go']))
{
$file = str_replace("../", "", $_GET['Go']);
} else
{
$file = "main";
}
$panel;
require "theme/header.php";
require "$file.php";
echo $PageContent;
require "theme/footer.php";
و صفحاتی که در زیر ایندکس include میشن هم :
Notice: Undefined variable: Main in /home/alireza/public_html/main.php on line 33
که این خط ۳۰-۳۵ این صفحه :
$Row['id'] . '">See More Details</a></div>
</div>';
}
$PageContent = $Main;
?>
که در اینجا به شامل شدن $main گیر میده....
در کل خطاهایی میده که واقعا اشتباه هستن...
تو خدا بیامرزی که خوب جواب میداد...
ممنون میشم برادرا....
-
برادر من، شما E_NOTICE رو فعال کردی، که اگه حقیقتشو بخوای خیلی هم خوبه که وقت برنامه نویسی اینکار رو انجام بدی
برای تغییرش برو و تنظیمات Php (همون php.ini ) رو ویرایش کن و
error_reporting=E_ALL & ~E_NOTICE
و یه چیز دیگه اینکه ۹۰ درصد هشدارها اشتباه نیستن و بهتره جدی بگیریشون. مثلا همین $Main داره میگه شما اولین باره داری ازش استفاده میکنی ولی طرف راست تساوی خوب این یه ریسکه، یا اینکه اصلا $_GET['exit'] وجود نداره، به عبارتی exit پاس داده نشده، قبلش با isset چکش کن...
اما تابع split :
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
-
راستی، تو php اسم متغیرها به حروف کوچیک و بزرگ حساسه ولی اسم توابع نه.
-
اره حساسیت رو میدونم
ولی خب الان تکلیف من چیه که split پشتیبانی نمیشه ؟
بجای split از چی استفاده کنم؟
یا اینکه روشم رو تغییر رو بدم ؟
-
۱- preg_split هم هست اگه میخوای با regex تیکه کنی رشته رو
۲- اگه میخوای با کمک یه کاراکتر یا یه رشته ، یه رشته بزرگ رو تیکه کنی، explode هم هست.
کلا تو کدی که من دیدم explode بهتره
-
آره ایول مرسی
درسته کارت وجدانی
چند بار منو راهنمایی کردی رفیق...
آره explode عالیه...
-
فکر کنم یه (حل شد) لازمه.
-
آره
داشتم همین کار رو میکردم...