PDA

View Full Version : نحوه فراخوانی فایل های css (حل شد)



baran-baran
یک شنبه 21 خرداد 1391, 15:56 عصر
سلام.
من برای طراحی وبسایت از css و php استفاده کردم. سه قسمت از صفحه اصلی که در تمام صفحات ثابت است را با css طراحی کردم اما در زمان فراخوانی در صفحه موردنظر فقط اولین دستور include نمایش داده می شود و بقیه فراخوانی نمی شوند . چه طور می توانم این مشکل را حل کنم؟
ممنون

MMSHFE
یک شنبه 21 خرداد 1391, 16:25 عصر
دوست عزیز لطفاً کدتون رو بگذارین تا بررسی بشه. هیچ کدوم از اعضای این سایت غیبگو نیستن :چشمک:

baran-baran
دوشنبه 22 خرداد 1391, 19:17 عصر
سلام
لینک کدها رو براتون فرستادم
قسمت header و footer، یک فلش گذاشتم وقتی کدها رو فراخوانی می کنم فقط اولین دستور در صفحه index فراخوانی می شه.
ممنون
لینک کدها (http://s3.picofile.com/file/7406035806/proje.rar.html)

eshpilen
دوشنبه 22 خرداد 1391, 20:06 عصر
این فایلهای اصلاح شده رو که ضمیمه کردم کپی کن توی پروژه.

چیزهایی که نوشته بودی اشکالات زیادی داشت.

تمام چیزهایی که توی یک صفحهء اصلی اینکلود میکنی باید نهایتا تنها یک ساختار HTML کامل رو بسازن.

مثلا وقتی در header.php تگ <html> و <head> و <body> باز میکنی، دیگه نباید در margin.php و index.php و footer.php دوباره این تگها رو بذاری. در تمام فایلهایی که در یک صفحه اینکلود میشن بعلاوهء کدهای اون صفحهء اصلی باید تنها یک بار این تگهای اصلی باز بشن و در نهایت هم بسته بشن.

در یک صفحه نمیتونی چندتا بخش <head>...</head> داشته باشی. نمیتونی چندتا <body>...</body> داشته باشی. نمیتونی چندتا <html>...</html> داشته باشی. در هر صفحه فقط یک بار این بخشها باید بیان. حداقل در استاندارد HTML که اینطوره (درمورد XHTML اطلاع 100% ندارم و شاید مثلا بتونیم چندتا head داشته باشیم و در ضمن شاید هم مرورگرها باوجود خطا این رو مثل خیلی خطاها و عدم پیروی از استانداردهای دیگر قبول بکنن).

بنابراین CSS ها رو در فایلهای جداگانه ذخیره کرده و در بخش هدر فایل اول با تگ link در HTML اینکلود کردیم. چون شما هدر HTML رو در فایل header.php باز کردی و بعد هم مجبور بودی ببندیش چون اون فایل تگ <body> و محتوا هم داره و هدر حتما باید قبل از body تموم و بسته بشه.

مشکل مهم دیگه فکر میکنم این بود که تگ <object> رو نبسته بودی. این باعث میشد که محتویات فایلهای بعدی که اینکلود میشدن بعنوان محتوای تگ object تلقی بشن و محتوای تگ object هم بصورت پیشفرض و درحالت نرمال نمایش داده نمیشه. بنابراین بنده یک تگ پایانی </object> رو به فایل header.php شما اضافه کردم.

تگهای اضافی و تکراری دیگر رو هم که از فایلهای دیگر حذف کردم تا از بخشهای اصلی <html> و <head> و <body> تنها یک نمونه وجود داشته باشه.

ضمنا میشد کدهای CSS رو مستقیما در هدر فایل اول هم قرار داد (داخل <style>...</style>). ولی استفاده از فایلهای مجزا خوانایی بیشتری داره و تمیزتر و اصولی تره.