Sen üç genel yaklaşımlar var:
- Oturumda önceki sayfayı saklayın;
- GET değişkeni olarak sayfayı saklayın; veya
- Giriş sayfasına bir iç yönlendirme yapmak.
(1) gibi bir şey görünüyor:
<?php
session_start();
if (!$_SESSION['userid']) {
$_SESSION['page'] = '/contact';
header('Location: /login');
exit;
}
...
?>
Başarılı giriş $_SESSION['page']
almak ve yönlendirmek.
(2) herhangi bir oturum değişkeni orada dışında benzer. Bunun yerine var:
header('Location: /login?return=/contact');
yönlendirme geçmek. Giriş sayfası kullanıcı adı ve parola için bir istek ile kullanıcıya sunuyor sayfada gizli form alanı olarak dahil olacak.
(3) benzer fakat ayrı bir sayfaya yönlendirme değildir. Bunun yerine her sayfa potansiyel bir giriş sayfası olabilir. Kullanıcı giriş formuna kaydedilir değilse bunun yerine sunulmuştur. URL hala "/ iletişim" olacaktır. Her sayfa algılamak ve girişimlerini oturum idare edecek.
Bu yöntemin avantajı bir daha az dış yönlendirme olduğunu ve gönderilen formları işlemek daha kolaydır. Bu derken birisi senin sayfalardan birinde bir form doldurur ve sonra teslim tıklar hayal demek. Sistem kendi oturum açma süresi doldu görür. Eğer yeni bir sayfaya yönlendirir ve sonra geri yönlendirmek, onlar muhtemelen tüm form alanlarını yeniden girmeniz gerekir. Eğer giriş kolu ise dolaylı olarak gizli girişler gibi tüm form alanları içerebilir ve bir kez sorunsuz orijinal sayfanın sunulması gibi davranın kaydedilir.