Avatar billede apo Praktikant
11. april 2004 - 02:47 Der er 11 kommentarer og
2 løsninger

Slette modtager via nyhedsbrev?

Hej,

Jeg er i gang med at lave et nyhedsbrev, hvor den enkelte modtager skal kunne slette sit navn og sin emailadresse, via et link i nyhedsbrevet. Jeg arbejder med følgende kode, men er ikke sikker på om det virker (har ikke lige haft mulighed for at teste det):


  If Not Request.QueryString("email") = "" AND Request.QueryString("mode") = "slet" Then

      Set Conn = Server.CreateObject("ADODB.Connection")
      Conn.Open "DBQ="&(Server.MapPath(".")) &"mailing.mdb; DefaultDir=DBQ="&(Server.MapPath(".")) &"\;Driver={Microsoft Access Driver (*.mdb)};"

      SQL = "DELETE FROM mailingliste where email ="& request("email")
      Conn.Execute (SQL)
      Conn.Close

  End If

Er der nogen der kan fortælle mig om ovenstående kode vil virke efter hensigten, eller har et forslag til hvordan jeg laver funktionen optimalt?

Apo
Avatar billede boris Mester
11. april 2004 - 07:52 #1
SQL = "DELETE FROM mailingliste WHERE email = """ &_
Request.QueryString("email") & """"
Avatar billede ellebaek Nybegynder
11. april 2004 - 10:57 #2
Hvis din email er af typen tekst, så skal der ' omkring din request.
Din sql skal se ud som det her...

SQL = "DELETE FROM mailingliste where email ='"& request.querystring("email") & "'"
Avatar billede ellebaek Nybegynder
11. april 2004 - 10:59 #3
Men ellers synes jeg det ser godt ud dit script..
Avatar billede boris Mester
11. april 2004 - 11:03 #4
Og "" virker på samme måde som '
Avatar billede apo Praktikant
11. april 2004 - 13:34 #5
Takker for tilbagemeldingerne!

Jeg glemte lige at nævne (hvis nogen skulle være i tvivl), at nyhedsbrevet udsendes som "text/html", og at databasen (*mdb) indeholder "id" (m. auto), "navn" og "email".

Vil denne linje...:

SQL = "DELETE FROM mailingliste WHERE email ='"& Request.QueryString("email") & "'"

... slette alle 3 værdier (id, navn, email)? - Det skulle gerne være formålet.

Apo
Avatar billede boris Mester
11. april 2004 - 13:55 #6
Når du bruger DELETE FROM sletter du hele posten/linien/rækken.
Hvis du kun ville slette f.eks. navn bruger du UPDATE (Du kan faktisk ikke slette et af felterne, bare sætte det til ingenting)
Avatar billede boris Mester
11. april 2004 - 13:56 #7
Men et meget godt råd: TEST hver gang du laver en lille ændring og se hvad der sker.
Avatar billede apo Praktikant
11. april 2004 - 14:11 #8
boris >> Jeg var blot lidt usikker på om den slettede hele linjen, men nu ved jeg det.

Jeg plejer altid at teste mine koder efter hver ændring, men i det her tilfælde har jeg ikke lige haft muligheden - Der går lige lidt tid endnu, før jeg kan teste nyhedssystemet :-/

Jeg takker for hjælpen!

boris og ellebaek, læg et svar så I kan få points :-)

Apo
Avatar billede boris Mester
11. april 2004 - 14:14 #9
Held og lykke med systemet
Avatar billede apo Praktikant
16. april 2004 - 18:29 #10
Ellebaek >> Læg et svar så du og Boris kan få jeres points :-)

Apo
Avatar billede ellebaek Nybegynder
16. april 2004 - 21:40 #11
et svar ;-)
Avatar billede apo Praktikant
16. april 2004 - 22:25 #12
Takker for hjælpen... og svarene - Endelig ;-)

// Lukker

Apo
Avatar billede ellebaek Nybegynder
16. april 2004 - 22:27 #13
Selv tak...

Jeg er ikke så hurtig jo ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester