webForumDet fria alternativet

Hjälp med snabbsök

ASP

10 svar · 503 visningar · startad av SGuncel

Medlem sedan jan. 2007217 inlägg
Frågan#1

Hur ska jag få så att man går till personens sida efter man har sökt?
<form action="Meny.asp?Search=User" method="post">
<tr>
<td width="6"></td>
<td width="144">

              \<input type="text" name="UsrTLAlias" onFocus="if(this.value=='Sök Efter Turkar'){this.value='';}" onBlur="if(this.value==''){this.value='Sök Efter Turkar';}"\>
              \<input type="submit" value="Sök"\>
             \</td\>
            \</tr\> 
            \</form\>
            \<%
           IF Request.Querystring("Search")="User" then

strSQL = "Select * from TLUsers where UsrTLAlias="&Request.Form("UsrTLAlias")&"" & " order by UsrLastLogin desc"
Set ObjRS = ObjConn.Execute(strSQL)

	IF ObjRS.Eof then
		Response.Write "\<script language=""JavaScript"" type=""text/javascript""\>window.alert(unescape(""Det finns ingen användare med detta användarnamn.""));\</script\>"
	else

ObjRS.Close
Set ObjRS = Nothing

ObjConn.Close
Set ObjConn = Nothing

		Response.Redirect "../UsrProfile/Profil.asp?UsrID=

	End if
	End if
            %\>

Undrar hur jags ka få Id:et.
Response.Redirect "../UsrProfile/Profil.asp?UsrID= menar hit

Medlem sedan juni 200032 967 inlägg
#2

Hej, och välkommen till webForum!

...

IF ObjRS.Eof then
     Response.Write "<script language=""JavaScript"" type=""text/javascript"">window.alert(unescape(""Det finns ingen användare med detta användarnamn.""));</script>"
else
     lUserID = objRS("userID")
     ObjRS.Close
     Set ObjRS = Nothing

     ObjConn.Close
     Set ObjConn = Nothing

     Response.Redirect "../UsrProfile/Profil.asp?UsrID=" & lUserID

...

Använd [kod]-taggar när du postar kod, så blir allt så mycket sexigare. :-)

Mvh

Medlem sedan jan. 2007217 inlägg
#3

Okej, sorry :)

                       <form action="Meny.asp?Search=User" method="post">         
                         <tr>
                <td width="6"></td>
					<td width="144">
                 
                  <input type="text" name="UsrTLAlias" value="Sök Efter Turkar" onFocus="if(this.value=='Sök Efter Turkar'){this.value='';}" onBlur="if(this.value==''){this.value='Sök Efter Turkar';}" size="2">
                  <input type="submit" value="Sök">
                 </td>
                </tr> 
                </form>
                <%
               IF Request.Querystring("Search")="User" then
strSQL = "Select * from TLUsers where UsrTLAlias="&Request.Form("UsrTLAlias")&"" & " order by UsrLastLogin desc"
	Set ObjRS2 = ObjConn.Execute(strSQL)

IF ObjRS2.Eof then
     Response.Write "<script language=""JavaScript"" type=""text/javascript"">window.alert(unescape(""Det finns ingen användare med detta användarnamn.""));</script>"
else
     lUsrID = objRS2("UsrId")
     ObjRS2.Close
     Set ObjRS2 = Nothing

     ObjConn.Close
     Set ObjConn = Nothing

     Response.Redirect "../UsrProfile/Profil.asp?UsrID=" & lUsrID
End If
 %>

Har nu gjort så här men får felet:
Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/Main/Meny.asp, line 145

Medlem sedan juni 2000974 inlägg
#4

SGuncel skrev:

Okej, sorry :)

                       <form action="Meny.asp?Search=User" method="post">         
                         <tr>
                <td width="6"></td>
					<td width="144">
                 
                  <input type="text" name="UsrTLAlias" value="Sök Efter Turkar" onFocus="if(this.value=='Sök Efter Turkar'){this.value='';}" onBlur="if(this.value==''){this.value='Sök Efter Turkar';}" size="2">
                  <input type="submit" value="Sök">
                 </td>
                </tr> 
                </form>
                <%
               IF Request.Querystring("Search")="User" then
strSQL = "Select * from TLUsers where UsrTLAlias="&Request.Form("UsrTLAlias")&"" & " order by UsrLastLogin desc"
	Set ObjRS2 = ObjConn.Execute(strSQL)

IF ObjRS2.Eof then
     Response.Write "<script language=""JavaScript"" type=""text/javascript"">window.alert(unescape(""Det finns ingen användare med detta användarnamn.""));</script>"
else
     lUsrID = objRS2("UsrId")
     ObjRS2.Close
     Set ObjRS2 = Nothing

     ObjConn.Close
     Set ObjConn = Nothing

     Response.Redirect "../UsrProfile/Profil.asp?UsrID=" & lUsrID
End If
 %>

Har nu gjort så här men får felet:
Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/Main/Meny.asp, line 145

Du har inte provat med att sätta dit ett END efter rad 145? Gör det!

Medlem sedan dec. 20025 483 inlägg
#5
IF Request.Querystring("Search")="User" then
  strSQL = "Select * from TLUsers where UsrTLAlias="&Request.Form("UsrTLAlias")&"" & " order by UsrLastLogin desc"
  Set ObjRS2 = ObjConn.Execute(strSQL)

  IF ObjRS2.Eof then
    Response.Write "<script language=""JavaScript"" type=""text/javascript"">window.alert(unescape(""Det finns ingen användare med detta användarnamn.""));</script>"
  else
     lUsrID = objRS2("UsrId")
     ObjRS2.Close
     Set ObjRS2 = Nothing

     ObjConn.Close
     Set ObjConn = Nothing

     Response.Redirect "../UsrProfile/Profil.asp?UsrID=" & lUsrID
  End If
[red]End If[/red]

Skriv gärna ut vad som finns på den rad felet uppkommer.

Medlem sedan jan. 2007217 inlägg
#6

Sorry, det va riktigt misstag av mig o missa andra IF satsen :D
Men när jag söker så kommer detta:
Microsoft JET Database Engine error '80040e10'
No value given for one or more required parameters.

/Main/Meny.asp, line 131

130: strSQL = "Select * from TLUsers where UsrTLAlias="&Request.Form("UsrTLAlias" &"" & " order by UsrLastLogin desc"
131: Set ObjRS2 = ObjConn.Execute(strSQL)
132: IF ObjRS2.Eof then

Jag vill att profilen ska komma till target="start" :D

Medlem sedan dec. 20025 483 inlägg
#7

Det saknas en högerparentes för Request.Form(). Sedan behöver du inte konkatenera in en tom sträng mellan nämnt stycke och order by.

Tag för vana att alltid undersöka och säkra värden innan du stoppar in dem i SQL-satser (sök på SQL-injection).

Medlem sedan jan. 2007217 inlägg
#8
<%
               IF Request.Querystring("Search")="User" then
strSQL = "Select * from TLUsers where UsrTLAlias=" & Fixbug(Request.Form("UsrTLAlias")) & "" & " order by UsrLastLogin desc"
	Set ObjRS2 = ObjConn.Execute(strSQL)

IF ObjRS2.Eof then
     Response.Write "<script language=""JavaScript"" type=""text/javascript"">window.alert(unescape(""Det finns ingen användare med detta användarnamn.""));</script>"
else
     lUsrID = objRS2("UsrId")
     ObjRS2.Close
     Set ObjRS2 = Nothing

     ObjConn.Close
     Set ObjConn = Nothing

     Response.Redirect "../UsrProfile/Profil.asp?UsrID=" & lUsrID
End If
End If
 %>

Fixbug är min SQL-injection.

Medlem sedan juni 200032 967 inlägg
#9

Apostrofer runt strängvärden i SQL:

strSQL = "Select * from TLUsers where UsrTLAlias='" & Fixbug(Request.Form("UsrTLAlias")) & "' order by UsrLastLogin desc"

(Jag tog också bort den onödiga tomsträngskonkateneringen som Peter nämner. Läs mer om detta här.)

Mvh

Medlem sedan jan. 2007217 inlägg
#10

Det funkar, tack ska ni ha allihopa för hjälpen men hur ska jag göra så att det kommer till target="Start"?

Medlem sedan juni 200032 967 inlägg
#11

Menar du att du vill ladda "../UsrProfile/Profil.asp?UsrID=" & lUsrID i en frame som heter Start? I så fall får du göra det med javascript.

Response.write "<script>parent.frames['Start'].location.href='../UsrProfile/Profil.asp?UsrID=" & lUsrID & "';</script>"

... är ett exempel.

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)