Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

Login olduktan sonra geldiğimiz URL'ye dönmek [ÇÖZÜLDÜ]

Kurduğum bir yapıda girilen veriler mail yolu ile bazı diğer kulanıcılara bilgi olarak gidiyor. Mesela personel bir izin formu dolduruyor bunu sistem amirine mail atıyor ve o formu onaylamak için direkt olarak formun görüntülenebileceği tam url'yi maile ekliyor. Amir url ye tıkladığında login penceresine yönleniyor, ben henüz sağlıklı logincheck sistemine geldiğin url ye dön yapısı kurmadığım için standart ana sayfaya gidiyor. Bu konuda en pratik ne yapılabilir. Soru daha kısa da sorulabilirdi ama yapı hakkında kısa da olsa bir örnek vermek istedim. Teşekkürler.


ÇÖZÜM :

Tüm php dosyalarına sessionu kontrol etmek için include ettiğimiz (örneğin session.php) dosyaya $_SERVER['REQUEST_URI']; değeri ile bir session atıyorum. Bu sessionu login.php içinde oturum başarılı olduğu taktirde yönleneceği yere yazıyorum. Olay çözülüyor. Yine cevap veren arkadaşlara teşekkür ederim.

Bu fikri şu linkteki videodan aldım. Lazım olanlar için : https://www.youtube.com/watch?v=7CGU9Aat9Vs

3

Cevaplar (3)

İşlem devam ediyor, lütfen bekleyin..
Abdulbaki Zırıh
@abdulbaki
7 ay önce
$request = $_SERVER["HTTP_REFERER"]; // kullanıcının geldiği sayfa
header("Location: $request"); // geldiği sayfaya yönlendirmek.
Cevapla @pcmemo7 ay önce
Bu kod, herhangi bir sayfada iken logout yaptığımda çıkış yaptığım son url'yi aklında tutuyor. O zaman login yapınca aynı url'ye gidiyor. Ama zaten login olmayan biri yani sorumdaki gibi url yi mailden alan biri tıkladığında ve oturum açık olmadığı için login sayfasına yönlediğinde request değişkeni url'yi değişken olarak almıyor. Boş alıyor dolayısı ile url yerine index.php ye gidiyor. Bilmem anlatabildim mi?
Cevapla @abdulbaki7 ay önce
@pcmemo, Bunun kontrolünü sağlayabilirsin.
if(isset($_SERVER["HTTP_REFERER"])){
$request = $_SERVER["HTTP_REFERER"];
header("Location: $request");
}else{
$link = // yönlendirilecek sayfa.
header("Location: $link");
}
İşlem devam ediyor, lütfen bekleyin..
Emin Önder
@eminonder
7 ay önce
header("Location:mail.php");


İşlem devam ediyor, lütfen bekleyin..
Onurhan Aran
@onur34
7 ay önce [Güncellendi]
<?php // gelinen url yi parçalıyorum
$ref = explode('?',$_SERVER['HTTP_REFERRER']);
// Get parametlerelinden kurtardık
$redirect = $ref[0];
// Önceki sayfaya dönerken bir get değeri göndereceksen 1- sekil yok sadece gönderceksen 2-sekil
# 1
header('Location: ' . $redirect . '?success=true');
# 2
header('Location: ' . $redirect); ?>
Cevapla @pcmemo6 ay önce
@onur34, Onur selam. parametrelerden kurtulmak istemiyorum. Örneğin maildeki siteadi.com/gorevgoruntule.php?gorev_id=39 linkine tıklandığında login olduktan sonra bu linke yönlensin istiyorum. Ne kod kullanayım ki adres satırındaki tıklanarak geldiği adresi bir değişkende tutayım.
Cevapla @pcmemo6 ay önce
@onur34, Sorunu çözdüm. Teşekkürler cevap veren arkadaşlarıma. Bu cevaplar birebir benim sorunumu çözmedi. Araştırdım buldum. Genel mantık şu. Tüm php dosyalarına sessionu kontrol etmek için inclode ettiğimiz (örneğin session.php) dosyaya $_SERVER['REQUEST_URI']; değeri bile bir session atıyorum. Bu sessionu login.php içinde oturum başarılı olduğu taktirde yönleneceği yere yazıyorum. Olay çözülüyor. Yine cevap veren arkadaşlara teşekkür ederim.
Bu fikri şu linkteki videodan aldım. Lazım olanlar için : https://www.youtube.com/watch?v=7CGU9Aat9Vs
İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın