webForumDet fria alternativet

Problem med script 'som funkar ibland...'

9 svar · 317 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Hej

Håller på med en webshop.
Sidan där kunderna registreras funkade kanon, men sen en dag började allt strula.

Solbulle har hjälpt mig en hel del, men varken han elelr jag kan komma på vad det är.

Skriven man en mailadress, kollas databasen om den adressen redan finns. FINNS DEN INTE så skickas man till nästa sida, samt att ett mail med ett slumpgenererat lösenord skickas till kunden.

MEn det är HÄR som det börjar, ibland så får man messet att adressen redan finns och mailet skickas ÄNDÅ samt att allt reggas i db'n?!

Det här hänbder även om db'n är tom.

If Request.Querystring("step") = "1" Then

'Databaskopplingen 
db()

	'Kolla så att mailadressen inte redan finns i databasen, vi vill ju inte ha dubletter ;)
	strSQL = "SELECT Mail FROM tbl_kund WHERE Mail = '" & mail & "';"
	Set oRec2 = oConn.Execute(strSQL)

'If oRec2.recordcount = 0 Then
If oRec2.EOF then

'Loop för att kolla om det slumpade lösenordet redan finns, isåfall, skapa ett nytt.
bOk = False

While Not bOK
  strPassw = getRandomChars(10) 
   Set oRec = oConn.Execute("SELECT Passw FROM tbl_kund WHERE Passw = '" & strPassw & "'")
  If oRec.EOF Then
    bOk = True

	'Set oRec = NOTHING 'Nollställer objectet 'oRec' (Recordset) som jobbar mot databasen.
 
	'Lagra Mailadress & Lösenord +  samla alla övriga uppgifter variabler för lättare hantering.
	typ = Trim(Replace(Request.Form("typ"),"'", "''"))
	If typ = "foretag" Then kundtyp = "Företagskund" Else kundtyp = "Privatkund" End If
	namn = "default0"
	kontakt = "default1"
	po_nummer = "default2"
	adress = "default3"
	gatunummer = "default4"
	postnummer = "default5"
	postadress = "default6"
	tele = "default7"
	
	hemsida = "default8"
	initDate = date()
	

	  'Skapa Objektet 'Jmail', som ska skicka mailet med lösenordet
	  set msg = Server.CreateObject( "JMail.Message" )
	  
	  msg.Logging = true
	  msg.silent = true
	  
	  'Förbered Mailet som ska skickas till den nya kunden,
	  msg.From = "NoReply@MickeA.com" 'Adress som mailet ska skickas IFRÅN, detta kan vara vilken som helst.
	  msg.FromName = "Jonas Näslund AB" 'Namet på den som skickat mailet
	  msg.AddRecipient mail 'Adressen dit mailet ska skickas, alltså den mail man matat in i formuläret.
	  msg.Subject = "Ditt Lösenord Till Webshopen." 'Mailets Ämne

	  'Urformar Meddelande rutan:
	  msg.HTMLbody = "<font color='#000000' size='1'>_________________________________________________________</font><br><br>" &_
	  "<font color='#000000' size='2' face='verdana'><b>Hej</b></font><br>" &_
	  "<font color='#000000' size='2' face='verdana'>Här kommer dina uppgifter till Webshopen:</font><br><br>" &_
	  "<font color='#000000' size='2' face='verdana'><b>Kundtyp:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & kundtyp & "</font><br>" &_
	  "<font color='#000000' size='2' face='verdana'><b>Mailadress:</b>&nbsp;&nbsp;" & mail & "</font><br>" &_
	  "<font color='#000000' size='2' face='verdana'><b>Lösenord:</b>&nbsp;&nbsp;&nbsp;&nbsp;" & strPassw & "</font><br><br>" &_
	  "<font color='#000000' size='2' face='verdana'>Fortsätt Registreringen genom att gå tillbaka till sidan och fyll i uppgifterna. (Kopiera & Klista In)</font><br>" &_
	  "<font color='#000000' size='2' face='verdana'>Vi vill samtidigt passa på att hälsa dig varmt välkommen som kund hos oss.</font><br><br>" &_
	  "<font color='#000000' size='1'>_________________________________________________________</font><br>" &_
	  "<font color='#ff0000' size='1' face='verdana'><i>Detta är ett automatiskt utskick, mail kan <b>EJ</b> skickas till denna adress.</i></font><br><br>"

	  'Initerar IF-Satsen som ska skicka mailet:
	  If msg.send("smtp.mickea.com") Then 'Ställ in DIN EGEN 'server för utgående mail' (SMTP)
			Response.Write("<body class='totalt'><table>" &_
			"<tr><td colspan='2' style='text-align: left; vertical-align; top;'><font color='#000000'>Mailet Skickades Till '<i>"& mail & "</i>' !!!</font></td></tr><tr>" &_ 
			"<td style='text-align: left; vertical-align; top;'><a href='reg.asp?step=2&form=" & typ & "&addr=" & mail & "' target='main'><img src='pics/btns/nasta.gif' border='0' onclick=""javascript: document.location.href='totalt.asp';""></a></td>" &_ 
			"<td style='text-align: left; vertical-align; top;'><a href='reg.asp?step=del&t=" & mail & "' target='_self'><img src='pics/btns/avbryt.gif' border='0'></a></td>" &_ 
			"</tr></table>")

			'Set oRec = NOTHING 'Nollställer objektet 'oRec' som jobbar mot databasen.

			'Skapa SQLfrågan som ska mata in uppg. i databasen

			strSQL = "INSERT INTO tbl_kund (Kundtyp, Fnamn, Kontakt, PO_Nummer, Adress, Gatunummer, Postnummer, Postadress, Tele, Mail, Hemsida, initDate, Passw) VALUES ('" & kundtyp & "', '" & namn & "', '" & kontakt& "', '" & po_nummer & "', '" & adress & "', '" & gatunummer & "', '" & postnummer & "', '" & postadress & "', '" & tele & "', '" & mail & "', '" & hemsida & "', '" & initDate & "', '" & strPassw & "');"
	
			'Mata in uppgifter i db'n, sätt alla utom namn, mailadress och passw till "default"
			Set oRec = oConn.Execute(strSQL)

	  Else
			Response.Write("<body class='totalt'><table><tr><td style='text-align: left; vertical-align; top;'><font color='#000000'>" & msg.log & "</font></td></tr></table>")
	  End If

	'Set msg = NOTHING 'Nollställer objektet 'msg' som är mailkomponenten.
  
  End If
Wend
Else
	Response.Write("<body class='totalt'><table><tr><td style='text-align: left; vertical-align; top;'><font color='#000000'>Emailadress finns redan registrerad, välj en annan</font></td></tr><tr><td style='text-align: left; vertical-align; top;'><font color='#000000'><a href='javascript:history.go(-1);'><== Tillbaka</font></td></tr></table>")

End If

Det här är inte min originalversion av scriptet, Solbulle har modifierat det som han tycker att det ska vara, i.o.m att han kan rätt mkt mer än jag ;)

Så hjälp med det här behöver jag verkligen, Tack !!!

OveRRidEMedlem sedan feb. 200112 078 inlägg
#2

Det enda jag ser är att det saknas ett end if, men det lär väl inte påverka. Finns det mer kod som vi inte ser? För det där ser ganska säkert ut.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

Det är det som är det skumma, både Solbulle och jag tycker koden ser schysst ut, sen kommer det andra skumma, det funkar ibland.
Därför börjar jag fundera på om det är ngt fel på IIS hos mig !? Fast det låter o andra sidan lite långsökt !?

Här är iaf. HELA koden, det är ganksa mkt, ca 300 rader inkl. kommentarer (måste kommentera allt jag gör pga. han som beställt jobbet vill ha det så ;) )

Här skulle koden vara, men inlägget blev äver 18000 tecken, så:

Här kan ni se dokumentet istället...

Förretsen, var saknades det ett End If ?!

MickeA.comMedlem sedan feb. 20034 441 inlägg
#4

Är det verkligenn ingen som kan hjälpa mig med det här?!

KAn det vara IIS ?!

Behöver verkligen hjälp...

@ndersMedlem sedan juni 200032 969 inlägg
#5

MEn det är HÄR som det börjar, ibland så får man messet att adressen redan finns och mailet skickas ÄNDÅ samt att allt reggas i db'n?!

När händer detta? Jag tycker det luktar dubbelklickning på skickaknappen lång väg, eftersom det inte är möjligt med den koden att både mail skickas och den texten skrivs ut.

Se alltså till att man inte kan dubbelklicka på "registrera".

Mvh

MickeA.comMedlem sedan feb. 20034 441 inlägg
#6

ok, hur gör jag det?!

Du får gärna prova själv, http://MickeA.dynDNS.org/Webshop/Index.htm

Klicka på "Ny Kund" och se hur långt du kommer med registreringen.

@ndersMedlem sedan juni 200032 969 inlägg
#7

Jag kommer bara till en 404-sida när jag klickar på "nästa".

Ang. dubbelklicksskydd är det någonting som allehanda sökfunktioner kan hjälpa dig med.

Mvh

MickeA.comMedlem sedan feb. 20034 441 inlägg
#8

Men då... nu fixade jag så att sidan visades, det verkar ju funka :q

Skumt, SKumt, ni här får gärna prova ni med, prova med aamma mailadress flera ggr och se vad som händer.

Tack , ska söka på dubbelklickningsskydd ;)

MickeA.comMedlem sedan feb. 20034 441 inlägg
#9

Nu har ajg sökt på "dubbelklicksskydd", "dubbelklick", "skydd", "klickskydd" mm. men inte fått fram en enda tråd, kan jag kanske få ett "bra" sökord eller en länk?!

ANtar att det är javascript....

MickeA.comMedlem sedan feb. 20034 441 inlägg
#10

Nä, hittar inget dubbelklicksskydd.
Provade sidan igår, nu funakr den inte...Igen... Vad man än skriver i textrutan så står det att mailadressen redan är reggad, man kan lika gärna skriva 'fkndfksdfksdfsdf', ändå så 'är den redan registrerad...'
Det här suger verkligen, vet inte vad jag ska göra, antagligen blir det till att bygga om hela regkoden från steg 1, i.o.m att inte jag eller annan hittar ngt / ngra fel i koden.

ska göra ett sista försök och slänga upp det på mitt domän, så får jag testa't där.

260 ms totalt · 3 externa anrop · v20260731065814-full.cf67ef55
138 ms — hämta forumlista (db)
120 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)