کد ریدایرکت در php
کد ریدایرکت در php برای انتقال کاربر به صفحات دیگر استفاده می شود و از کدهای پرکاربرد در زبان برنامه نویسی php است. در این ویدیوی آموزشی قصد داریم در مورد نحوه کار کد ریدایرکت در php صحبت کنیم.
کد Redirect در php
Redirect در php تابعی است که کاربر را از یک صفحه به صفحه ای دیگر انتقال می دهد. مثلا برای انتقال کاربر از صفحه اصلی به صفحه ثبت نام شما نیاز دارید که تابع ریدایرکت را استفاده کنید. برای درک کامل نحوه کار با این تابع قصد داریم یک مثال از نحوه کار آن را بررسی کنیم. نحوه استفاده از تابع Redirect در php به صورت زیر است:
این دستور یک کد کامل برای عمل ریدایرکت در php است که در شرایط مختلف کاربرد دارد. در ادامه به بررسی این کد می پزدازیم.
انتقال به صفحه دیگر در php
انتقال به صفحه دیگر در php به این صورت است که ابتدا باید بررسی کنیم هدرهای صفحه ارسال شده است یا خیر؟ اگر هدرها ارسال نشده باشد، کاربر را به صفحه جدید منتقل می کنیم. بررسی این شرط برای انتقال به صفحه دیگر در php با دستور زیر انجام شده است:
اما در صورتی که هدر ارسال شده باشد، قسمت دوم شرط اجرا می شود. اما اگر دقت کنید این دستور در جاوااسکریپت نوشته شده است. علت این امر رفع مشکلی تحت عنوان مشکل دستور header موقع ریدایرکت در php است.
مشکل دستور header در php
مشکل دستور header در php زمانی رخ می دهد که هدر قبلا ارسال شده باشد و در صورت استفاده از دستور header هشدار “header already sent” را دریافت کنیم. می توان گفت تمامی برنامه نویسان حداقل یکبار با این پیغام روبرو شده اند. یک راه برای حل این مشکل استفاده از دستورات جاوااسکریپت است.
انتقال به صفحه دیگر در جاوا اسکریپت
انتقال به صفحه دیگر در جاوا اسکریپت زمانی کاربرد دارد که هدر ارسال شده باشد و بخواهیم از بروز خطای هدر جلوگیری کنیم. در این روش برای ریدایرکت بجای دستورات php، دستورات جاوااسکریپت را جایگزین می کنیم و کاربر را با کد indow.location.href انتقال می دهیم.
حال در نظر بگیرید که جاوااسکریپت در مرورگر کاربر غیرفعال باشد، به همین خاطر انتقال به صفحه دیگر در جاوا اسکریپت امکانپذیر نخواهد بود. در چنین مواقعی از کدهای HTML برای ریدایرکت در php استفاده می کنیم.
انتقال به صفحه دیگر با HTML
چنانچه جاوااسکریپت غیرفعال باشد می توان با یک تگ noscript و تگ متا کاربر را به صفحه جدید انتقال داد. دستور زیر در کد بالا این کار را انجام می دهد.
اگر کد ریدایرکت در php را به دقت بررسی کنید، متوجه می شوید که پس از پایان دستورات انتقال از exit استفاده شده است. این کد اجرای اسکریپت را متوقف می کند و اگر آن را ننویسید همزمان با اننقال کاربر به صفحه جدید، ادامه اسکریپت اجرا می شود و کاربر به صفحه دیگر ریدایرکت می شود.
کد انتقال به صفحه جدید
کد انتقال به صفحه جدید زمانی کاربرد دارد که می خواهید کاربر به یک صفحه جدید انتقال داده شود. مثلا قصد دارید کاربر را به صفحه websoft3.com منتقل کنید. برای این کار کافی است کد انتقال به صفحه جدید را به صورت زیر استفاده کنید:
در این بخش به بررسی نحوه عملکرد کد ریدایرکت در php پرداختیم و راهکارهایی برای حل مشکل هدر در این تابع نیز ارائه کردیم. امیدواریم با استفاده از این آموزش بتوانید به راحتی توابع ریدایرکت وبسایت خود را کدنویسی کنید.
نظرات :
1 دیدگاه دربارهٔ «کد ریدایرکت در php»
سلام و درود
من میخوام در وردپرس در صفحه محصول شرطی بزارم که اگر فلان فیلد سفارشی، مقدارش برابر صفر بود ریدایرکت بشه به category همون محصول.
نمیدونم کدش چی میشه، میشه راهنماییم کنین.