PDA

View Full Version : سوال: مشکل با include کردن چند صفحه



yasinpc
پنج شنبه 11 تیر 1388, 04:39 صبح
سلام دوستان ابتدا عذر می خوام اگه تاپیک تکراریه من گشتم ولیچیزی که می خواستم پیدا نکردم .خوب بریم سراغ سوالم.من در صفحه index سایت یک تیبل ایجاد کردم و کد های زیر رو توش قرار دادم

<?php
if (!isset($_GET['p'])) {
include("includes/home.php");
} else {
if (file_exists("includes/" . $_GET['p'] . ".php")) {
include("includes/" . $_GET['p'] . ".php");
} else {
echo ("متاسفانه چنین صفحه ای وجود ندارد لطفا با مدیر سایت تماس بگیرید");
}
}
?>
خوب میاد محتویات صفحه اصلی من و تمامی صفحاتم رو از فولدر Includs می خونه و داخل اون تیبل نمایش می ده. و آدرس اون صفحات به طور مثال به این صورت می شه
www.mydomain.com/index.php?p=servis
خوب حالا مثلا ما چند تا زیر مجموعه هم در قسمت سرویس داریم و می خوایم اون ها رو هم نمایش بدیم منتها به این صورت
www.mydomain.com/index.php?p=servis&item=page1
نمایش بدیم خوب می شه راهنمایی کنید که باید چطوری این کارو انجام بدم.

mohsenw700
پنج شنبه 11 تیر 1388, 11:22 صبح
خوب من که اصلا نفهمیدم که چی میگی ؟
یعنی می خواهید از p=servis استفاده کنید؟

اگر می خواهید اینکار را بکنی از این روش استفاده کن که هم امن تره و هم راحتر !



<?php

if(@$page==""):
require('main.php');
elseif(@$page==5):
require('main.php');
elseif(@$page==10):
require('darkhaslisthozor.php');
elseif(@$page==12):
include('list_bimar_factor.php');
elseif(@$page==13):
include('jostejo_bimar.php');
elseif(@$page==14):
include('gozaresh.php');
endif;

?>


که این $page همان p شما میشه!

نمی دونم کمک کردم یا نه !
متوانید برام ایمیل بزنید Mohsen.moradnejadi@gmail.com

sama01
پنج شنبه 11 تیر 1388, 13:33 عصر
فکر می‌کنم صورت مساله برای خودتان روشن نیست.
کاری که شما می‌خواهید، Include چند صفحه نیست. شما یک queryString دارید که یکی از آن‌ها به نام p جهت تعیین صفحه مورد استفاده قرار می‌گیرد.
شما بعد از تعیین صفحه، می‌توانید سایر تنظیمات را با استفاده از دیگر پارامترهای این queryString انجام دهید. مثلا در صفحه sevice می‌توانید با تعیین شماره صفحه که از item به دست می‌آورید، صفحه‌ مورد نظر را بسازید.
یعنی شما در صفحه مورد نظر، تعیین می‌کنید که اگر item‌ مقدار دارد، چه کاری انجام شود. نیازی به Include نیست.

mohsenw700
پنج شنبه 11 تیر 1388, 13:36 عصر
من هم با sama01 (http://barnamenevis.org/forum/member.php?u=42615) موافقم که خودشان نمی دونن می خواهند چیکار انجام دهند!

yasinpc
پنج شنبه 11 تیر 1388, 20:57 عصر
فکر می‌کنم صورت مساله برای خودتان روشن نیست.
کاری که شما می‌خواهید، Include چند صفحه نیست. شما یک queryString دارید که یکی از آن‌ها به نام p جهت تعیین صفحه مورد استفاده قرار می‌گیرد.
شما بعد از تعیین صفحه، می‌توانید سایر تنظیمات را با استفاده از دیگر پارامترهای این queryString انجام دهید. مثلا در صفحه sevice می‌توانید با تعیین شماره صفحه که از item به دست می‌آورید، صفحه‌ مورد نظر را بسازید.
یعنی شما در صفحه مورد نظر، تعیین می‌کنید که اگر item‌ مقدار دارد، چه کاری انجام شود. نیازی به Include نیست

مثلا کاملا روشنه منتها نمی دونستم اسمش چیه که شما گفتید.یه سری توضیح دادید بهتر بود بجای این توضیحات مکتوب کد های راه حل رو قرار می دادید/. اگر منظورم رو هم متوجه نشدید لطفا راهنمایی کنید چطور می شه صفحه ای با آدرس www.mydomain.com/index.php?p=servis&item=page1 (http://www.mydomain.com/index.php?p=servis&item=page1)
ایجاد کرد .فکر نمی کنم این دیگه گنگ باشه .ممنون

sama01
پنج شنبه 11 تیر 1388, 23:42 عصر
دوست عزیز. اگر هدف شما راهنمایی و رفع اشکاله، فکر می‌کنم توضیحات من کافی بود.
ولی اگر هدف شما دریافت کد هست و فکر می‌کنید این‌جا یک سری آدم بی‌کار نشسته‌اند که شما بیای و درخواست کد بدی، من جزو آن دسته‌ای که شما دنبالشان هستید نیستم.

شما اگر php بلد باشی (نمی‌خواد زیاد حرفه‌ای باشی) نوشتن کد مورد نظرت کار سختی نیست.

امیـرحسین
جمعه 12 تیر 1388, 00:00 صبح
شما همونطور که برای ['GET['p_$ از URL مقدار میگیرد و IF تشکیل میدید، همونطور هم برای سایر مقادیر IF ایجاد کنید مثلا

if($_GET['p'] == "service")
{
if($_GET['item'] == 1)
// do something
if($_GET['item'] == 2)
// do something
}



مصطفی جان هرکس یه جوری کدنویسی رو شروع می کنه و به نظر من تو ذوق دیگران زدن کار جالبی نیست و این روش کسی رو برنامه نویس نمی کنه...

yasinpc
جمعه 12 تیر 1388, 02:30 صبح
دوست عزیز. اگر هدف شما راهنمایی و رفع اشکاله، فکر می‌کنم توضیحات من کافی بود.
ولی اگر هدف شما دریافت کد هست و فکر می‌کنید این‌جا یک سری آدم بی‌کار نشسته‌اند که شما بیای و درخواست کد بدی، من جزو آن دسته‌ای که شما دنبالشان هستید نیستم.

شما اگر php بلد باشی (نمی‌خواد زیاد حرفه‌ای باشی) نوشتن کد مورد نظرت کار سختی نیست.

جالبه خیلی جالبه .اولا یاد بگیرید در برخورد با هرکسی چطوری رفتار کنید .بعد هم شما خیلی خودتون رو دسته بالا نگیرید . دست بالای دست زیاده مهندس . بعدم اگر از سوالات ابتدایی و پیش پا افتاده خوشتون نماید نیازی نیست پاسخ بدید تاپیک رو ببندید و برید بیرون کسی شما رو مجبور به پاسخ نکرده.شما هم یه روزی هیچی بلد نبودید .در رفتارتون تجدید نظر کنید معیوس کردن دیگران واقعا.... .براتون متاسفام شما از اون جمله آدم هایی هستید که به صرف اینکه چیزی بلدیدهمه رو زیر دست خودتون می دونید من هم 9 ساله مایا کار می کنم دلیل بر فخر فروشی هست؟

شما همونطور که برای ['GET['p_$ از URL مقدار میگیرد و IF تشکیل میدید، همونطور هم برای سایر مقادیر IF ایجاد کنید مثلا


{
if($_GET['p'] == "service")
if($_GET['item'] == 1)
// do something
if($_GET['item'] == 2)
// do something
}

مصطفی جان هرکس یه جوری کدنویسی رو شروع می کنه و به نظر من تو ذوق دیگران زدن کار جالبی نیست و این روش کسی رو برنامه


ممنون از پاسختون من خودم اینجوری نوشتم جواب هم داد

<?php
include("URL/$page/$item.php")?>

امیـرحسین
جمعه 12 تیر 1388, 04:34 صبح
اولا روشی که انتخاب کردید خیلی حساسه از جهت امنیت. باید مطمئن شید که کاربر نتونه فایلهای دیگه رو اجرا کنه!

دوما، از اینکه درباره تو ذوق زدن حرف زدم، منظورم جانب داری و موضعگیری نبود پس لطفا شما هم ادامه نده!

sama01
جمعه 12 تیر 1388, 08:45 صبح
جالبه خیلی جالبه .اولا یاد بگیرید در برخورد با هرکسی چطوری رفتار کنید .بعد هم شما خیلی خودتون رو دسته بالا نگیرید . دست بالای دست زیاده مهندس . بعدم اگر از سوالات ابتدایی و پیش پا افتاده خوشتون نماید نیازی نیست پاسخ بدید تاپیک رو ببندید و برید بیرون کسی شما رو مجبور به پاسخ نکرده.شما هم یه روزی هیچی بلد نبودید .در رفتارتون تجدید نظر کنید معیوس کردن دیگران واقعا.... .براتون متاسفام شما از اون جمله آدم هایی هستید که به صرف اینکه چیزی بلدیدهمه رو زیر دست خودتون می دونید من هم 9 ساله مایا کار می کنم دلیل بر فخر فروشی هست؟
شما تازه وارد هستید و مسلما از دیدگاه بنده هیچ اطلاعی ندارید. بنابراین عقلا اجازه اظهار نظر در مورد شخص بنده را ندارید. بنده مهندس نیستم و به خاطر علاقه وافر به برنامه‌نویسی این کار را می‌کنم. بنابراین دلیلی برای فخر فروشی نمی‌بینم. کما اینکه تا کنون چنین کاری نکرده‌ام. بنده هیچ‌گاه خود را بالاتر نمی‌بینم. هنوز خیلی خیلی باید چیز یاد بگیرم.
بنده بین کسی که در راه انجام کاری مشکل پیدا کرده و کسی که قصد دارد با استفاده از دانش دیگران بالا رود فرق می گذارم. به شخص اول تا جایی که بتوانم کمک می‌کنم ولی برای نفر دوم سعی می‌کنم جواب آخر رو ندم. چون اگر بدم (که متاسفانه برخی دوستان چنین کاری را می‌کنند) این براش عادت می‌شه و از فردا باید رسما ماژول‌های سایت‌هاش رو براش بنویسیم.

ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــ
امیـرحسین (http://barnamenevis.org/forum/member.php?u=94384) عزیز. از نظرت ممنونم. می‌دونم که از سر دل‌سوزی است.
ولی خودت وضع این تاپیک رو می‌دونی. می‌دونی که برخی از کاربران، (جدا از بحث فعلی) طلب‌کار هستند و فکر می‌کنند واقعا چند نفر از سر بی‌کاری نشسته‌اند تا برای‌شان کدنویسی کنند.

الآن نگاه کن.
این کاربر محترم، ظاهرا از یک cms داره استفاده می‌کنه که اولا نمی‌تونه روش کارش رو تحلیل کنه. نمی‌تونه چیزی رو که می‌خواد درست بیان کنه. آخرش هم به جوابی می‌رسه که اگر بهش دقت کنی، یک ناسزای محترمانه است. یعنی کل دانش و شعور برنامه‌نویسی اعضای این سایت رو زیر سوال برده.
ایشان دنبال روش انجام کار در آن cms خاص بود. نه دنبال یادگیری یا رفع اشکال php.

yasinpc
جمعه 12 تیر 1388, 14:07 عصر
بنده بین کسی که در راه انجام کاری مشکل پیدا کرده و کسی که قصد دارد با استفاده از دانش دیگران بالا رود فرق می گذارم. به شخص اول تا جایی که بتوانم کمک می‌کنم ولی برای نفر دوم سعی می‌کنم جواب آخر رو ندم. چون اگر بدم (که متاسفانه برخی دوستان چنین کاری را می‌کنند) این براش عادت می‌شه و از فردا باید رسما ماژول‌های سایت‌هاش رو براش بنویسیم.
اولا اگر قصد من آماده خوری بود با دوستانم تماس می گرفتم و مشکلم رو می گفتم و بلا فاصله جوابم رو می دادند . بهرام سیادتی و محسن داوری چند نفری که در این انجمن هم هستن فکر میکنم.لازم به عضویتو تاپیک زدنو این چیزا نبود در ضمن من دارم php رو یاد می گیرم نه اینکه بخوام CMS رو دست کاری کنم یا بخوام شما برای من کاری انجام بدید .

یعنی کل دانش و شعور برنامه‌نویسی اعضای این سایت رو زیر سوال برده.
به نظر شما این درسته که شما شعور اشخصاص رو ندیده و نشناخته زیر سوال ببرید؟ شما گفتید چون منو نمی شناسی اجازه نداری در مورد شخصیت من اظهار نظر کنید حالا چطور شده شما دقیقا بدون شناخت بریدو دوختید؟در ضمن من تازه 2 ماه هست کهphp رو شروع کردم و به خاطر علاقه هستش وگرنه اگر قصد سو استفاده بود خیلی راه های ساده تر بود که به جواب برسم

mohsenw700
جمعه 12 تیر 1388, 23:40 عصر
آقا این قضیه رو تمامش کنید والا خوب نیست ، زشته

ما از اصل موضوع فاصله گرفتیم!

حالا آقا yasin (http://barnamenevis.org/forum/member.php?u=108690) مشکل برطرف شد؟

کمکی هست که بتوانیم انجام بدیم یا نه؟