24. april 2002 - 12:20Der er
5 kommentarer og 1 løsning
Problemer med ASP bekræftelses side
Hej alle
Jeg har lavet en formular, som putter data ind i Access DB. Hvert entry i databasen får tildelt et unikt nummer via autonummerering. Det nummer vil jeg gerne have vist på min bekræftelses side. jeg har lavet siden og den fungere med de feltet som er i formularen. For at få det unikke nummer med har jeg lavet en DB forespørgsel på bekræftelses siden som ses for neden. Mit problemer er at den umiddelbart ikke bliver afviklet. Jeg kæder recorden sammen med det unikke session.id nummer, som jeg også gemmer i DB'en. ??? er der nogle som kan hjælpe mig ????? <!--webbot bot="DatabaseRegionStart" s-columnnames="Nøgle" s-columntypes="3" s-dataconnection="help_desk" b-tableformat="FALSE" b-menuformat="FALSE" s-menuchoice="Nøgle" s-menuvalue="Nøgle" b-tableborder="TRUE" b-tableexpand="TRUE" b-tableheader="TRUE" b-listlabels="TRUE" b-listseparator="FALSE" i-listformat="0" b-makeform="FALSE" s-recordsource s-displaycolumns="Nøgle" s-criteria s-order s-sql="SELECT Nøgle FROM Resultater WHERE Session LIKE ::Session::" b-procedure="FALSE" clientside suggestedext="asp" s-defaultfields="Session=0" s-norecordsfound="Det virker ikke" i-maxrecords="0" i-groupsize="0" botid="0" u-dblib="_fpclass/fpdblib.inc" u-dbrgn1="_fpclass/fpdbrgn1.inc" u-dbrgn2="_fpclass/fpdbrgn2.inc" tag="BODY" preview="<table border=0 width="100%"><tr><td bgcolor="#FFFF00" align="left"><font color="#000000">Dette er begyndelsen af området med databaseresultater.</font></td></tr></table>" b-WasTableFormat="FALSE" startspan --><!--#include file="_fpclass/fpdblib.inc"--> <% if 0 then %> <SCRIPT Language="JavaScript"> document.write("<div style='background: yellow; color: black;'>Komponenten Databaseresultater på denne side kan ikke vise databaseindhold. Siden skal have et filnavn, der slutter med '.asp', og Webstedet skal findes på en server, der understøtter Active Server Pages.</div>"); </SCRIPT> <% end if %> <% fp_sQry="SELECT Nøgle FROM Resultater WHERE Session LIKE ::Session::" fp_sDefault="Session=0" fp_sNoRecords="Det virker ikke" fp_sDataConn="help_desk" fp_iMaxRecords=0 fp_iCommandType=1 fp_iPageSize=0 fp_fTableFormat=False fp_fMenuFormat=False fp_sMenuChoice="Nøgle" fp_sMenuValue="Nøgle" fp_iDisplayCols=1 fp_fCustomQuery=True BOTID=0 fp_iRegion=BOTID %> <!--#include file="_fpclass/fpdbrgn1.inc"--> <!--webbot bot="DatabaseRegionStart" endspan i-checksum="58258" -->
På bekræftelsessiden indsætter du blot følgende i din kildkode der hvor du vil ha' nummeret stående!
<%= session.sessionID %>
eller du kan lave en htm fil hvor du sætter ovenstående ind som det eneste. På bekræftelsessiden sætter du markøren hvor du vil ha' nummeret og vælger "indsæt" fil, og markerer den htm fil der indeholder den lille stump.
Hvis det stadig driller kan du prøve at smide kildekoden til bekræftelsessiden her.
Du er over det hele :-) mit problem ligger ikke i at få session id'et frem på bekræftelsen, det er at få database forespørgslen til at gripe fat i det. Det er som om den ikke kan finde feltet. I min oprettelses formular, har jeg lagt feltet skjult, da brugere ikke behøver kende til det. jeg vedhæfter kildekoden her, så hvis du kunne finde fejlen, ville det være perfekt. :-)
Hilsen Fnuggi
meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <% ' FP_ASP -- ASP genereret automatisk af en FrontPage-komponent. Undlad at redigere. FP_CharSet = "windows-1252" FP_CodePage = 1252 %> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <% ' FP_ASP -- ASP genereret automatisk af en FrontPage-komponent. Undlad at redigere. FP_LCID = 1030 %> <meta http-equiv="Content-Language" content="da"> <title>Helpdesk Bekræftelse</title> <base target="_blank"> <html>
fp_sQry="SELECT Nøgle FROM Resultater WHERE Session LIKE ::Session::"
fp_sQry="SELECT Nøgle FROM Resultater WHERE Session = ::Session:: AND tidsstempel = ::Tidsstempel::;"
I din database tabel (resultater) har du jo ikke et felt der hedder session. Det felt du vil referere til er jo nøgle feltet. Ergo skal de 2 linier rettes til:
fp_sQry="SELECT Nøgle FROM Resultater WHERE Nøgle LIKE ::Session::"
fp_sQry="SELECT Nøgle FROM Resultater WHERE Nøgle = ::Session:: AND tidsstempel = ::Tidsstempel::;"
Måske skulle du hente mere end bare nøglen fra databasen Prøv en af følgende fp_sQry="SELECT * FROM Resultater WHERE Nøgle = ::Session:: AND tidsstempel = ::Tidsstempel::;" fp_sQry="SELECT * FROM Resultater WHERE Nøgle = ::Session::"
Jeg gemmer sessions id'et i min database under feltet "Session", således at det ikke skulle betyde noget. Ved min forskning i dette problem, har jeg nemlig fundet ud af, at jeg ikke kan bruge Sessionsid'et til en unik nøgle, da nummer kan blive genbrugt ved genstart af IIS'en. Derfor vil jeg kun bruge sessions id'et sammen med tidstempel, til at finde den unikke nøgle som databasen giver mig....
Jeg har prøvet at lave en forespørgsel mere, på samme måde, men med alle felter vist, ikke kun Nøgle. Forespørgslen kommer ud med en error over at sessions feltet er tomt. Kan det være, at når der bliver trykket ok, så er databasen ikke blevet opdateret med informationerne og derfor kan den ikke finde informationerne.... kan det måske være det...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.