• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
میشه یک نگاهی به این کد من بندازید؟ من نمی فهمم مشکلش کجاست!
#1
سلام،
دوستان خوبم خیلی این مدت زحمتتون دادم و می دونم سوال زیاد کردم. ببخشید Blush آموزش این دردسر هارو هم داره دیگه Cool

بروزرسانی: به علت بهم ریختن پوسته صفحه و به درخواست صالح جان کد ها از این پست حذف شد و می تونید از فایل index.php ویرایش شده (پیشنهادات شما تا 16 آپریل اعمال شده) که پیوست شده استفاده کنید Heart

.php   index.php (اندازه 5.87 KB / تعداد دانلود: 2)


plz کمکم کنید و بگید مشکلم کجاست Heart مرسی
غایب
  پاسخ
تشکر شده توسط :
#2
undefined index برای کدوم متغیر؟
  پاسخ
تشکر شده توسط :
#3
من نمی تونم اسکرول کنم. چرا ایقدر درب داغون نوشتید. خوانا تر بنویسید تا هم خودتون هم ما ها بتونیم راحت بفهمیم. اینجوری نمیشه والاConfused
  پاسخ
تشکر شده توسط :
#4
بسم الله الرحمن الرحیم
سلام
کدهاتون رو یه چکی بکنید
الان اینا در فایل اولی کجا رو نشون میده: ؟
کد پی‌اچ‌پی:
$langs[2]
$langs[4


شما تو آرایه کلیدی به نام 2 یا 4 ندارید / واسه همین می گه تعریف نشده

باید بجاش اینطوری بنویسید / مثلا:
کد پی‌اچ‌پی:
$langs['logout']['no_cookie'
یا
کد پی‌اچ‌پی:
$langs['comments']['no_comments'
و غیره ...

فکر کنم این دوتا رو یادتون رفته درست کنید / چون باقیش رو درست نوشتید
  پاسخ
تشکر شده توسط : cyletech
#5
بهتر نیست بجای
کد پی‌اچ‌پی:
if( !isset( $_GET['song'] ) && !isset( $_GET['artist'] ) && !isset( $_GET['album'] ) ) { 
اینطوری بنویسی؟
کد پی‌اچ‌پی:
if(!isset($_GET['song'], $_GET['artist'], $_GET['album']))
{
# ... 
یا اینکه همه شروط رو بنویسی در آخر بایک Else اینو بنویسی:
کد پی‌اچ‌پی:
else
{
   
$newTemp= new TempClass('main''/skins/default/templates/');
   echo(
$newTemp->Show());
   include_once(
_DIRECT_ '/classes/tagging.php');
   
$newTag= new TagtoTerm();
   
$newTag->Tag();


همچنین بجای:
کد پی‌اچ‌پی:
require_once( dirname__FILE__ ) . '/engine.php' ); 
بنویسی؟
کد پی‌اچ‌پی:
# Windows.
require_once(addslashes(dirname(__file__)) . '/engine.php' ); 

در ضمن اگر این شرط False باشه چی؟ چکار باید بکنه اونوقت؟
کد پی‌اچ‌پی:
if($newHandle->Errors() == true)
{
... 
وبلاگ: Yousha.Blog.ir


کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بیشتر => نگهداری بهتر
  پاسخ
تشکر شده توسط : hosseintdk775 cyletech
#6
نقل قول:undefined index برای کدوم متغیر؟
برای $langs['comment']
نقل قول:من نمی تونم اسکرول کنم. چرا ایقدر درب داغون نوشتید. خوانا تر بنویسید تا هم خودتون هم ما ها بتونیم راحت بفهمیم. اینجوری نمیشه والا
راستش صالح جان اینجا بد نشون میده! وگرنه من همه چی رو مرتب و درست نوشتم بنظر خودم! خب شما یک لطفی کن و سیو کن توی یک فایل تا دیگه من ریخت کد رو بهم نریزم بخاطر یک اسکرل. البته خیلی بده که اینطوری بشه و هردفعه که اینطوری شده اصلاح کردم ولی این یکی رو گفتم برای اینکه کد ها جدا نشن از هم اینکارو نکردم. ولی بازم بگید بهتره درستش کنم یا نه؟
نقل قول:الان اینا در فایل اولی کجا رو نشون میده: ؟
خب راستی در فایل search.php که اینکلود شده ، یک فایل زبان دیگه اینکلود شده که چون اینکلود در اینکلود هست متغیر های اون فایل زبان رو هم می خونه و برای اینا خطا نمیده! اتفاقاً درست هم نشون داده میشه. البته خب یکم باید روشون کار کنم تا مثل باقی باشند ولی فعلاً میخوام این مشکل گنده رو از سر راهم بردارم.
نقل قول:# Windows.
require_once(addslashes(dirname(__file__)) . '/engine.php' );
یوشا جان این تابع addslashes اینجا چه کاری انجام میده و ما برای چی باید ازش استفاده کنیم؟
نقل قول:در ضمن اگر این شرط False باشه چی؟ چکار باید بکنه اونوقت؟
یک کلاس نوشتم برای بدست گرفتن خطا هایی که امکان داره بوجود بیاد. که در زیر براتون می گذارم شاید اونجا هم ایراداتی داشته باشم و خوشحال میشم بیشتر بدونم. حالا اگر FALSE باشه اونوقت وارد اون کلاس میشه و خطایی که رخ داده رو نشون میده.
کد پی‌اچ‌پی:
<?php

class E_Handle {

public function 
Errors() {

$conn = new connect_db'localhost''root''' );
if( isset( 
$_GET['song'] ) && isset( $_GET['artist'] ) ) {
$all_content $conn->GnIQuery"SELECT `id` FROM `content`
WHERE `song` = '" 
$_GET['song'] . "' AND `artist` = '" $_GET['artist'] . "'" );
}
elseif( isset( 
$_GET['album'] ) ) {
$all_albums $conn->GnIQuery"SELECT `id` FROM `content`
WHERE `album` = '" 
$_GET['album'] . "'" );
}
elseif( isset( 
$_GET['artist'] ) && !isset( $_GET['song'] ) ) {
$all_artist $conn->GnIQuery"SELECT `id` FROM `content`
WHERE `artist` = '" 
$_GET['artist'] . "'" );
}

if( isset( 
$_GET['song'] ) && isset( $_GET['artist'] ) &&
mysql_num_rows$all_content ) < ) {
include_once( 
_DIRECT_ '/skins/errors/404.php' );
return 
FALSE;
}
        
elseif( isset( 
$_GET['album'] ) && mysql_num_rows$all_albums ) < ) {
include_once( 
_DIRECT_ '/skins/errors/404.php' );
return 
FALSE;
}

elseif( isset( 
$_GET['artist'] ) && !isset( $_GET['song'] )
&& 
mysql_num_rows$all_artist ) < ) {
include_once( 
_DIRECT_ '/skins/errors/404.php' );
return 
FALSE;
}
return 
TRUE;
}
}
?>
غایب
  پاسخ
تشکر شده توسط :
#7
مشکل رو حل کردم. باورتون نمیشه چه وقت بود Cool داشتم با صدای بلند آواز می خوندم و صدای آهنگ هم زیاد بود. یهو یاد سوالی که حسین کرد افتادم. یعنی متغیر های $langs['0] و ... چیکارن. یهو به این فکر افتادم که خب چون نام متغیر در تمام فایل های زبان یکی هست یعنی همه langs هستند خب اولین زبانی که اینکلود شده رو مورد نظر قرار میده و تو اون دنبال اون ایندکس می گرده در صورتی که وجود نداشت. الان بردمش سر جاش خودش Heart از همتون زیاد زیاد مرسی. البته هنوز کارم با شما تموم نشده. تو پست قبلیم سوال کردم. لطفا جواب یادتون نره و همینطور اگر ایراد دیگه ای هم پیدا می کنید ممنون میشم خبرم کنید. Angel
غایب
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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