ExploitMedlem sedan nov. 2006107 inlägg Hej vet att jag har tagit upp förut om mina sök problem men nu har ett nytt probbz uppstått...
nu kan man söka på vad som hellst eller inget alls så kommer alla mina länkar upp med i söklistan (Dom som har ord i key kolummen)
Detta är min kod på default.asp
<form name="form1" method="post" target="iframe" action="sok.asp">
<label>
<div align="left">
<INPUT TYPE="text" SIZE="20" NAME="sokord">
<br>
<input name="Submit" type="submit" submit ="SELECT * FROM lankar WHERE key & namn LIKE '%" value="Sök">
</div>
</label>
</label>
</form>
Detta är min kod i sok.asp
<!-- #include file = "adovbs.inc" -->
<HTML><link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
-->
</style>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/lankar.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM lankar WHERE key & namn LIKE '%" & Request.Form("sokord")& "%'"
Set RS=Connect.Execute (SQL)
If RS.EOF then
response.Write "Ingen träff"
End if
Do Until RS.EOF
%>
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
.style4 {color: #FFFFFF; font-weight: bold; }
.style4 {color: #FFFFFF; font-weight: bold; }
-->
</style>
<p> </p>
<TABLE border='0' width='361'>
<tr><td width="107" rowspan="4"><img src="<%=RS("banner")%>" width="88" height="31" align="right"><br>
<br> <br>
</td>
<td width="244"><a href="klick.asp?id=<%=RS("id")%>" target="_blank" onMouseOver="self.status='<%= RS("hemsida")%>';return true" onMouseOut="self.status=' ';return true"><%=RS("namn")%></a></td>
</tr>
<tr>
<td><strong><font size="1" face="Verdana">(</font></strong><span class="style4"><font size="1" face="Verdana"><%=RS("klick")%></font> <font size="1" face="Verdana" class="style4">klick)</font></span></td>
</tr>
<tr>
<td><%=RS("text")%></td>
</tr>
<tr>
<td> </td>
</tr>
</TABLE>
<%
RS.MoveNext
LOOP
RS.Close
Connect.Close
%>
</HTML>
varför har du fortfarande sql i inputknappen?
börja med att ha
<input name="Submit" type="submit" value="Sök">
ExploitMedlem sedan nov. 2006107 inlägg ?? Förklara vart..... som sagt va jag är nybörjare..
ExploitMedlem sedan nov. 2006107 inlägg I den här ?
[code}
SQL = "SELECT * FROM lankar WHERE key & namn LIKE '%" & Request.Form("sokord")& "%'"
Exploit skrev:
I den här ?
[code}
SQL = "SELECT * FROM lankar WHERE key & namn LIKE '%" & Request.Form("sokord")& "%'"
I default.asp ska du inte ha sqlsatsen i input
i sok.asp ska det vara
<!-- #include file = "adovbs.inc" -->
<!--#include virtual = "conn.asp"-->
<HTML>
<HEAD><TITLE>din titel</TITLE>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
-->
</style>
</HEAD>
<BODY>
<%
SQL = "SELECT * FROM lankar WHERE key & namn LIKE '%" & Request.Form("sokord")& "%'"
Set RS=Connect.Execute (SQL)
If RS.EOF then
response.Write "Ingen träff"
Else
Do Until RS.EOF%>
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
.style4 {color: #FFFFFF; font-weight: bold; }
.style4 {color: #FFFFFF; font-weight: bold; }
-->
</style>
<p> </p>
<TABLE border='0' width='361'>
<tr><td width="107" rowspan="4"><img src="<%=RS("banner")%>" width="88" height="31" align="right"><br>
<br> <br>
</td>
<td width="244"><a href="klick.asp?id=<%=RS("id")%>" target="_blank" onMouseOver="self.status='<%= RS("hemsida")%>';return true" onMouseOut="self.status=' ';return true"><%=RS("namn")%></a></td>
</tr>
<tr>
<td><strong><font size="1" face="Verdana">(</font></strong><span class="style4"><font size="1" face="Verdana"><%=RS("klick")%></font> <font size="1" face="Verdana" class="style4">klick)</font></span></td>
</tr>
<tr>
<td><%=RS("text")%></td>
</tr>
<tr>
<td> </td>
</tr>
</TABLE>
<%RS.MoveNext: LOOP
End If
RS.Close
Connect.Close%>
</BODY>
</HTML>
i conn.asp kan du ha
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/lankar.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
ExploitMedlem sedan nov. 2006107 inlägg Nu har jag gjort följande men det funkar endå INTE.
När jag trycker på sök knappen utan att ha fyllt i nått så listar den alla mina länkar från databasen????????
ExploitMedlem sedan nov. 2006107 inlägg Default.asp där knappen & sök rutan finns:
<form name="form1" method="post" target="iframe" action="sok.asp">
<label>
<div align="left">
<INPUT TYPE="text" SIZE="20" NAME="sokord">
<br>
<input name="Submit" type="submit" value="Sök">
</div>
</label>
</label>
</form>
I sok.asp
<!-- #include file = "adovbs.inc" -->
<!--#include virtual = "conn.asp"-->
<HTML><link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
-->
</style>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/lankar.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL= "SELECT * FROM lankar WHERE key & namn LIKE '%" & Request.Form("sokord")& "%'"
Set RS=Connect.Execute (SQL)
If RS.EOF then
response.Write "Ingen träff"
End if
Do Until RS.EOF
%>
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
.style4 {color: #FFFFFF; font-weight: bold; }
.style4 {color: #FFFFFF; font-weight: bold; }
-->
</style>
<p> </p>
<TABLE border='0' width='361'>
<tr><td width="107"><img src="<%=RS("banner")%>" width="88" height="31" align="right"><br>
<br> <br>
</td>
<td width="244"><a href="klick.asp?id=<%=RS("id")%>" target="_blank" onMouseOver="self.status='<%= RS("hemsida")%>';return true" onMouseOut="self.status=' ';return true"><%=RS("namn")%></a></td>
</tr>
<tr>
<td width="107"> </td>
<td><strong><font size="1" face="Verdana">(</font></strong><span class="style4"><font size="1" face="Verdana"><%=RS("klick")%></font> <font size="1" face="Verdana" class="style4">klick) [ <%=RS("kat")%> ] </font></span></td>
</tr>
<tr>
<td width="107"> </td>
<td><%=RS("text")%></td>
</tr>
<tr>
<td width="107"> </td>
<td> </td>
</tr>
</TABLE>
<%
RS.MoveNext
LOOP
RS.Close
Connect.Close
%>
</HTML>
Och så i conn.asp
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/lankar.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
%>
Peter SMedlem sedan dec. 20025 483 inlägg Vad vill du åstadkomma med det rödmarkerade nedan?
SELECT * FROM lankar WHERE [red]key & namn[/red] LIKE '%" & Request.Form("sokord")& "%'
Vill du söka i key-kolumnen bör du ta bort '& namn'.
ExploitMedlem sedan nov. 2006107 inlägg tog bort detta så nur står det bara key men men det funkar endå inte som jag vill att det ska göra...
varSokOrd=Request.Form("sokord")
SQL = "SELECT * FROM lankar WHERE key & namn LIKE '%" & varSokord & "%'"
Detta är att rekommendera och skydda dig mot SQL-injections med
Så här ser min sök ut på frisök
set RS = objConn.Execute("Select * From tblUsers where username LIKE '%" & varUsername & "%' and inloggad = "& varChk &" ORDER BY vip = 1")
ExploitMedlem sedan nov. 2006107 inlägg oki.
gjorde detta. men kan man inte "blockera" sök knappen så att man måste skriva i nått för att söka o har man inte skrivit nått så händer det inget?
Exploit skrev:
oki.
gjorde detta. men kan man inte "blockera" sök knappen så att man måste skriva i nått för att söka o har man inte skrivit nått så händer det inget?
Pseudokod
OM textrutevärde = "" SÅ
visa inget
ANNARS
Visa Sökknapp
SLUT OM
Smidigast är att ha det när man klickar på knappen som visar felmeddelande om att inget är inskrivet
ExploitMedlem sedan nov. 2006107 inlägg jaja skit samma fattar endå inget förutom att det ska vara en if sats jag får leta vidare på nätet...
Peter SMedlem sedan dec. 20025 483 inlägg Vad får du med
<!-- #include file = "adovbs.inc" -->
<!--#include virtual = "conn.asp"-->
<HTML><link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
-->
</style>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/lankar.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
sokord = trim(Request.Form("sokord") & "")
if sokord = "" then
response.write "ange sökord"
response.end
end if
SQL= "SELECT * FROM lankar WHERE key LIKE '%" & sokord & "%'"
Set RS=Connect.Execute (SQL)
If RS.EOF then
response.Write "Ingen träff"
End if
Do Until RS.EOF
%>
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
.style4 {color: #FFFFFF; font-weight: bold; }
.style4 {color: #FFFFFF; font-weight: bold; }
-->
</style>
<p> </p>
<TABLE border='0' width='361'>
<tr><td width="107"><img src="<%=RS("banner")%>" width="88" height="31" align="right"><br>
<br> <br>
</td>
<td width="244"><a href="klick.asp?id=<%=RS("id")%>" target="_blank" onMouseOver="self.status='<%= RS("hemsida")%>';return true" onMouseOut="self.status=' ';return true"><%=RS("namn")%></a></td>
</tr>
<tr>
<td width="107"> </td>
<td><strong><font size="1" face="Verdana">(</font></strong><span class="style4"><font size="1" face="Verdana"><%=RS("klick")%></font> <font size="1" face="Verdana" class="style4">klick) [ <%=RS("kat")%> ] </font></span></td>
</tr>
<tr>
<td width="107"> </td>
<td><%=RS("text")%></td>
</tr>
<tr>
<td width="107"> </td>
<td> </td>
</tr>
</TABLE>
<%
RS.MoveNext
LOOP
RS.Close
Connect.Close
%>
</HTML>
? Har du en äldre version av Access kan du testa att byta '%' mot '*'.
ExploitMedlem sedan nov. 2006107 inlägg Jag har Microsoft Offfice Access 2007 (Beta)
@ndersMedlem sedan juni 200032 969 inlägg ... och funkade inte Peters kod?
Du borde också flytta ut css-koden och tabellhuvud och -slut utanför loopen.