Arkadaşlar merhabalar. Aspde kategorileme ile ilgili yaptığım bi çalışma var ama galiba kodlarda bi sorun var.ilk sayfa geliyor herşey normal yalnız ilk sayfada bulunan linklere tıkladığım zaman 2.sayfada hata olduğunu söylüyor.Kodlar aşağıda belirttiğim gibidir.Acaba nerede sorun var.Rica etsem bi yardım edebilirmisiniz.Şimdiden teşekkürler.
SAYGILARIMLA.
a.asp sayfası
<%
Oku="DBQ="& Server.Mappath("db.mdb") &";Driver={Microsoft Access Driver (*.mdb)}" Set Baglan=Server.CreateObject("Adodb.Connection") Baglan.Open Oku %> <% Set Rs=Server.CreateObject("Adodb.Recordset") sorgu = "Select * from anakat" Rs. Open Sorgu, Baglan, 1, 3 %>
<% do while not rs.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=8780299&url=b.asp?id=<%=rs("id")%>" data-href="b.asp?id=<%=rs("id")%>"><%=rs("anakatismi")%></a> <% rs.movenext loop rs.close set rs=nothing %>
<% id=request.querystring("id") Set Rs=Server.CreateObject("Adodb.Recordset") sorgu = "Select * from altkat where catid="&id&" " Rs. Open Sorgu, Baglan, 1, 3 %>
<% do while not rs.eof %> <%=rs("altkatismi")%> <% rs.movenext loop rs.close set rs=nothing %>
hangi satırda hata veriyor. http 500 hatası yazıosa seçeneklerden gelişmişe gelip açıklayıcı hata iletilerini göster satırındaki tick i kaldır. öle bak. hangi sayfada kaçıncı satırda hata varsa yazacaktır
bir de
<%
Oku="DBQ="& Server.Mappath("db.mdb") &";Driver={Microsoft Access Driver (*.mdb)}" Set Baglan=Server.CreateObject("Adodb.Connection") Baglan.Open Oku %> <% Set Rs=Server.CreateObject("Adodb.Recordset") sorgu = "Select * from anakat" Rs. Open Sorgu, Baglan, 1, 3 %>
mesela çok fazla gereksiz <%%> kullanmışsn.
<%
Oku="DBQ="& Server.Mappath("db.mdb") &";Driver={Microsoft Access Driver (*.mdb)}" Set Baglan=Server.CreateObject("Adodb.Connection") Baglan.Open Oku Set Rs=Server.CreateObject("Adodb.Recordset") sorgu = "Select * from anakat" Rs. Open Sorgu, Baglan, 1, 3 %> kullan daha iyi;)
id=request.querystring("id")
şunu b.asp de <% den sonra en başa yazar msıın.bn hep öle kullanıorum ve sorun çıkmadı. olmazsa kendi kodumu veririm sana.
<% Set Sur = Server.CreateObject("ADODB.Connection") Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/datalar.mdb") Set bertan = Server.CreateObject("ADODB.Recordset") sor = "Select * from kategori ORDER BY kataciklama" bertan.Open sor,Sur,1,3 cats=bertan.recordcount
function scripts(categoryid) set say = server.createobject("ADODB.recordset") sql = "select * from urunler where kid=" & categoryid & "" say.open sql, Sur, 1, 3 scripts = say.recordcount end function If bertan.eof or bof Then response.write" " else While Not bertan.EOF %>
<% If Not bertan.EOF Then bertan.MoveNext End If wend End if bertan.close set bertan = Nothing %>
----------------------------------------
<% @Language=VBScript %> <% Set Sur = Server.CreateObject("ADODB.Connection") Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/datalar.mdb")
kid=Request.QueryString("kid") Set bertan = Server.CreateObject("ADODB.Recordset") sor = "Select * from urunler WHERE kid=" & kid & "" bertan.Open sor,Sur,1,3
islem=Request.QueryString("islem") if islem="indir" then call indir end if
git = Request.QueryString("git") if git="" then git=1 end if %>
<html> <body> <%if bertan.eof Or bof Then response.write "<BR><BR><CENTER>Kayıt yok</CENTER>" else%>
<center>
<% bertan.pagesize = 10 bertan.absolutepage = git sayfa = bertan.pagecount for i=1 to bertan.pagesize if bertan.eof then exit for %>
<div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" width="400"> <tr> <td> <br> <p align="center">Sayfa : <% for y=1 to sayfa if git=y then response.write y else response.write "<b> <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=8780850&url="aspkat.asp?kid="&bertan("kid")&"&git="&y&""" data-href=""aspkat.asp?kid="&bertan("kid")&"&git="&y&""">"&y&"</a></b>" end if next End if%></td> </tr> </table> </center> </div>
</body>
</html>
Asp'ci öncelikle ilgilendiğin için teşekkür ediyorum.b.asp sayfası gelmiyordediğin gibi yaptım ilk satıra kodu ekledim gene olmadı.http 500 iç sunucu hatası olduğu "ulaşmaya çalıştığınız sayfada sorun var ve sayfa görüntülenemiyor." yazısı var
hocam istersen sana sayfaları verim database ile beraber nerde hata olduğuna bi bakabilirmisin senin kodlarıda görünce kafam iyice karıştı.Aspde yeni sayılırım :(
o zaman db yi yanlış programladın.id alanına falan bak. şu an toplantıdayım kodlarına birzdan bakarım
http 500 hatasını kaldırma yöntemini söledim yukarda. onu yap.koddaki hatayı ve satırı yaz buraya
catid alanını not yapmışsın onu sayı yap(otomatik deil)
connection ları kapayınız, açık bırakmayınız
baglan.close
hata kapamamaktan dolayı olmaz her zmn.sunucuya yük getirir ama çalışır(ki unututtuğumda da çalışıo yani kodlar)ama db yanlış kodlanmış.
quote:
Orjinalden alıntı: aspci
hata kapamamaktan dolayı olmaz her zmn.sunucuya yük getirir ama çalışır(ki unututtuğumda da çalışıo yani kodlar)ama db yanlış kodlanmış.
hata ondan olmuş demedim zaten. benimkisi sadece bir nasihat.
quote:
Orjinalden alıntı: Finney
quote:
Orjinalden alıntı: aspci
hata kapamamaktan dolayı olmaz her zmn.sunucuya yük getirir ama çalışır(ki unututtuğumda da çalışıo yani kodlar)ama db yanlış kodlanmış.
hata ondan olmuş demedim zaten. benimkisi sadece bir nasihat.
haklısın,sunucuya yük.dergi bu kodda çok farketmez ama altında binlerce satır olsaydı ve kapatılmamış olsaydı o zmn sorun olur sunucuya erişim açısından
@aspci dediğini yaptım oldu veritabanındaymış sorun oldu çok sağol şimdi bu idleri nasıl çaoğaltıcaz ona bakalım.Yardımın için çok çok teşekkür ediyorum. @Finney tavsiyen için çok sağol sanada teşekkür borçluyum.
o kodlar önce anakat dan hepsini listeler altkatlar ise ana katın id sine bakar catid kısmına ana kategori idlerinden yazarsın(mesela1) catid ye 1 yaz alt cat adı yaz işte.o şekilde çoaltabilirsin. ama bunları form oluşturarak yaparsan yanlış kayıtları engellersin.(mesela anakat id si 30 olan bi kayıt olmasın ama alt kat bölümünde catid ye 30 yazarsın.listelenmez ama db yi şişirir)biliorum çok karışık bi anlatımoldu...
Evet baya karışık anlarım olmuş.daha sade bi anlatım şekli yokmu hocam bunun.ilk yöntem kolay onu halletimde form oluşturarak yapmayı anlayamadım :(
bak şöle.bildiğin klasik bir form(2 tane) birinde sadece anakategori adı almak için form oluşturcan.ordan ana kategori yazdırcan.2. formda ise <option value="id">..</option> içinde for net ya da wlihe wend döngüsü ile id yazan yere ana kategorilerin adını yazdır.altta da alt kat yazmak için bi textbox olcak.onları veritabanına kaydettircen işte. yalnız alt kategori eklerken ana kategorinin id sini kaydettirmeyi unutma
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme