ورود

View Full Version : یک صفحه با چند ظاهر متفاوت !



elham1611
جمعه 11 اسفند 1391, 11:24 صبح
بعضی سایتها وقتی صفحه اولش رو میبینی (مثل فیس بوک ) ظاهرش با وقتی که عضوش بشی فرق میکنه
هر دو یک url دارن اما بستگی به شرایط کل محتویات صفحه تغییر میکنه.

این چه جوری یعنی همیش با دستور if این تغییرات رو مشخص میکنند؟ اگه اینجوری باشه که سرعت بارگذاری خیلی میاد پایین

مثال : facebook.com
وقتی عضوش نیستیم صفحه ثبت نام میاد ولی وقتی واردش شده باشیم همین url بدون هیچ تغییری میشه صفحه خانگی کاربر !:متفکر:

maktoom
جمعه 11 اسفند 1391, 12:14 عصر
سلام
دوست گرامی گاهی مباحث به سادگی ای که به نظر میاد نیست. در واقع در حالت طراحی عادی صفحات سایت شما با داشتن یک آدرس توقع دیدن یک صفحه خاص رو دارید. اما در واقع در پشت بنامه های تحت سرور، بر روی سایتها کنترل های ویژگی ای با استفاده از سشن ها و کوکی ها ارتباط بین صفحات برقرار میشه. رویش میتونه به این شکل تنظیم بشه: اگر تقاضایی از جانب یک بازدید کننده که سشن اون دارای اعتباره اومد صفحه کاربر وارد شده رو نمایش بده و نام کاربریش رو از دیتا بیس بیرون بکش و نشونش بده. اگر کاربری اومد که سشن اون منقضی شده بود و بعنوان کاربر ناشناس باشه صفحه مربوط به کاربران میهمان رو بهش نمایش بده.
توضیح بهتر اینکه، همونطور که می دونید صفحات هر سایت یکسری فایل هستن. یعنی وقتی قراره یک صفحه لود بشه فایل اون فراخونی میشه. خب این وسط کنترل هایی وجود دارن که میتونن تعیین کنن بنابر موقعیت کاربر مهمان یا کاربر وارد شده، کدوم یک از صفحات(که فایلهای جداگانه ای هم میتونن داشته باشن) صدا زده بشن و به کاربر نشون داده بشن.
یعنی در این بین چیزی مثل لوله کشی(!) صورت گرفته که میتونه با xml پیاده سازی بشه. این فایلهای صفحات بهمراه نمایششون و همچنین فراخوانیهایی که درونشون هست چنان تار و پودشون با همدیگه در هم آمیخته که برنامه نویسان وب باید دوره های طولانی ای در قسمتهای مختلف برنامه نویسی تحت سرور بگذرونن و تجربه کسب کنن، تا این رویه رو بدرستی درک کنن و بتونن در این کار دستی پیدا بکنن.

سعید کشاورز
جمعه 11 اسفند 1391, 13:11 عصر
فیس بوک که خیلی خفنه
ولی در کل فکر کنم به سطح دسترسی بستگی داشته باشه

omidabedi
جمعه 11 اسفند 1391, 14:30 عصر
از چند راه میشه این کارو کرد.
یه کارشم از طریق switch-case هست که مثلا تو یک صفحه میگه اگر کاربر وارد شده باشه اینجوری نشو ن بده اگر نشده باشه صفحه ی لاگین رو نشون بده.