v2.5.2
Giriş yap

Php İle Yorum Sistemi Yaparken Sorun

ozgurege0
558 defa görüntülendi ve 4 kişi tarafından değerlendirildi

Merhabalar ücretsiz dağıtmak ve kendimi geliştirmek amaçlı yazdığım bir blog scriptinde yorum sistemini yaparken abuk subuk bir yerde takıldım.

Buradan if else yapısında islem basarili basarisiz sorguları döndürüyorum, ANCAK blog başlıklarım seo uyumlu olduğu için şu şekilde gözüküyor;

http://localhost/blog/grafik-tasarima-nasil-baslanir/3

Anlayacağınız üzere her blog'da farklı bir url oluşuyor.
Kısaca if else yapısında Location'lara ne geleceğini bulamadım.

(Nasıl anlatacağımı tam olarak bulamadım. En iyisi siz sorumdaki eksikleri söyleyin ben cevaplıyayım ve sorunu bulalım :) .)

Cevap yaz
Cevaplar (4)
tayfunerbilen
1059 gün önce

normal şartlarda bir önceki referer sayfasını bulmak için $_SERVER['HTTP_REFERER'] işini görmesi gerekir eğer post ettiğin 2. bir yer yoksa ki yok gibi görünüyor.

en kötü ihtimalle yorum formunun içine bir input daha koy tipi hidden olsun ve o anki konunun url'ini yazdır.

<input type="hidden" name="redirect_url" value="buraya urlin gelsin">

ve header() tarafında yönlendirme işlemin şöyle olacak

header('Location:' . $_POST['redirect_url']);

eğer redirect_url kısmına nasıl url'i yazdıracağını bilmiyorsan (ki bilmen lazım mantık olarak zaten konu sayfasındasın url'de id'de elinde yazdırabilirsin) ama diyelim ki hiçbir şey bilmiyorsun o zaman doğrudan sayfa url'ini alıp yazdırabilirsin. Yani;

<input type="hidden" name="redirect_url" value="<?='http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']?>">
akincankoc
1059 gün önce

    $site_url = "http://localhost";
    
    if(koşul){
        header('Location:'.$site_url.'/'.?islem=basarili');
    }

bu şekilde deneyebilirsin mantıgı şudur tam url'e geri göndermek

ozgurege0
1059 gün önce

Maalesef olmadı hocam.

sercanarga
1060 gün önce

Kullanıcıyı geldiği yere yollamayı deneyebilirsin.

header('Location:'.$_SERVER['HTTP_REFERER'].'?islem=basarili');