• 03-06-2020, 05:51:56
    #1
    Htaccess dosyamda bulunan satırlar şu şekilde

    ErrorDocument 404 /404.php
    RewriteRule ^([a-zA-Z0-9_-]+)$ uyedetay.php?nick=$1
    RewriteRule ^([a-zA-Z0-9_-]+)/$ uyedetay.php?nick=$1

    http://siteadi.com/bozuklink

    bozuklink nickli bir üye yoksa 404 yönlenmesini istiyorum nasıl yaparım ?
  • 03-06-2020, 06:14:15
    #2
    Üyeliği durduruldu
    Şöyle yapsanız hocam;
    uyedetay.php dosyasında gelen nicke göre sorgu yaptırıyorsunuz ya hocam orda üye yoksa header komutu ile 404.php sayfasına yönlendirseniz.
  • 03-06-2020, 06:39:56
    #3
    mustafaaslan adlı üyeden alıntı: mesajı görüntüle
    Şöyle yapsanız hocam;
    uyedetay.php dosyasında gelen nicke göre sorgu yaptırıyorsunuz ya hocam orda üye yoksa header komutu ile 404.php sayfasına yönlendirseniz.
    Hocam şöyle bir kod yazdım ama çalışmadı inceleyebilir misiniz

    define('PATH',$_SERVER['DOCUMENT_ROOT'].'/');
    
    include_once (PATH.'/inc/headergiris.php');
    $nick = $_GET["nick"];
    
    if(empty($nick)){
    header('Location: http://localhost/uyeadibos');
    }
    
    $query=$db->prepare("SELECT * FROM uye WHERE kadi = ?");
    $query->execute(array($nick));
    $say=$query->rowCount();
    
    if($say < 1){
    header('Location: http://localhost/kullanicidbdeyok');
    }else{
    //Fonkiyon kodlarım
    }




    Tekrardan inceledim hocam saçma bir şekilde header kodlarım çalışmıyorlar
  • 03-06-2020, 07:40:11
    #4
    PHP de header fonksiyonunun çalışması için o komuttan önce bir çıktı yapmamış olman gerekir. Yani /inc/headergiris.php eğer bir çıktı üretiyorsa header çalışmaz.
    Bide böyle dene
    define('PATH',$_SERVER['DOCUMENT_ROOT'].'/');
     
    $nick = $_GET["nick"];
     
    if(empty($nick)){
    header('Location: http://localhost/uyeadibos');
    }
     
    $query=$db->prepare("SELECT * FROM uye WHERE kadi = ?");
    $query->execute(array($nick));
    $say=$query->rowCount();
     
    if($say < 1){
    header('Location: http://localhost/kullanicidbdeyok');
    }else{
    //Fonkiyon kodlarım
    }
    
    include_once (PATH.'/inc/headergiris.php');
  • 03-06-2020, 08:54:49
    #5
    Üyeliği durduruldu
    ONURERDGN adlı üyeden alıntı: mesajı görüntüle
    Hocam şöyle bir kod yazdım ama çalışmadı inceleyebilir misiniz

    define('PATH',$_SERVER['DOCUMENT_ROOT'].'/');
    
    include_once (PATH.'/inc/headergiris.php');
    $nick = $_GET["nick"];
    
    if(empty($nick)){
    header('Location: http://localhost/uyeadibos');
    }
    
    $query=$db->prepare("SELECT * FROM uye WHERE kadi = ?");
    $query->execute(array($nick));
    $say=$query->rowCount();
    
    if($say < 1){
    header('Location: http://localhost/kullanicidbdeyok');
    }else{
    //Fonkiyon kodlarım
    }





    Tekrardan inceledim hocam saçma bir şekilde header kodlarım çalışmıyorlar
    Yukarıdaki arkadaş cevabı vermiş muhtemelen çalışması lazım ama çalışmaz ise özelden yazın yardımcı olurum size.
  • 03-06-2020, 09:51:34
    #6
    Header çalışmıyorise meta reflesh kullanin
    • ONURERDGN
    ONURERDGN bunu beğendi.
    1 kişi bunu beğendi.
  • 03-06-2020, 09:52:22
    #7
    ONURERDGN adlı üyeden alıntı: mesajı görüntüle
    Htaccess dosyamda bulunan satırlar şu şekilde

    ErrorDocument 404 /404.php
    RewriteRule ^([a-zA-Z0-9_-]+)$ uyedetay.php?nick=$1
    RewriteRule ^([a-zA-Z0-9_-]+)/$ uyedetay.php?nick=$1

    http://siteadi.com/bozuklink

    bozuklink nickli bir üye yoksa 404 yönlenmesini istiyorum nasıl yaparım ?
    Bak sana mantığını anlatayım sen gerekli yerleri düzeltirsin.
    Öncelikle htaccess kodun aşağıdaki gibi olsun. Senin yaptığın gibi olursa siteadresi.com/iletisim, siteadresi.com/hakkimizda sayfalarıda uyedetay.php sayfasına atmış olursun.

    RewriteEngine on
    RewriteRule ^profil/([a-zA-Z0-9_-]+)$ uyedetay.php?nick=$1 [L,NC,QSA]
    ErrorDocument 404 http://siteadi.com/404.php

    Burada ne yaptık böyle bir link olursa siteadi.com/profil/burayagelenneyse şu adrese yönlendir dedik siteadi.com/uyedetay.php?nick=burayagelenneyse

    Sen böyle bir profil olup olmadığını uyedetay.php sayfanda kontrol etmelisin. Var ise profilini göstermelisin yoksa 404 sayfana yönlendirmelisin.

    PHP kodlarında aşağıdaki gibi olabilir.
    ob_start();
    $nick=$_GET["nick"];
     
    $query=$db->prepare("SELECT * FROM uye WHERE kadi = ?");
    $query->execute(array($nick));
    $say=$query->rowCount(); 
    if($say > 1){
     echo "Kullanıcı bulundu. Profil detaylarını burada";
    }else{
    header("Location:http://siteadi.com/404.php");
    exit();
    }
    yukarıda belirttiğim htaccess kodundaki 404 sayfasının çalışması için. Orada belirttiğim url yapılarına karşılık gelmeyen bir url yapısı olduğunda çalışır. Mesela aşağıdaki gibi url olursa htaccess içindeki 404 sayfasına yönlenir.

    siteadi.com/deneme/burayagelenneyse

    Umarım ufakta olsa htaccess in çalışma mantığını anlatabilmişimdir. Selamlar
  • 03-06-2020, 21:13:25
    #8
    bycengiz adlı üyeden alıntı: mesajı görüntüle
    PHP de header fonksiyonunun çalışması için o komuttan önce bir çıktı yapmamış olman gerekir. Yani /inc/headergiris.php eğer bir çıktı üretiyorsa header çalışmaz.
    Bide böyle dene
    define('PATH',$_SERVER['DOCUMENT_ROOT'].'/');
    
    $nick = $_GET["nick"];
    
    if(empty($nick)){
    header('Location: http://localhost/uyeadibos');
    }
    
    $query=$db->prepare("SELECT * FROM uye WHERE kadi = ?");
    $query->execute(array($nick));
    $say=$query->rowCount();
    
    if($say < 1){
    header('Location: http://localhost/kullanicidbdeyok');
    }else{
    //Fonkiyon kodlarım
    }
    
    include_once (PATH.'/inc/headergiris.php');
    Hocamecho ile head etiketi ekleyip içersine html ile yönlendirme ekledim aynen dediğiniz gibi header içersinde yönlendirme olduğu için çalışmıyormuş işimi gördü yani bu yaptığım teşekkür ederim



    salimsevindik adlı üyeden alıntı: mesajı görüntüle
    Bak sana mantığını anlatayım sen gerekli yerleri düzeltirsin.
    Öncelikle htaccess kodun aşağıdaki gibi olsun. Senin yaptığın gibi olursa siteadresi.com/iletisim, siteadresi.com/hakkimizda sayfalarıda uyedetay.php sayfasına atmış olursun.

    RewriteEngine on
    RewriteRule ^profil/([a-zA-Z0-9_-]+)$ uyedetay.php?nick=$1 [L,NC,QSA]
    ErrorDocument 404 http://siteadi.com/404.php

    Burada ne yaptık böyle bir link olursa siteadi.com/profil/burayagelenneyse şu adrese yönlendir dedik siteadi.com/uyedetay.php?nick=burayagelenneyse

    Sen böyle bir profil olup olmadığını uyedetay.php sayfanda kontrol etmelisin. Var ise profilini göstermelisin yoksa 404 sayfana yönlendirmelisin.

    PHP kodlarında aşağıdaki gibi olabilir.
    ob_start();
    $nick=$_GET["nick"];
    
    $query=$db->prepare("SELECT * FROM uye WHERE kadi = ?");
    $query->execute(array($nick));
    $say=$query->rowCount();
    if($say > 1){
    echo "Kullanıcı bulundu. Profil detaylarını burada";
    }else{
    header("Location:http://siteadi.com/404.php");
    exit();
    }
    yukarıda belirttiğim htaccess kodundaki 404 sayfasının çalışması için. Orada belirttiğim url yapılarına karşılık gelmeyen bir url yapısı olduğunda çalışır. Mesela aşağıdaki gibi url olursa htaccess içindeki 404 sayfasına yönlenir.

    siteadi.com/deneme/burayagelenneyse

    Umarım ufakta olsa htaccess in çalışma mantığını anlatabilmişimdir. Selamlar
    Çok sağolun hocam ben kendi sorunumuhallettim ama umarım forumda diğer arkadaşlarada yardımcı olur.