webForumDet fria alternativet

Skapar ibland 2 poster i DB

ASP

32 svar · 653 visningar · startad av Alamartimo · sida 2 av 2

Frågan, av Alamartimo

Vet inte var jag ska börja men förklarar scriptet lite snabbt. Vill inte posta koden här då den är på nästan 600 rader :r I alla fall så fyller användaren i ett formulär med olika värden på sida1. Sida2 använder informationen där jag kontrollerar den mot info i en tabell (RaceStats) . Här sker en del uträkningar och med den infon så körs en hel hög med If Elseif satsatser som kollar mot Summan

Läs frågan i sin helhet →
Medlem sedan juli 20003 825 inlägg
#21

@nders!

I'm very impressed! Att du bara orkar engagera dig så pass mycket i denna tråden hedrar dig! Verkligen!

Medlem sedan okt. 2004129 inlägg
#22

If-satserna sätter du alltså för sig själva, och droppar alla elseif.

Men måste jag inte avsluta allt med 40 End If då också?
Hade så från början innan jag gjorde om allt till ElseIf.

Medlem sedan juni 200032 967 inlägg
#23

Nej, om du har if-satsen och det som ska göras på samma rad ska du inte ha end if. (Du kan då bara ha ett statement som utförs av ifsatsen.)

Medlem sedan okt. 2004129 inlägg
#24

Ahh okej.. :)

Det funkar ju bra.

Helt otroligt mer än 300 rader är väck tack vare dig @nders. :birp

Medlem sedan juni 200032 967 inlägg
#25

Jag skulle inte bli förvånad om ursprungsproblemet försvunnit också, men du får fortsätta testningen. :)

Mvh

Medlem sedan okt. 2004129 inlägg
#26

Än så länge har det fungerat utmärkt @nders

Man tack och bugar. :)

Har lärt mig lite nytt på köpet också och det är bra.

Medlem sedan juni 200032 967 inlägg
#27

Så trevligt att du har lärt dig saker! Det var meningen! :)

Lycka till med resten!

mvh

Medlem sedan okt. 2004129 inlägg
#28

Ja jag förstod det och tog det som det själv också.

Men i alla fall så skapar den 2 poster ibland på uträkningen fortfarande..

Man kan inte köra Limit 1 på Insert som när man hämtar med Select?

Medlem sedan juni 200032 967 inlägg
#29

När du gör insert så sätts det bara in en post. Annars måste det vara så att koden körs två gånger. Jag kan inte komma åt din fil med koden från jobbet, så jag kan just nu inte se framför mig hur koden ser ut.

Kan du lista ut i vilka fall det blir två inserts?

Kan det vara så att det av någon anledning blir en insert när du kommer till sidan efter att du kört en response.redirect?

I så fall kan du ju prova att lägga till en querystring i dina redirects:

response.redirect "dopractice.asp?insert=false"

Och sedan när du gör din insert, gör den endast om inte sidan har querystringen insert=false.

Eller det kanske inte är samma sida du redirectar till?

Medlem sedan okt. 2004129 inlägg
#30

Det är 2 sidor som jag använder.
practice.asp (visar laptime och användarformulär) och dopractice.asp (slumpar laptime)

practice.asp har ett formulär där jag fyller i lite data (tal)

De används sen i uträkningen i dopractice.asp
Vad jag fyller i formulärt påverkar mellan vilka tal (arrTime(i)) som slumpningen sker.

Det är helt slumpmässigt som det blir 2 poster.
Jag kan låta formulären vara som de är och bara trycka på kör och vips så kommer där 2 poster ibland.

Men det kommer inte lika ofta som tidigare.

Kan det ha med Session("ID") att göra.
Har ju en del såna som håller reda på info från olika tabeller för att jag ska få fatt i rätt värden.

Medlem sedan juni 200032 967 inlägg
#31

Kan du lägga upp båda dessa filer, som de ser ut nu?

(Lägg gärna upp de till din filarea på webForum, så kommer jag åt dem även när jag är på jobbet.)

Medlem sedan okt. 2004129 inlägg
#32

Ohh visste inte att man hade en filarea här :)

Har laddat upp dem nu.

practice.asp

dopractice.asp

Jag kollar vidare här jag med ;)

Medlem sedan okt. 2004129 inlägg
#33

Jag tror jag har hittat felet :)

Och det låg inte i dopractice.asp som gör uträkningen och insert utan i formulärsidan practice.asp

Det är javascriptet där som spökar. Tog bort hela den biten och nu får jag inte fel längre.

<script language="JavaScript"><!--
function check(fil) {
if ( document.dopractice.fwing.value == '')
{ 
        alert("No Value given for Front Wing");
        document.dopractice.fwing.focus();
		return false;
    }

	if (document.dopractice.rwing.value == '') {
        alert("No Value given for Rear Wing");
        document.dopractice.rwing.focus();
		return false;
    }

	if (document.dopractice.fwing.value > '50') {
        alert("Value for Front Wing can't be more then 50");
        document.dopractice.fwing.focus();
		return false;
    }

	if (document.dopractice.rwing.value > '50') {
        alert("Value for Rear Wing can't be more then 50");
        document.dopractice.rwing.focus();
		return false;
    }

	if (document.dopractice.fbrake.value == '') {
        alert("No Value given for Front Brake");
        document.dopractice.fbrake.focus();
		return false;
    }

	if (document.dopractice.rbrake.value == '') {
        alert("No Value given for Rear Brake");
        document.dopractice.rbrake.focus();
		return false;
    }
	if (parseInt(document.dopractice.fbrake.value) + parseInt(document.dopractice.rbrake.value) != '100') {
        alert("FBrake plus RBrake must be 100!");
        document.dopractice.fbrake.focus();
        return false;
	}
 else
{
		document.dopractice.submit();
		return true;}
}
// -->
</script>

Så jag får försöka göra en koll på vad som matas in i formuläret med vbscript istället.

257 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)