در یک وب سایت بسیار پیش می آید که بخواهیم کاربر از صفحه ای به صفحه دیگر منتقل شود. در زبان PHP برای انجام این کار از header استفاده می شود.
header( "location: url " );
مثال:
header( "location: index.php " );
از header می توان برای رفرش یک صفحه و نمایش یک پیام برای کاربر نیز استفاده استفاده کرد. به طور مثال در صفحه ای که دارای یک فرم است با کلیک یک دکمه توسط کاربر صفحه رفرش شده و پیامی برای او نمایش داده می شود.
بهتر است برای redirect یک فانکشن نوشته شود و این فانکشن را می توان در قسمتهای مختلف برنامه فراخوانی کرد:
1 function redirect( $url ) {
2 header( "location: $url " );
3 }
توجه داشته باشید که برای انتقال به سایت های دیگر ، در ابتدای آدرس سایت مورد نظر //:http نوشته شود.
نکته مهم:
اگر پیش از اجرای header پیامی را توسط echo و یا print به خروجی فرستاده باشید دستور header اجرا نخواهد شد ، همچنین زمانیکه از آن در بین کدهای html استفاده شود نیز با همین مشکل مواجه خواهید شد.
راه حل این مشکل:
- یک راه حل این است که صفحه ای دیگر فراخوانی شود و فانکشن در آن صفحه اجرا شود.که در این صورت کاربر دوباره به صفحه ای دیگر منتقل شده و یا دوباره به صفحه قبل برگشت داده می شود که این سرعت اجرای برنامه را پایین می آورد و توصیه نمی شود.
- راه دیگر استفاده از جاوا اسکریپت است. می توان در بین کدهای PHP به روش زیر از جاوا اسکریپت استفاده کرد و به جای فانکشنی که در بالا نوشتیم استفاده کرد.
1 function redirect( $url ) {
2 print "<script> window.location.href = '$url' ; </script> " ;
3 }