Şimdi Ara

Klasör Şeklinde Link // En Açıklamalısından

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
1
Cevap
1
Favori
1.168
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar Çok Uzun Uğraşlar Sonucu Nasıl Oldugunu Çözebildim...
    Durum Karışık Oldugundan Kolay Olmadı Kavramam
    Bir Çok Yerde Açıklama Yapılmış Bu Konu Hakkında Ama Her Biri Eksik Anlatımlı
    Kimse Tam Olarak Neyin Ne İşe Yaradığını Neden Kullanıldığını Yazmamış...

    Bu Durumu Ben Çok Yaşadığım İçin Araştırmalarımda Sizlerinde Aynı Duruma Düşmemesi İçin
    En Açıklamalısından Ekliyorum Buraya....

    İlk Önce Kendi Bilgisayarınızdan Nasıl Çalıştırıcaz 404.asp Sayfasını Onu Göstereyim

    1-Denetim Masası/Yönetimsel Araçlar/IIS Servisi ni Açın
    2-Web Site Kısmından Default Web (Varsayılan Web) Seçeneği Üzerinde Sağ Tıklayıp Özelliklerini Açıyoruz
    3-Özel Özel Hatalar Kısmına Gelip 404 Hatasını Buluyoruz
    4-Bulduktan Sonra Çıft Tıklayarak Açıyoruz ve İçerğini Aynen Şu Şekilde Değiştiriyoruz :
    4-1 = İleti Türü : URL
    4-2 = URL : /404.asp
    5-Tamam Deyip IIS Servisini Kapatıyoruz..

    404 Sisteminin Çalışması İçin Gerekeni Yaptık
    Resimdende İnceleyebilirsiniz....



    -------------------

    Şimdi Gelelim Sistemi Çalıştırmaya

    Asp Dosyalarını Çalıştırmamız İçin Bizim Bir Dizinimiz Var (c:\inetpub\wwwroot\),Default Olarak Bu Ayarlanır,Siz Sonradan Değiştirmişseniz O Dizin İçerisinde İşlem Yapıcaksınız.. Örneğin Ben (d:\webler\) Dizini Altında Çalıştırırım Bütün Asp Dosyalarımı....
    Bizim Bütün Asp Dosyalarımız Bu Dizin Altında...
    Yine Bu Dizin Altına 404.asp Diye Bir Asp Dosyası Açıyoruz...
    İçi Şimdilik Boş Kalsın

    Örneğimize Gelelim

    Diyelimki Veri Tabanımız Var
    Veri Tabanımızdada Haber Tablomuz Var,Biz Bu Haber Tablosundaki Kayıtları Alıcaz,Haberin ID Numarasına Göre Klasor Şeklinde Göstericez....

    Bu İşlem İçin Linkimiz : <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=haberbaslik/<%=db("haberimizinIDnosu")%>" data-href="haberbaslik/<%=db("haberimizinIDnosu")%>">Tıkla</a>

    İlk Önce haberler.asp Sayfamızı Oluşturalım Hemencecik

    <!--#include file="db.asp"--> ' DB Bağlantı Kodlarımızın Bulundugu Asp Dosyasını İnclude Ettik
    <%

    set haber=db.execute("select * from haberler")
    while not haber.eof
    %>
    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=haber/<%=haber("haberid")%>" data-href="haber/<%=haber("haberid")%>"><%=haber("haberbaslik")%></a> ' Bu Koda Göre Linkimiz : haber/4 Şeklinde Olacaktır
    <%haber.movenext : wend%>


    Haberlerimizi Sıralattık ve Linkimizide İstediğimiz Ölçüde Verdik
    Şimdi Geldi Esas İşe...

    Daha Önce Oluşturdugumuz 404.asp Sayfamızı Editleyecek Şekilde Açıyoruz..
    Ve İçerisine Kodlamamızı Yazmaya Başlıyoruz....

    GelenLink=Request.ServerVariables("QUERY_STRING") ' Adres Çubungunda Dönen Linki Aldık ve GelenLink Değerine Atadık

    parcala=Split(GelenLink,"/") ' GelenLink Değerindeki Her / İşaretinden Sonraki Değeri Aldık


    Şimdi GelenLinkin Parçalanmış Halini Açıklayayım bu default olarak atanır,sizin yazmanıza gerek yok,sadece degerlerin hangi kısımlara denk geldiğini görmeniz amacıyla yazdım...
    parcala(0)="http:"
    parcala(1)=""
    parcala(2)="localhost" ' standart linkimiz bizim buraya kadar,ıslemımız bundan sonrakılerde olacak herzaman
    parcala(3)=Bizim Gönderdiğimiz haber değeri
    parcala(4)=Yine Bizim Gönderdiğimiz id değeri


    Parçalama İşlemi Bu Şekildedir...Vermiş Olduğumu her "/" işaretinden sonraki değerleri alır...

    Parçalanma Şeklinide Gördükten Sonra koşulumuzu Kullanıp Sayfamızı Açtıralım

    if parcala(3)="haber" then

    set haber=db.execute("select * from haber where haberid="&parcala(4)&"")
    response.write haber("habericerik")

    elseif parcala(3)<>"haber" then
    Böyle Bir Sayfa Bulunmamakta
    end if


    Örneğin Açıklaması ve Alternatifler :

    En Başta Linkimizi haberler.asp sayfasında haber/<%=haber("haberimizinIDnosu")%> olarak verdik...
    Farzedelimli Bizim Linkimizin Açılımı haber/5 ...
    Sonra 404.asp sayfasına geldik ve GelenLink değerine Adres Cubundaki Linki Komple Aldık...
    Sonra parcala değerine atayacak şekilde GelenLink Değerindeki "/" işaretine göre parçalama yaptık
    Akabinde Parçalamanın default olarak açılımını yazdık..
    Açılımda Linkin En Sonundaki "/" işaretinden sonraki değerin parcala(3) değişkenine denk geldıgını gorduk,yanı parcala(3) bizim klasor olusturacagımız bolum olmakta...
    aynı sekılde parcala(4) unde Id degerımız oldugunu goruyoruz...
    sonra if kosuluyla parcala(3) değişkeninin haber degerine esıt olup olmadıgını kontrol ettık ve esıt oldugu taktırde tabolumuzdan parcala(4) degerıne (ID NOmuza) denk gelen kayıdı sectırdık...
    eger parcala(3) e esıt olman bır sey yok ıse hata yazdırdık.....

    alternatif 1 ; diyelim ki veritabanından degilde normal el ile link yapıcaz (menumuzu farz edelım)
    bundada linklerimiz aynı sekılde olacak ama herhangı bır sey sectırmeyecegımız ıcın ıd v.b. sadece menumuzun adını yazıp sectırıcez..
    link <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=AnaSayfa" data-href="AnaSayfa">Ana Sayfa</a> - <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=Iletisim" data-href="Iletisim">İletişim</a> şeklinde yazarsak
    yine aynı sekılde parcala(3) degerıne denk gelecektır....
    menumuze denk gelen sayfamızı acıtırırkende yıne aynı sekılde ıf kullanıcaz



    parcala(0)="http:"
    parcala(1)=""
    parcala(2)="localhost" '
    parcala(3)=menumuzunetiketi(AnaSayfa & Iletisim & v.b.)

    if parcala(3)="AnaSayfa" then
    include file="anasayfa.asp"
    elseif parcala(3)="Iletisim" then
    include file="iletisim.asp"
    end if


    alternatif 2 ;
    diyelimki klasor içinde klasor gosterıcez (siteadi/anamenu/menusayfamız)
    bu ıslem ıcın sadece 2 ıslem yapıcaz
    1.lınkı buna gore verıcez <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=25417468&url=siteadi/anamenu/menusayfamız" data-href="siteadi/anamenu/menusayfamız">İletişim</a>
    2.parcala(3) degerimizi default sıralamasına gore sayısını degıstırmek..Neden Değitirmemiz gerekiyo sayıyı hemen onuda anlatayım...

    Şimdi bizim linki parcaladıgımız zaman acılımı

    parcala(0)="http:"
    parcala(1)=""
    parcala(2)="localhost" '
    parcala(3)=menumuzunetiketi(AnaSayfa & Iletisim & v.b.)


    bu sekılde idi ya

    klasor ıcınde klasor verdıgımız ıcın bızım parcalamamızın yenısı
    parcala(0)="http:"
    parcala(1)=""
    parcala(2)="localhost" '
    parcala(3)=siteadi
    parcala(4)=anamenu
    parcala(5)=menusayfamız(AnaSayfa & Iletisim & v.b.)


    bu sekılde olacak

    parcalama bu sekılde olacagından bız halıyle parcala(5) degerıne gore ıslem yaptırıcaz...
    ne kadar fazla klasor ataması yaparsak bızım ıslem yapacagımız degerın sayısı o kadar artar...

    Resimden İneceleyebilirsiniz




    işte hepsı bu kadar
    umarım yeterınce acıklayıcı olmustur
    herhanbı bır sorunuz olursa yazabılırsınız...

    Yapmak İstediğimiz Klasor Şeklinde Link İşlemlerinin Hepsini 404.asp Sayfasında Yapıyoruz..Başka Sayfalarda Denemeyin

    Kolay Gelsin



    < Bu mesaj bu kişi tarafından değiştirildi tlp41 -- 7 Ağustos 2008; 5:09:51 >







  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.