Håller på med ett (litet) bokningssystem men har stött på ett litet fel som jag inte kommer ut.
Så här se min kod ut:
<!-- #include file="../connectt.asp" -->
<%
Session.Contents.Remove("sorry")
ddator = Request.Querystring("dator")
ttid = Request.Querystring("tid")
namn = session("anvandareappelgren")
SQLb = "SELECT * FROM bokning WHERE ddator = '"& ddator &"' AND ttid = #"& ttid &"# AND ddatum = Date() "
set rsb = db.execute(SQLb)
if not rsb.EOF then
session("sorry") = "ja"
db.close
set db = nothing
Response.Redirect("publik.asp")
else
SQLa = "SELECT COUNT (*) AS antal FROM bokning WHERE namn = '"& namn &"' AND ddatum = Date() "
set rsa = db.execute(SQLa)
if rsa("antal") > 2 then
session("manga") = "yes"
db.close
set db = nothing
Response.Redirect("publik.asp")
else
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM bokning WHERE 1=2"
rs.Open SQL, db, 1, 2
rs.AddNew
rs("ddatum") = Date()
rs("ttid") = ttid
rs("ddator") = ddator
rs("namn") = namn
rs.Update
rs.Close
db.close
set db = nothing
Response.Redirect("publik.asp")
end if
end if
%>
Mitt problem är att även om första ifsatsen, som kollar om det finns en bokning, är sann så körs inserten... Så jag har väl tänkt fel i if satsen men kommer inte på hur...
Tacksam om någon kan hjälpa mig...
Låter ju konstigt, för ett skript ska ju avbrytas vid en Response.Redirect. Försök med att lägga till Response.End efter din redirect, för att avbryta körningen "på riktigt". Men som sagt, den bör ju avbrytas vid en redirect.
Nepp... det hjälpte inte.
Tror att det är första if satsen som är knas... Den skall kolla om tiden är bokad... är den inte det skall man skickas vidare.
SQLb = "SELECT * FROM bokning WHERE ddator = '"& ddator &"' AND ttid = #"& ttid &"# AND ddatum = Date() "
set rsb = db.execute(SQLb)
'Kollar om tiden är bokad
if not rsb.EOF then
session("sorry") = "ja"
db.close
set db = nothing
Response.Redirect("publik.asp")
Response.End
else
Nån som ser något fel?
133 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17