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> " & kundtyp & "</font><br>" &_
"<font color='#000000' size='2' face='verdana'><b>Mailadress:</b> " & mail & "</font><br>" &_
"<font color='#000000' size='2' face='verdana'><b>Lösenord:</b> " & 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 !!!