Du har glömt citationstecken.
Request.Querystring("KID")
Mvh,
------------------
All your base are belong to me.
7 svar · 203 visningar · startad av ReloadMaster
Tjena!
Vad betdyder detta:
Request-objekt fel 'ASP 0105 : 80004005'
Indexet ligger utanför intervallet
/asp/scripts/ccommunity/community_kompisar.asp, rad 90
Ett matrisindex ligger utanför intervallet.
Rad 56 - 96
<%
If Request.Querystring("kompis") = "kontroll" Then
SQL = "SELECT VID FROM kompisar"
Set RecSet4 = Connect.Execute(SQL)
Do until RecSet4.EOF
If RecSet4("VID") = Request.QueryString("KID") Then
Response.Redirect "community_kompisar.asp?ID="&ID&""
RecSet4.Close
Else
Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&Request.Querystring(KID)&"&kompis=kontroll2"
End If
RecSet.MoveNext
Loop
End If
If Request.Querystring("kompis") = "kontroll2" Then
%>
<b>Du kan inte lägga till dig själv på din kompis lista</b>
<%
Else
Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&KID&"&kompis=ny"
End If
End If
%>
------------------
Das Dunkhopf...
Du har glömt citationstecken.
Request.Querystring("KID")
Mvh,
------------------
All your base are belong to me.
Jag skulle behöva hjälp med denna kod:
<% Response.Buffer = True %>
<% ID = Request.Querystring("ID")%>
<% KID = Request.Querystring("KID")%>
<html>
<head>
<title>Community - _ _ _ _ _ _.nu</title>
</head>
<body>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("communitydb.mdb")
SQL = "SELECT * FROM medlemmar WHERE ID="&ID&""
Set RecSet = Connect.Execute(SQL)
an = RecSet("anvandarnamn")
%>
<a href="community.asp?ID<% =ID%>">Startsida</a>
<a href="community_medlem.asp?ID=<%= ID%>&KID=<% =ID%>">Din profil</a>
<a href="community_gastbok.asp?ID=<%= ID%>&anvandare=<% =an%>">Din Gästbok</a>
Dina kompisar
<a href="community_medlemmar.asp?ID=<%= ID%>">Medlemmar</a>
<a href="community_meddelanden.asp?ID=<% =ID%>">Meddelanden</a>
<a href="community_forum.asp?ID=<% =ID%>">Forum</a>
<a href="community_andra.asp?ID=<%= ID%>">Ändra Uppgifter</a>
<p><p>
<b><% =an%>'s Kompisar:</b><p><p><br>
<%
SQL = "SELECT VID FROM kompisar WHERE DID='"&RecSet("ID")&"'"
Set RecSet2 = Connect.Execute(SQL)
If RecSet2.EOF Then
%>
<% =an%> har inga kompisar just nu
<%
Else
%>
Användarnamn:<p>
<%
Do Until RecSet2.EOF
VID = Recset2("VID")
SQL = "SELECT * FROM medlemmar WHERE ID="&VID&""
Set RecSet3 = Connect.Execute(SQL)
KID = Recset3("ID")
anvnamn = RecSet3("anvandarnamn")
%>
<a href="community_medlem.asp?ID=<% =ID%>&KID=<% =KID%>"><% =anvnamn%></a><br>
<%
RecSet2.MoveNext
Loop
End If
%>
<%
If Request.Querystring("kompis") = "kontroll" Then
SQL = "SELECT VID FROM kompisar"
Set RecSet4 = Connect.Execute(SQL)
If RecSet4.EOF Then
Response.Redirect "community_kompisar.asp?ID="&ID&""
Do until RecSet4.EOF
If RecSet4("VID") = Request.QueryString("KID") Then
Response.Redirect "community_kompisar.asp?ID="&ID&""
RecSet4.Close
Else
Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&KID&"&kompis=kontroll2"
End If
RecSet4.MoveNext
Loop
End If
%>
<%
If Request.Querystring("kompis") = "kontroll2" Then
%>
<b>Du kan inte lägga till dig själv på din kompis lista</b>
<%
Else
Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&KID&"&kompis=ny"
End If
%>
<%If Request.Querystring("kompis") = "ny" Then
SpaVID = Request.Querystring("KID")
SpaDID = Request.Querystring("ID")
SQL = "Insert Into kompisar"
SQL = SQL & "(VID,DID)"
SQL = SQL & "VALUES ('"& spaVID &"', '"& spaDID &"')"
'Response.Write" "&SQL&""
Connect.Execute(SQL)
Response.Redirect"community_kompisar.asp?ID="&ID&"&kompis=tillagd"
End If%>
<%If Request.Querystring("kompis") = "tillagd" Then%>
<p><br><p><br>
<b>Din kompis är nu tillagd!</b><br>
<a href="community_kompisar.asp?ID=<% =ID%>">Till dina kompisar!</a>
<%End If%>
<p><br><p><a href="default.asp?status=loggaut">Logga ut</a>
<%
Recset.Close
Set RecSet = Nothing
Recset2.Close
Set RecSet2 = Nothing
Connect.Close
Set Connect = Nothing
End If
%>
</body>
</html>
Fel:
när man klickar på denna länk:
kompisar.asp?ID=6&KID=11&kompis=kontroll
Så ska koden kolla om användaren finns och om man försöker lägga till sig själv på kompislistan men efter ett tag när den håller på så blir adressen denna:
community_kompisar.asp?ID=6&KID=6&kompis=ny
Men innan var KID't = 10
så den har ändrats...
[Redigerat av ReloadMaster den 01 okt 2002]
[Redigerat av ReloadMaster den 01 okt 2001]
Sedan undrar jag:
<%
If Request.Querystring("kompis") = "kontroll" Then
SQL = "SELECT VID FROM kompisar"
Set RecSet4 = Connect.Execute(SQL)
If RecSet4.EOF Then
Response.Redirect "community_kompisar.asp?ID="&ID&""
Do until RecSet4.EOF
If RecSet4("VID") = Request.QueryString("KID") Then
Response.Redirect "community_kompisar.asp?ID="&ID&""
RecSet4.Close
Else
Response.Redirect "community_kompisar.asp?ID="&ID&"&KID="&KID&"&kompis=kontroll2"
End If
RecSet4.MoveNext
Loop
End If
%>
Letar den verkligen igenom alla poster i databsen eller måste jag flytta MoveNext högre upp?
------------------
Das Dunkhopf...
Hej ReloadMaster!
I denna tråden samt i följande tråd:
http://cgi.webforum.nu/wf/Forum11/HTML/006555.html
Har du postat 4 inlägg med enbart punkter för att du ska stå högst upp i forumet.
Jag tvivlar på att någon svarar fortare på din fråga bara för du flyttar upp dina inlägg med hjälp av innehållslösa inlägg. Som moderator ber jag dig att sluta med dessa inläggspostningar omgående. Jag är också övertygad om att du får hjälp om det är någon som läst och kan svara på ditt inlägg.
Tack på förhand!
Vänligen Jörgen :)
Moderator wF
------------------
Varför bråka när man kan kramas?
Din kod är svår att felsöka på grund av att den är så ostrukturerad.
Det blir lättare om du försöker hålla varje funktion för sig i
en egen sub och styr det genom att skicka en funktionskod i querystringen
sub showFriends(connection,id,byRef action)
'kod
end sub
sub addFriend(connection,id,kid,byRef action)
'kod
end sub
sub init ()
'skriv ut initial page
end sub
'fler funktioner
'main function
'skriv ut gemensamt innehåll
set connect = server.createobject("adodb.connection")
connect.open "dsn"
select case request.querystring("operation")
case "showFriends"
call showFriend(connection,request.queryString("ID"),action)
case "addFriend"
call addFriend(connection,request.queryString("ID"),request.queryString("KID"),action)
'fler fall
case else
call init()
end select
connect.close
response.redirect action
En annan sak du bör undvika är konstruktioner som
sql = "select * from medlemmar"
set rs = connect.execute(sql)
do until rs.eof
if rs("ID") = KID then
response.redirect "somepage"
end if
rs.movenext
loop
response.write "Det fanns ingen post"
Det är mycket effektivare att skriva det som
sql = "select * from medlemmar where id = '" & KID & "'"
set rs = connect.execute(sql)
if rs.eof then
response.write "Det fanns ingen post"
else
action = "somepage"
end if
rs.close
response.redirect action
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 02 okt 2001]