Yönlendirilecek önceki sayfa site dışında sorunu.
Kullanıcı login olduğunda
<script>
window.history.back();
</script>
ajax success olduğunda bu şekilde yönlendiriyorum, ama login sayfasına site dışından gelindiğinde
önceki sayfa haliyle site dışı oluyor.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (5)
<?php
if(isset($_SERVER["HTTP_REFERER"])){
$backpace = $_SERVER["HTTP_REFERER"];
}else{
$backpace = "";
}
Forma gizli input ekledim
<input type="hidden" value="$backpace" name="backpage">
php sorguda ise login başarılı ise
$login_success = false;
if(!empty($_POST["backpace"])){
$login_success = 1; //site içi
}else{
$login_success = 2; //site dışı
}
?>
ajax bölümünde :
<script>
--------------------------------
if(objectR.login){
if(objectR.login == 1){
window.history.back();
}else if(objectR.login == 2){
window.location = 'http://anasayfa/';
}
}
</script>
Sanırım Vanilla Js kullanıyorsun. Dinamik bir yapı oluşturduysan eğer ziyaret ettiği yerleri bir değişkende tutabilirsin.
Misal ürünler sayfasından Login'e tıkladıysa değişkene ürünler sayfasını koyup login olduğunda da o değişkeni yönlendirirsin.
Eğer değişken boş ise (ki bu da login sayfasına dışarıdan bir giriş olduğunu gösterir) ana sayfaya yönlendirirsin.
kontrol edip ona göre yönlendirebilirsin, örneğin
if (window.history.back()){
window.history.back();
} else {
window.location.href = '/sonradan-gelenler-icin-bir-yere-yonlendir';
}
Şunu deneyebilirsin:
<?php
header("Location: index.php");
?>