folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Asp Dersi - Üyelik Sistemi Yapmak



Asp Dersi - Üyelik Sistemi Yapmak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    angels_demos
    angels_demos's avatar
    Kayıt Tarihi: 03/Haziran/2006
    Erkek

    bi arkadaş vardı üyelik sistemiyle ilgili bişiler soruyodu :) bende böle bi ders yazim dedim .Başkaları da istiyodu.Neyse derse geçim.Şimdiden sölim sadece login olayını yazıyorum üye ol şifremi unuttum üyeler sil cart curt yok daha sonra ekleyebilirim.

    Üyelik sisteminde en önemli şey session yani oturum nesnesi bu nesne sayesinde oturum açıldığındaki bilgileri saklayabiliyouz ta ki biz oturumu yada pencereyi kapatana kadar.Session nesnesinde kullanıcının her bilgisini saklayabiliriz.Neyse biz bi default.asp ye form yazalım önce:
    default.asp'nin 1. hali =P (sonra biraz değişiklik yapıcaz)

    <form action="login.asp" method="post">
    Üye Adı : <input type="text" name="kullanici"><br>
    Şifre : <input type="text" name="sifre"><br>
    <input type="submit" value="Giriş Yap!">
    </form>

    burda bi form oluşturdum action="login.asp" de login.asp ye yöneniceğini yazdım method ta post oldu.Şimdi bi veritabanı hazırlayalım.Adı uyelik.mdb olsun
    uyelik.mdb
    Tablolar : uyeler
    Uyeler : id,kullanici,sifre

    bu şekilde bi veri tabanı hazırlayalım.İçine de bi kaç kullanıcı ekleyin şifreyle örn. üye adı : admin şifre : admin olsun
    veri tabanıda bitince login.asp dosyasını yazabiliriz

    Login.asp

    'burda default.asp'den gelen bilgileri çekelim
    kullanici = Request.Form("kullanici")
    sifre = Request.Form("sifre")

    'gelen bilgiler boş ise Boş bırakma!!! yazsın
    if kullanici="" or sifre="" then
    response.write "boş bırakma"
    response.end 'aşağıdakileri karşıtırmaya gerek yok burda sayfa dursun
    end if

    'veri tabanı bağlantısı :)
    Set Bag = Server.CreateObject("ADODB.Connection")
    bag.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("uyelik.mdb")

    'tablo bağlantısı

    Set baglanti = Server.CreateObject("ADODB.Recordset")
    tablo = "Select * From uyeler Where kullanici=  '"&kullanici&"' and sifre = '"&sifre&"'"
    baglanti.open tablo,bag,1,3
    Set Kontrol = Bag.ExeCute(tablo)
    'tablo bağlantısının 2. satırında kullanici=  '"&kullanici&"' and sifre = '"&sifre&"'" burada veri tabanındaki kullanıcıyı
    'default.asp'den gelen kullanıcıya eşitledik.
    'buradaki kullanici veritabanındaki '"&kullanici&"' default.asp'den gelen kullanıcı

    'kullanıcı adı yada şifre yanlış ise!
    if kontrol.eof then
    Response.Write "Hatalı Kullanıcı Adı yada Şifre"
    else 'yanlış değilse session belirleyelim
    Session("girdimi") = "eet"  'girdimi = eet dersek bi sayfada aşağıdaki bilgileri o sayfaya taşıyacak örn. kullanıcı adı
    Session("id") = Kontrol("id")
    Session("kullanici") = Kontrol("kullanici")
    Response.Redirect "default.asp"   'kayıttan sonra ana sayfaya yönlensin
    end if

    'bağlantıları kapatalım
    uye.close
    Set uye= Nothing
    bag.Close
    set bag = nothing

    sayfa bitti.Şimdi sessionlar da belirlendi ana sayfaya yani default.asp dosyasına bi kaç kod daha ekleyelim.Safamız şöle idi
    <form action="login.asp" method="post">
    Üye Adı : <input type="text" name="kullanici"><br>
    Şifre : <input type="text" name="sifre"><br>
    <input type="submit" value="Giriş Yap!">
    </form>


    Default.asp yeniden =)

    <%
    'session oluşturmuştuk girdimi = eet değilse(Not var!) bu sayfa çıksın
    if Not Session("girdimi") = "eet" then
    %>
    <form action="login.asp" method="post">
    Üye Adı : <input type="text" name="kullanici"><br>
    Şifre : <input type="text" name="sifre"><br>
    <input type="submit" value="Giriş Yap!">
    </form>
    <%else
    'eğer giriş yapıldıysa bu çıksın
    %>
     Hoşgeldin , <%=Session("kullanici")%><br> <!--Sessionımızı kullandık kullanici die belirlemiştik-->
     <a href="exit.asp">Çıkış</a>
     <%end if%>


    şimdi bide exit.asp yapmak gerekio oda aşağıdaki gibi olur

    Exit.asp

    <%
    Session.Abandon 'bu sessionları kapatma komutu
    Response.Redirect "default.asp" 'oturum bitince ana sayfaya gitsin
    %>

    session.abandon çıkış yapmak için kullanılan komut bazıları
    Session("girdimi") = "" bu şekilde girdimi'yi boşa eşitlio bu şekilde de çıkar fakat bu sebepsiz yere serverı yorar

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cold-m4
    cold-m4's avatar
    Kayıt Tarihi: 12/Temmuz/2007
    Erkek
    hocam eline klavyene sağlık :) asp ye başlamayı düşünüodum ben de, biraz ilerliyim çok işime yarıyacak bu döküman, bi de üye olmadan sayfa görünmesin şeysi yapmayı anlatsan süper olurdu :)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    alp
    alp's avatar
    Kayıt Tarihi: 28/Ekim/2003
    Erkek

    Aldığımız kullanici ve sifre değişkenlerini direk sql'e sokmasak daha iyi olur..

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    angels_demos
    angels_demos's avatar
    Kayıt Tarihi: 03/Haziran/2006
    Erkek

    üyelerin giremiceği sayfaları da şöle yapabiliriz


    sayfa.asp olsun

    <%
    if Session("girdimi") = "eet" then 'session kullandıq
    %>
    SAYFA!!
    <%else
    Response.Write "Bu sayfa üyelere açıktır" ' değilse napıcaz!
    end if

    %>

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ★★★★★
    Genki
    Genki's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek
    nerde replace :D
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    angels_demos
    angels_demos's avatar
    Kayıt Tarihi: 03/Haziran/2006
    Erkek
    replace gereq yoq!
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    alp
    alp's avatar
    Kayıt Tarihi: 28/Ekim/2003
    Erkek

    nasıl replace'e gerek yok hoca??Şu an yazdığın kodlar başlı başlına güvenlik açığı..kullanıcı adı ve şifre değişkenlerini alıp replace etmeden hurraa sql'e sokup sorgularsan olmaz.

    Sql injection açığı var..

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    angels_demos
    angels_demos's avatar
    Kayıt Tarihi: 03/Haziran/2006
    Erkek

    ya abi haqlısın bişi demedim burda mantığını kavratmak için yazdım ben bunu yoqsa replance falan da eklerim flood ip adreslerinin kaydedilmesi falan yapardım :)

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WALLACEs
    WALLACEs's avatar
    Kayıt Tarihi: 17/Eylül/2005
    Erkek
    kodlar amatörce yazılmış ama dediği gibi diğer bilmeyen arkadaşların tekniği kapması için yararlı

    TBT'ye Mescit istiyoruz.
Toplam Hit: 4134 Toplam Mesaj: 9