timediaMedlem sedan maj 2001420 inlägg If Request.Form("meld") = "yes" Then
Set RecSet = Server.CreateObject("ADODB.Recordset")
recipientcheck = "SELECT * FROM email"
RecSet.Open recipientcheck, DatabaseConnection, adOpenStatic, adLockOptimistic
On Error Resume Next
RecSet.Find "email LIKE '"& mailadd &"'"
If RecSet.EOF Then
RecSet.AddNew
RecSet("email") = addemail
RecSet("date") = date()
RecSet("ip") = Request.ServerVariables("REMOTE_ADDR")
RecSet.Update
RecSet.Close
Set RecSet = Nothing
Response.Write "<center><p>(Du har nu lagts till som nyhetsbrevsprenumerant.)</p></center>"
Else
Response.Write "Tack för ditt svar."
End If
End If
Har ett tävlingsformulär där man samtidigt kan välja att prenumerera på ett nyhetsbrev. Mailet går iväg som det ska, men den vill inte lägga till epostadressen i db :q
@ndersMedlem sedan juni 200032 969 inlägg Till att börja med tar du bort On error resume next och ser om det blir något felmeddelande när du kör koden.
On error resume next bör bannlysas från all kod under utveckling.
timediaMedlem sedan maj 2001420 inlägg Ok (har bannlyst on error resume next nu) :r
Den skriver ut (Du har nu lagts till som nyhetsbrevsprenumerant.) alltså utan error, men det händer ändå inget i db.
@ndersMedlem sedan juni 200032 969 inlägg Dessutom:
* När du lägger till data i en tabell, rekommenderar jag att du använder rena SQL-frågor, dvs INSERT.
* Varför använder du LIKE i din SQL-fråga när du gör exakt jämförelse (dvs utan wildcards)? Använd =.
* Date är inget bra namn på en kolumn, ordet är reserverat. Klamra (enligt nedan), eller helst av allt; byt namn på fältet.
Jag hade skrivit koden så här:
If Request.Form("meld") = "yes" Then
recipientcheck = "SELECT * FROM email where email = '"& Replace(mailadd, "'", "''") &"'"
set RecSet = DatabaseConnection.Execute(recipientcheck)
If RecSet.EOF Then
strSQL = "INSERT INTO email (email, [date], ip) VALUES ('" & replace(mailadd, "'", "''") & "', date(), '" & Request.ServerVariables("REMOTE_ADDR") & "')"
DatabaseConnection.Execute strSQL,,128
Response.Write "<center><p>(Du har nu lagts till som nyhetsbrevsprenumerant.)</p></center>"
Else
Response.Write "Tack för ditt svar."
End If
End If
Edit: hoppsan, här händer det grejer medans man skriver. ;)
Mvh
timediaMedlem sedan maj 2001420 inlägg Och självklart funkar det nu :)
...men du gör ju fel ibland du också ser jag -hehe :e
Replace(mailadd, "'", "'')
@ndersMedlem sedan juni 200032 969 inlägg
timedia skrev:
...men du gör ju fel ibland du också ser jag -hehe :e
Oh ja. Du skulle bara veta. :)
Jag redigerar dock.
Mvh