هدایت (redirect ) به صفحات دیگر در PHP

در یک وب سایت بسیار پیش می آید که بخواهیم کاربر از صفحه ای به صفحه دیگر منتقل شود. در زبان PHP برای انجام این کار از header استفاده می شود.

header( "location: url " );

مثال:

header( "location: index.php " );

 

از header می توان برای رفرش یک صفحه و نمایش یک پیام برای کاربر نیز استفاده استفاده کرد. به طور مثال در صفحه ای که دارای یک فرم است با کلیک یک دکمه توسط کاربر صفحه رفرش شده و پیامی برای او نمایش داده می شود.

 

بهتر است برای redirect یک فانکشن نوشته شود و این فانکشن را می توان در قسمتهای مختلف برنامه فراخوانی کرد:

function redirect( $url ) {

2   header( "location: $url " );

3   }

 

توجه داشته باشید که برای انتقال به سایت های دیگر ، در ابتدای آدرس سایت مورد نظر //:http نوشته شود.

نکته مهم:

اگر پیش از اجرای header  پیامی را توسط echo و یا print به خروجی فرستاده باشید دستور header  اجرا نخواهد شد ، همچنین زمانیکه از آن در بین کدهای html استفاده شود نیز با همین مشکل مواجه خواهید شد.

راه حل این مشکل:

- یک راه حل این است که صفحه ای دیگر فراخوانی شود و فانکشن در آن صفحه اجرا شود.که در این صورت کاربر دوباره به صفحه ای دیگر منتقل شده و یا دوباره به صفحه قبل برگشت داده می شود که این سرعت اجرای برنامه را پایین می آورد و توصیه نمی شود.

- راه دیگر استفاده از جاوا اسکریپت است. می توان در بین کدهای PHP به روش زیر از جاوا اسکریپت استفاده کرد و به جای فانکشنی که در بالا نوشتیم استفاده کرد.

function redirect( $url ) {

2   print  "<script> window.location.href = '$url' ; </script> " ;

3   }


تمام حقوق مادی و معنوی این ساین متعلق به mojtaba khodadadi میباشد
  
2016 - 2020