13. august 2003 - 16:10Der er
27 kommentarer og 1 løsning
Browser gemmer gamle brugerdata og "renser" ikke for disse data
Hej
Jeg har en database, som kan oprette brugere og annoncer. Der opstår et problem, hvis der fra samme computer oprettes 2 brugere, da bruger nr. 2´s annonce på nogle punkter får samme oplysninger som bruger nr. 1. Jeg har fået oplyst, men uden problemforklaring, at fejlen ligger i, at browseren ikke "renser" alle oplysninger, så nogle oplysninger fra bruger 1 "gemmes" og bruges ved oprettelse af bruger nr. 2. Jeg har forsøgt at lukke browseren og derefter oprette i en ny browser, men problemet løses ikke.
Hvorledes kan sørge for, at en ny bruger altid starter ud med en "ren" browser?
Det, der sker må være en konsekvens af et asp-program, som ikke er lavet helt i orden. Det er svært at sige, hvad du kan gøre, uden at du fortæller noget mere om din situation. ASP-systemet skal selvfølgelig være lavet, så når man er færdig med 1 bruger kan den næste ikke blandes sammen med den første.
Tak for dit svar. Her lidt nærmere. Selve databasen er lavet i acces. Den indeholder 3 tabeller, hvor den første er oprettelsen af bruger. Tabel 2 opretter en sommerhusannonce, som indeholder forskellige oplysninger. Når der i tabel 2 oprettes en sommerhusannonce, så opdateres tabel 3 automatisk på den måde, at den opretter 53 felter til en udlejningskalender. Dette går også helt fint - lige indtil, at der fra samme computer oprettes en ny annonce i tabel 2, hvorefter tabel 3 "laver" 53 felter, som er fuldstændig magen til den forrige annonce. Når jeg så sletter de sidste 53 oprettede felter og derefter manuelt laver nye 53 felter til den sidste annonce, så sker der det, at næste gang et hus oprettes i tabel 2, så sker der ikke en automatisk oprettelse af nye 53 felter i tabel 3. Jeg håber, at dette kan give et bedre indblik i situationen.
Jo, nu har jeg da en fornemmelse af, hvad det er, du har med at gøre.
Men jeg kan desværre kun sige, at der må være noget galt med det asp-programmel, der styrer skrivning til de 3 tabeller. At finde denne fejl kræver, at man ser selve asp-koden.
Når du siger, at du sletter de forkerte felter, og så selv laver 53 nye, vil det så sige, at du sidder og skriver i selve access-databasen manuelt? Hvis det er sådan, så kan jeg godt forstå, du hurtigst muligt vil have dette problem fjernet.
Tak for dit hurtige svar. Ja, jeg sidder faktisk selv og skriver i databasen, så det er lidt træls! Jeg har en side, som hedder hus2.asp, som må sende oplysningerne til databasen, når der oprettes en ny annonce. Er det så måske på den side, at fejlen ligger? Hvis du tror, at du kan løse problemet ved at se kildekoden, kan jeg godt lægge den ud og vil også gerne give nogle flere point.
id = Session("hid") beskriv = Request.form("beskriv") Ejer = session ("Navn") Over = Request.form("over") opf = Request.form("opf") Grund = Request.form("Grund") Hs = Request.form("Hs") VR = Request.form("VR") Indk = Request.form("Indk") Strand = Request.form("Strand") Parabol = Request.form("Parabol") Barnestol = Request.form("Barnestol") Bruser = Request.form("Bruser") Brovn = Request.form("Brovn") Carport = Request.form("Carport") Stereo = Request.form("Stereo") Kedel = Request.form("Kedel") Sauna = Request.form("Sauna") El = Request.form("El") Cykler= Request.form("Cykler") telefon = Request.form("telefon") Ap = Request.form("Ap") emh = Request.form("emh") Sol = Request.form("Sol") husdyr = Request.form("husdyr") Grill = Request.form("Grill") tv = Request.form("tv") Amt = Request.form("Amt") fryser = Request.form("fryser") spa = Request.form("spa") pool = Request.form("pool") Have = Request.form("Have") Video = Request.form("Video") Kaffe = Request.form("Kaffe") stsuger = Request.form("stsuger") Terrasse = Request.form("Terrasse") Komfur = Request.form("Komfur") Tumbler = Request.form("Tumbler") kl = Request.form("kl") Vaske = Request.form("Vaske") Micro = Request.form("Micro") Opvask = Request.form("Opvask") Ann = Request.form("Ann") tbeskriv = Request.form("tbeskriv") tann = Request.form("tann") Hp = Request.form("hp") beskriv = Request.form("beskriv") if not isnumeric(Ap) Then
Response.Redirect "fejlmelding.asp" End if
amt = Request.form("Amt") if amt = "Nordjylland" Then amt2 = "Nord" End if if amt = "Viborg" Then amt2 = "Vib" End if if amt = "Aarhus" Then amt2 = "aar" End if if amt = "Ringkøbing" Then amt2 = "Ring" End if if amt = "Ribe" Then amt2 = "Ribe" End if if amt = "Vejle" Then amt2 = "Vejle" End if if amt = "Sønderjylland" Then amt2 = "Sn" End if if amt = "Vestsjælland" Then amt2 = "Vest" End if if amt = "Frederiksborg" Then amt2 = "Fre" End if if amt = "Roskilde" Then amt2 = "Ros" End if if amt = "Storstrøms" Then amt2 = "Stor" End if if amt = "Bornholm" Then amt2 = "Born" End if if amt = "København" Then amt2 = "kn" End if if amt = "Fyn" Then amt2 = "Fyn" End if
Denne kode, vil sende data til databsen, hver gang siden hus2.asp kaldes. Hvis den gør det flere gange, så er det fordi siden bliver aktiveret flere gange. Den skriver kun en gang. Prøv at vise den kode, der aktiverer hus2.asp
Hus2.asp indeholder vle mere kode. Hvor danner du conn henne?(det objekt, der kannhåndtere databasen)
hus2.asp indeholder faktisk ikke mere kode. Problemet er, at jeg ikke selv har lavet databasen og aner dermed intet om, hvordan koderne er dannet. Jeg prøver nu bare at få løst nogle af de problemer, som databasen indeholder. Hus2 (er vist i stedet husind2.asp) aktiveres af husind.asp, som indeholder meget html og meget lidt asp. Måske kan dette fra siden bruges: <% Session("f") = "1"
SQL = "Select overskrift, Op, Antalp, Grundareal, Husets, vr, afi, Ass, foto, beskr, Parabol, Stereo, Telefon, tv, video, Barnestol, kedel, emh, fryser, kaffe, Komfur, kl, Micro, Opvask, Bruser, Sauna, Sol, Spa, Brovn, El, husdyr, pool, stsuger, Tumbler, Vaske, Carport, Cykler, Grill, Have, Terrasse from hus" Set RS = conn.execute(SQL) %>
<form method="POST" action="husind2.asp">
derudover en masse små sætninger med indhold af de indtastede data. Er dette nok?
hus2.asp, er altså i virkeligheden husind2.asp? Det du viste her til sidst var noget sql, der vil hente data fra databasen. Er det sådan, at disse data så vises på siden husind.asp. Og det er de data der så sendes til siden husind2.asp.
Prøv at fortælle navnene på de forskellige asp-sider, og fortæl, den rækkefølge hvor de aktiveres af brugeren.
ja, jeg havde glemt, at den hed husind2.asp og ikke hus2. Brugeren starter med at oprette sig som bruger på opretsombruger.asp. Dernæst vises en infoside, info.asp, hvorefter der kan klikkes videre til husind.asp, som indeholder en tom skabelon, som brugeren herefter udfylder og "sender", husind2.asp. Når der trykkes på send, så får brugeren en oversigt, hvor huset står registreret - huset bliver oprettet ved klik på send. Hvis det kunne hjælpe, så kan du se det hele på www.dansksommerhusudlejning.dk. Endnu engang tak for hjælpen!
Nå jeg blev alligevel ved lidt længere. Har husind2.asp ikke en html-del? Det der måske kan forårsage problemerne kan være at brugeren ved næste indtastning ikke får en frisk helt tom side, men en side, der er gemt i brugeren cache. Det er måske det du antyder i dit spørgsmål. Men det er altså noget der sker ude hos den person, der bruger systemet. Har du selv prøvet at sidde ved en maskine og indtaste oplyninger, og så næste gang set nogle af oplysnoimngerne fra det gamle hus påforhånd sad i indlæsningsfelterne?
Når du ovenfor taler om 3 tabeller, så mente du måske rækken af indtastningsfelter i browseren? Jeg troede du mente tabeller i databasen. Sådan kan man tit tale forbi hinanden.
Prøv at starte alle asp-siderne således: Response.expires=0
Denne ordre skal altså skrives ind øverst i alle asp-siderne lige efter Option Explicit, hvis en sådan ordre findes.
Super. husind2.asp indholder faktisk ingen html.koder! Når jeg selv sidder og vil oprette flere huse, så er opretsombruger.asp allerede forudfyldt i navn med forrige navn - siden er derfor ikke helt "tom". Det skal dog siges, at problemet stadig opstår, selvom jeg renser min browser og starter i en ny browser, hvor navn nu ikke længere er forudfyldt.
De 3 omtalte tabeller er faktisk tabeller i databasen, en bruger, en til huset og 1 til ugerne. Jeg vil prøve at starte alle sider med dit forslag.
Jeg har lige læst artiklen og det tyder på, at det lige er det, som bevirker fejlen. Jeg har nu lagt koden ind på alle sider og umiddelbart opretter den nu igen uden problemer (gjorde det nu umiddelbart også inden indsættelsen af koden). Jeg vil nu afvente og se, om koderne ikke har løst problemet. Du skal have rigtig mange tak for hjælpen - det har virkelig været super!
Indtil videre går det helt fint. Her i eftermiddags var der en person, som tilmeldte sit sommerhus og hele processen gik rigtig godt. Lad os håbe, at det fortsætter. Tak for din "opfølgning".
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.