• 29-01-2013, 09:42:28
    #1
    Arkadaşlar merhaba..
    Şöyle bir sorunum var. işyerinde localde çalışan bir sistem yapmaya calısıyorum.
    db.mdb içerisinde toplam 3 üye kayıtlı.
    üye giriş formuna kullanıcı adı ve şifre yazıp giriş butonuna basıldıgında giriş yapılıyor. yani tüm kullanıcı adlarıyla giriş yapılabiliyor. sorun ise şu;
    diyelim ahmet ismi ile giriş yaptık. profilim yada şifremi değiştir sayfasına girildiğinde her defasında en küçük üye ID ye sahip kişinin bilgileri çıkıyor ve bunun düzenlenmesini istiyor. yani ben kim giriş yaptıysa profil.asp ye tıklandıgında onun bilgilerinin çekilmesini istiyorum.
    hatta deneme amaçlı sayfanın üst kısmına kullanıcı adını yazdırayım dedim. ama ondada en küçük üye ID 'li kişi kimse onu ekrana yazıyor.
    sorunum ne olabilir ?
    şimdiden tesekkürler..
  • 29-01-2013, 09:49:30
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    id ile verileri çekmiyorsunuz sorun ondan kaynaklı. Sql kodunuzda url ve session ile çektiğiniz id'yi mevcut id sütunu ile eşleştirmeniz gerekiyor..
  • 29-01-2013, 11:01:04
    #3
    peki bunu nasıl yapıcamı söyleyebilirmisiniz?
    sayfanın basında buluna kod şu sekilde,

    <% 
    UYE_ID=request.QueryString("UYE_ID")
    %>
    <%
    dim rsUye
    
    strSQL = "SELECT * FROM UYELER"
    set rsUye = server.CreateObject("adodb.recordset")
    rsUye.Open strSQL, my_Conn
    
    %>
    sayfa içerisinde uye adını çağırdıgım kodda şu sekilde,

    <%=rsUye("UYE_ADI")%>&nbsp;<%=rsUye("UYE_SOYADI")%>
    ama işte bu üye adını çağırdıgımda giriş yapmış kişinin adı soyadı değil de ID si en küçük olanın adı soyadı geliyor. profil sayfasına girildiğinde de ID si en küçük olan kişinin bilgileri geliyor.
  • 29-01-2013, 12:18:04
    #4
    crabby adlı üyeden alıntı: mesajı görüntüle
    peki bunu nasıl yapıcamı söyleyebilirmisiniz?
    sayfanın basında buluna kod şu sekilde,

    <% 
    UYE_ID=request.QueryString("UYE_ID")
    %>
    <%
    dim rsUye
    
    strSQL = "SELECT * FROM UYELER"
    set rsUye = server.CreateObject("adodb.recordset")
    rsUye.Open strSQL, my_Conn
    
    %>
    sayfa içerisinde uye adını çağırdıgım kodda şu sekilde,

    <%=rsUye("UYE_ADI")%>&nbsp;<%=rsUye("UYE_SOYADI")%>
    ama işte bu üye adını çağırdıgımda giriş yapmış kişinin adı soyadı değil de ID si en küçük olanın adı soyadı geliyor. profil sayfasına girildiğinde de ID si en küçük olan kişinin bilgileri geliyor.
    Aşağıdaki düzenleme işini görecektir muhtemelen yalnız sql inj. önlemlerini anlamını öneririm.

    <% 
    UYE_ID = Request.QueryString("UYE_ID")
    
    dim rsUye
    
    strSQL = "SELECT * FROM UYELER WHERE UYE_ID = '"& UYE_ID &"'"
    set rsUye = server.CreateObject("adodb.recordset")
    rsUye.Open strSQL, my_Conn
    
    %>
  • 29-01-2013, 12:59:09
    #5
    Aşağıdaki uyarıyı verdi.

    Microsoft JET Database Engine hata '80040e07'
    Ölçüt ifadesinde veri türü uyuşmazlığı
    /ust.asp, satır 17


    satır 17--> rsUye.Open strSQL, my_Conn
  • 29-01-2013, 13:07:29
    #6
    Şöyle dene birde tırnakları kaldırıpta.
    <% 
    UYE_ID = Request.QueryString("UYE_ID")
    
    dim rsUye
    
    strSQL = "SELECT * FROM UYELER WHERE UYE_ID = "& UYE_ID &""
    set rsUye = server.CreateObject("adodb.recordset")
    rsUye.Open strSQL, my_Conn
    
    %>
  • 29-01-2013, 13:18:06
    #7
    maalesef..

    Microsoft JET Database Engine hata '80040e14'

    'UYE_ID =' sorgu ifadesi içindeki Sözdizimi hatası (eksik iþleç)

    ust.asp, satır 17
  • 29-01-2013, 16:19:13
    #8
    Birazcık sende çaba göstersen şimdiye çözülürdü sorunun.

    Hatada zaten ne problem olduğunu söylüyor, UYE_ID parametresinden herhangi bir değer gelmediği için hata veriyor.

    Adres çubuğundaki url nin şöyle bir parametre olması lazım yoksa hata verecektir. UYE_ID=123 yani dosya_adi.asp?UYE_ID=123
  • 30-01-2013, 11:30:20
    #9
    şimdi bak hatanın şu şekilde..

    uyeler tablomda;

    ID- Üye - Şifre
    1 - Ahmet - 1234
    2 - Mehmet - 5678
    3 - Ali - 4567

    olan kullanıcılar var. diyelimki sisteme Ali olarak giriş yaptık.
    Ancak sistem bizi Ahmet olarak tanıyor. ve Hoşgeldin Ahmet yazıyor. Profilimi düzenle sayfasında yine Ahmetin profil bilgileri çıkıyor. Sebebi anladıgım kadarıyla ID si en küçük olanın o olmasından kaynaklı. Çünkü Ahmeti tamamen silip Ali ile giriş yaparsam bu defada Mehmet giriş yaptı sanıyor.