23. februar 2003 - 20:38Der er
10 kommentarer og 1 løsning
Slet en record fra en db
Hej
Jeg er ved at lave en mailingliste hvor jeg bruger oplysninger fra en db,jeg har fået lavet så folk kan tilmelde sig. Nu ønsker jeg at lave det så folk ved at skrive sin email i en form og sende den kan slette sig fra listen, men jeg har ingen ide om hvordan jeg gør.(er lige begyndt med asp) Er der nogle der kan hjælpe mig??
Min tilmeld ser ud som så <head> <meta http-equiv="Content-Language" content="da"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Tilmeldning til Hjertelisten</title> </head>
Den fil du har vist er en form hvor man kan indtaste sin email adresse. For at gemme i databasen skal være en connection og man skal hendte data fra formen.
Jeg ved ikke hvilken fil som gemmer normalt kan man se det i form tagen i action feltet. Men der står --WEBBOT-SELF--" og så er der en function som loader filen nortbot.htm:
Ja som før sagt så kender jeg li nul til asp men den fil som er der virker, der kommer en nu record i db'en hver gang jeg prøver.
Det første som du skrev virker det kun i en sql database?? og hvis nej hvordan for jeg det til at virke, jeg er villig til at give flere point hvis du kan hjælpe mig
<html> <head></head> <body> <% 'Tjek om formen er send til siden. if Request.Servervariables("REQUEST_METHOD") = "POST" then Set Conn = Server.CreateObject("ADODB.Connection")
'I linien med ConnStr = ..... skal du rette ' Server.Mappath("db1.mdb") --> til at henvise til din database ' Hvis ASP fil og Database fil ligge i samme folder så ret db1.mbd til nanvet på din database fil. ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db1.mdb")
Conn.Open ConnStr email = Replace(Request.form("email"),"'","") SQL = "DELETE FORM mailinglistetabel WHERE email = '" & email & "'" Conn.Execute(SQL) Conn.Close Response.write "Du er nu slettet fra mail listen" end if %> <p><b><font size="2" face="Arial">Afmelding til Hjerteliste</font></b></p> <p><font face="Arial" size="2">Ved at udfylde og sende denne side vil du/I blive afmeldt Hjertelisten</font></p> <p> </p> <form method="POST" action=""> <p>Email. <input type="text" name="Email" size="20"></p> <p> </p> <p><input type="submit" value="Send" name="B1"><input type="reset" value="Nulstil" name="B2"></p> </form> </body> </html>
Det virker ikke jeg, når jeg har indtastet en email adr og trykker send får jeg en fejl der siger at siden ikke kan vises. Alt kode mellem <% og %> er rød er det for di der er fejl i det eller?? Min database hedder hjertelisten.mdb men i den db er der 2 lister. en der hedder liste og en der hedder tildmeldte hvordan er jeg sikker på at slette i den rigtige??
Din side skal hedde .asp for ASP koden kan udføres.
Har du flere mail lister, det kunne lyde sådan når du har en tabel som hedder liste. Den tabel du skal slette fra må helt klart være tildmeldte. Hvis du har flere mail lister så er der sikkert en kolonne i tildmeldte som hedder noget med listeID/liste som indeholder et tal for den maillisten man er tilmeldt så skal det også ind i SQL'en eks kunne være sådan her:
SQL = "DELETE FORM tildmeldte WHERE liste = 1 AND email = '" & email & "'"
Hvis du kun har en mail liste er det ikke nødvendigt at havde det med i SQLen som sletter med det vil være mest korrekt hvis du engang vil udvide med flere mail lister.
Jeg kan ikke få det til at virke men du skal have dine point aligevel, Takfor Hjælpen
Synes godt om
Ny brugerNybegynder
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.