webForumDet fria alternativet

Fel på ifsats

ASP

0 svar · 185 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej

En webshop jag håller på med strular. I ifsatsen nedan så körs BÅDE if & else, har man redan reggat sig, om ens emailadress redan finns, så funkar det, då säger den till om det.

Men om den inte finns, så får man samma meddelande "Emailadress du angav finns redan". Trots det skickas ett mail till adressen, med ett slumpat lösenord osv.

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

'Samlar mailadressen i en variabel, eftersom den kommer användas som 'Global' senare.
mail = Trim(Replace(Request.Form("email"),"'", "''"))

'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 Not oRec2.EOF then
	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>")
Else
'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.bredband.net") 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

End If

Tycker det hela är mkt konstigt, men mkt möjligt kan jag ngnstans gjort fel, men var?

Tack !

325 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
187 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
190 ms — ändringar (db)