Frågan är:
En köpare har loggat in och går till
sin sida där han kan välja olika vägar att gå, bl a titta på sina offertförfrågningar som är aktuella.
Jag har använt mig av följande sätt
för att lista offerterna
<a href="visaoffert.asp?offertQid=<% offertQid%>
i visaoffert.asp där jag använder följand sqlsats
sql= "SELECT * from byers inner join offert on byers.FtgIF=Offert.FtgID Where OffertQID =" & request("offertQID")
Dettq gör att ID syns i browserns adress och därmed lätt att titta på andras offerter vilket inte är meningen.
Hur gör jag för att lösa detta?
Om varje offert i databasen är knuten till en specifik kund så kan du lägga in kundid som ett vilkor i SQL-satsen. Om "fel" kund försöker nå en offert så kommer RecordSet'et vara EOF och du kan då skriva ett felmeddelande.
sql= "SELECT * from byers inner join offert on byers.FtgIF=Offert.FtgID Where OffertQID =" & request("offertQID") & " CustomerID =" & Session("CustomerID")
Tack för svaret men det blir fel här är lite mer kod:
%>
<% DBpath ="DBQ=" & Server.MapPath("forum.mdb")
Set GTL=Server.CreateObject("ADODB.Connection")
Set rsOffert=Server.CreateObject("ADODB.Recordset")
Set rsbyers=Server.CreateObject("ADODB.Recordset")
GTL.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBpath
' =================================================================
' ----- villfå bort adressen i fönstret på browsern så att man inte kan välja annat nr !!!
' =================================================================
'id=rsbyers("FtgID")
sql = "SELECT * from byers inner join offert on byers.FtgID=offert.FtgID where OffertQID =" & request("offertQID") & "FtgID=" & Session("Ftgid")
'sql = "SELECT * from byers inner join offert on byers.FtgID=" & Session("Ftgid")
'sql = "SELECT * from offert, byers Where UserName ='" & Session("UserName") & "'"
'sql = "Select * from offert, byers where offert.FtgID =" & Session("Ftgid")
'sql= "select * from offert where OffertQID="& rsOffert("offertQID")
rsbyers.Open sql, GTL , 1, 2
rsOffert.Open sql, GTL , 1, 2
if rsOffert.eof then
response.write "No Prise Requests in the database"
end if
----------------
Får följande felmed:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'OffertQID =180FtgID=29'.
Felet är här:
sql = "SELECT * from byers inner join offert on byers.FtgID=offert.FtgID where OffertQID =" & request("offertQID") & "FtgID=" & Session("Ftgid")
Du har glömt AND:
sql = "SELECT * from byers inner join offert on byers.FtgID=offert.FtgID where OffertQID =" & request("offertQID") & " AND FtgID=" & Session("Ftgid")