21. september 2001 - 09:45Der er
13 kommentarer og 1 løsning
kontroller om en email adresse allerede findes i databasen
Jeg har en konkurrence på min side. Når man deltager i konkurrencen tilmeldes man automatisk nyhedsbrev. Man skal svare på 2 spørgsmål, indtaste sit navn & Email.
Databasen er bygget op med 5 koloner: - Email - Status - DeltagerNavn - Spørgsmål1 - Spørgsmål2
Jeg mangler et script der kan gå ind og tjekke om email adressen ligger i databasen i forvejen og hvis den gør det skal den stadig indsætte emailen men indsæte \'OFF\' i status kolonen.
Min save side ser pt sådan ud :
<!-- #include file=\"ADOVBS.inc\" --> <%
Function MyLookNiceString(MyVariable) If IsNull(MyVariable) Or (Len(CStr(MyVariable)) = 0) Then MyLookNiceString = \" \" Else MyLookNiceString = MyVariable End If End FunctionDim rsSave
\'Creating the Recordset Object Set rsSave = Server.CreateObject(\"ADODB.RecordSet\")
\'Creating a DSN-Less connection to your Database strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"vare.mdb\")
Prøv at se om dette virker (er ikke testet): -------------------------------------------- <!-- #include file=\"ADOVBS.inc\" --> <%
Function MyLookNiceString(MyVariable) If IsNull(MyVariable) Or (Len(CStr(MyVariable)) = 0) Then MyLookNiceString = \" \" Else MyLookNiceString = MyVariable End If End FunctionDim rsSave
\' Hent fra databasen afhængig af værdien id fra URL strSQL = \"Select count(*) as antal From konkurrence Where deltagernavn = \'\" & Request.form(\"deltagernavn\") & \"\'\" strSQL = strSQL & \" and email = \'\" & Request.form(\"email\") & \"\'\" Set rs = Conn.Execute(strSQL)
if rs(\"antal\") < 1 then \' Hvis den ikke findes forvejen strSQL = \"insert into konkurrence (Email,Status,DeltagerNavn,Spørgsmål1,Spørgsmål2) values(\'\" strSQL = srtSQL & request.form(\"email\") & \"\',\" strSQL = srtSQL & \"\'ON\',\" strSQL = srtSQL & \"\'\" & request.form(\"deltagernavn\") & \"\',\" strSQL = srtSQL & \"\'\" & request.form(\"spørgsmål1\") & \"\',\" strSQL = srtSQL & \"\'\" & request.form(\"spørgsmål2\") & \"\')\" Conn.Execute(strSQL) else \' Hvis den findes i forvejen strSQL = \"insert into konkurrence (Email,Status,DeltagerNavn,Spørgsmål1,Spørgsmål2) values(\'\" strSQL = srtSQL & request.form(\"email\") & \"\',\" strSQL = srtSQL & \"\'OFF\',\" strSQL = srtSQL & \"\'\" & request.form(\"deltagernavn\") & \"\',\" strSQL = srtSQL & \"\'\" & request.form(\"spørgsmål1\") & \"\',\" strSQL = srtSQL & \"\'\" & request.form(\"spørgsmål2\") & \"\')\" Conn.Execute(strSQL) end if
DataConn.Close Set dataconn = nothing set rs = nothing
Function MyLookNiceString(MyVariable) If IsNull(MyVariable) Or (Len(CStr(MyVariable)) = 0) Then MyLookNiceString = \" \" Else MyLookNiceString = MyVariable End If End FunctionDim rsSave
Incl function (er ikke testet): -------------------------------------------- <!-- #include file=\"ADOVBS.inc\" --> <%
Function MyLookNiceString(MyVariable) If IsNull(MyVariable) Or (Len(CStr(MyVariable)) = 0) Then MyLookNiceString = \" \" Else MyLookNiceString = MyVariable End If End FunctionDim rsSave
\' Hent fra databasen afhængig af værdien id fra URL strSQL = \"Select count(*) as antal From konkurrence\" strSQL = strSQL & \" Where deltagernavn = \'\" & MyLookNiceString(Request.form(\"deltagernavn\")) & \"\'\" strSQL = strSQL & \" and email = \'\" & MyLookNiceString(Request.form(\"email\")) & \"\'\" Set rs = Conn.Execute(strSQL)
if rs(\"antal\") < 1 then \' Hvis den ikke findes forvejen strSQL = \"insert into konkurrence (Email,Status,DeltagerNavn,Spørgsmål1,Spørgsmål2) values(\'\" strSQL = srtSQL & MyLookNiceString(request.form(\"email\")) & \"\',\" strSQL = srtSQL & \"\'ON\',\" strSQL = srtSQL & \"\'\" & MyLookNiceString(request.form(\"deltagernavn\")) & \"\',\" strSQL = srtSQL & \"\'\" & MyLookNiceString(request.form(\"spørgsmål1\")) & \"\',\" strSQL = srtSQL & \"\'\" & MyLookNiceString(request.form(\"spørgsmål2\")) & \"\')\" Conn.Execute(strSQL) else \' Hvis den findes i forvejen strSQL = \"insert into konkurrence (Email,Status,DeltagerNavn,Spørgsmål1,Spørgsmål2) values(\'\" strSQL = srtSQL & request.form(\"email\") & \"\',\" strSQL = srtSQL & \"\'OFF\',\" strSQL = srtSQL & \"\'\" & MyLookNiceString(request.form(\"deltagernavn\")) & \"\',\" strSQL = srtSQL & \"\'\" & MyLookNiceString(request.form(\"spørgsmål1\")) & \"\',\" strSQL = srtSQL & \"\'\" & MyLookNiceString(request.form(\"spørgsmål2\")) & \"\')\" Conn.Execute(strSQL) end if
DataConn.Close Set dataconn = nothing set rs = nothing
I newsletter tabellen, skal du lige fjerne <standardværdi=Til> på feltet <status>. Så har jeg rettet nogle af mine egne fejl i ovenstående, men nu skulle det virke. Du skal sørge for, at der er skrive rettigheder til tabellen i den folder du lægger vare.mdb i. Hvis du lægger den et andet sted end dine asp filer, så skal du huske og rette stien i nedenstående.
\' Hent fra databasen afhængig af værdien id fra URL strSQL = \"Select count(*) as antal From Newsletter Where DeltagerNavn = \'\" & Request.form(\"DeltagerNavn\") & \"\'\" strSQL = strSQL & \" and Email = \'\" & Request.form(\"Email\") & \"\'\" Set rs = Conn.Execute(strSQL)
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.