30. maj 2002 - 21:06
Der er
10 kommentarer og 1 løsning
Send kun til en mail!
Hejsa ... Hvordan laver jeg nederstående kode om så man først kommer til en side hvor man skal angive Brugernavn og mail og så sender den en mail kun til en med ens oplysninger? Ved kørelse af følgende kode sendes en mail til alle med deres egne koder! <% Set Conn = Server.CreateObject("ADODB.Connection") Set rsRecordSet = Server.CreateObject("ADODB.Recordset") Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" SQL = "SELECT Grupper.Gruppenavn, Bruger.Brugernavn, Bruger.Email, Bruger.Brugerkode, Bruger.Initial, Bruger.Fornavn, Bruger.Efternavn FROM Bruger INNER JOIN Grupper ON Bruger.Gruppenavn = Grupper.GruppeId" rsRecordSet.Open SQL, Conn do while not rsRecordSet.EOF set JMail = server.createobject("JMail.SMTPMail") JMail.sender = "Thomas@just2funny.dk" JMail.SenderName = "Webmaster" JMail.subject = "Login oplysninger til Havneparken 1 Intranet side" JMail.AddRecipient rsRecordSet("Email") JMail.ContentType = "text/plain" JMail.body = "Kære "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&" "&VbCrLf&""&VbCrLf&"Dit brugernavn er: "&rsRecordSet("Brugernavn")&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppenavn: "&rsRecordSet("Gruppenavn")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&" JMail.priority = 1 JMail.maildomain = "mail.just2funny.dk" JMail.silent = true JMail.execute JMail.close() rsRecordSet.movenext loop rsRecordSet.Close Conn.Close Set rsRecordSet = Nothing Set Conn = Nothing %> Der er nu sendt en mail til alle brugerne i databasen!
Annonceindlæg fra Cognizant
AI er ikke problemet. Eksekvering er.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Du skal have en WHERE clause på, eks. WHERE UserID = X
Som dit SQL statement er nu, vil den tage alle brugere i databasen Hvis du eks. tilføjer " WHERE Bruger.Brugerkode = '" & request.form("Brugerkode") & "'" for du kun den pågældende bruger. Ovenstående antager at brugerkode er tekst, hvis ikke, fjern ' (pinger). Og så kan du iøvrigt fjerne dit loop, det giver ingen mening hvis du kun skal have fat i en bruger. Med mindre du vil genanvende koden i andre sammenhænge :-)
Kan du hjælpe med at lave siden der spørge om brugernavn og mail og så rette overstående kode?
Ja, hvilke ting vil du spørge om ?
Jeg har ændret mening lidt ... siden som kommer op skal bare sprøge om mail adressen og hvis den ligger i databasen skal sen sende en mail med de tilhørende oplysninger som ligger i databasen.
"Spørgesiden" <FORM ACTION="dinside.asp" METHOD="POST"> <INPUT TYPE="TEXT" NAME="Email"> <INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Submit"> </FORM> Mailsiden i ASP: <% If Request.Form("Email") = "" Then response.write "Der skal udfyldes en email adresse" response.end End If Set Conn = Server.CreateObject("ADODB.Connection") Set rsRecordSet = Server.CreateObject("ADODB.Recordset") Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" SQL = "SELECT Grupper.Gruppenavn, Bruger.Brugernavn, Bruger.Email, Bruger.Brugerkode, Bruger.Initial, Bruger.Fornavn, Bruger.Efternavn FROM Bruger INNER JOIN Grupper ON Bruger.Gruppenavn = Grupper.GruppeId" SQL = SQL & " WHERE Bruger.Email ='" & Trim(Request.Form("Email")) & "'" rsRecordSet.Open SQL, Conn If not rsRecordSet.EOF set JMail = server.createobject("JMail.SMTPMail") JMail.sender = "Thomas@just2funny.dk" JMail.SenderName = "Webmaster" JMail.subject = "Login oplysninger til Havneparken 1 Intranet side" JMail.AddRecipient rsRecordSet("Email") JMail.ContentType = "text/plain" JMail.body = "Kære "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&" "&VbCrLf&""&VbCrLf&"Dit brugernavn er: "&rsRecordSet("Brugernavn")&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppenavn: "&rsRecordSet("Gruppenavn")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&" JMail.priority = 1 JMail.maildomain = "mail.just2funny.dk" JMail.silent = true JMail.execute JMail.close() rsRecordSet.movenext Else response.write "Denne email adresse blev ikke fundet" response.end End If rsRecordSet.Close Conn.Close Set rsRecordSet = Nothing Set Conn = Nothing %>
Det giver følgende: Microsoft VBScript compilation error '800a03f9' Expected 'Then' /login/send.asp, line 17 If not rsRecordSet.EOF ----------------------^
Ja der manglede lige en "Then", præcis som den skrev :-) "Spørgesiden" <FORM ACTION="dinside.asp" METHOD="POST"> <INPUT TYPE="TEXT" NAME="Email"> <INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Submit"> </FORM> Mailsiden i ASP: <% If Request.Form("Email") = "" Then response.write "Der skal udfyldes en email adresse" response.end End If Set Conn = Server.CreateObject("ADODB.Connection") Set rsRecordSet = Server.CreateObject("ADODB.Recordset") Conn.Open "DBQ=" & Server.Mappath("Login.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" SQL = "SELECT Grupper.Gruppenavn, Bruger.Brugernavn, Bruger.Email, Bruger.Brugerkode, Bruger.Initial, Bruger.Fornavn, Bruger.Efternavn FROM Bruger INNER JOIN Grupper ON Bruger.Gruppenavn = Grupper.GruppeId" SQL = SQL & " WHERE Bruger.Email ='" & Trim(Request.Form("Email")) & "'" rsRecordSet.Open SQL, Conn If not rsRecordSet.EOF Then set JMail = server.createobject("JMail.SMTPMail") JMail.sender = "Thomas@just2funny.dk" JMail.SenderName = "Webmaster" JMail.subject = "Login oplysninger til Havneparken 1 Intranet side" JMail.AddRecipient rsRecordSet("Email") JMail.ContentType = "text/plain" JMail.body = "Kære "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&" "&VbCrLf&""&VbCrLf&"Dit brugernavn er: "&rsRecordSet("Brugernavn")&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppenavn: "&rsRecordSet("Gruppenavn")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&" JMail.priority = 1 JMail.maildomain = "mail.just2funny.dk" JMail.silent = true JMail.execute JMail.close() rsRecordSet.movenext Else response.write "Denne email adresse blev ikke fundet" response.end End If rsRecordSet.Close Conn.Close Set rsRecordSet = Nothing Set Conn = Nothing %>
Det giver følgende: Microsoft VBScript compilation error '800a0409' Unterminated string constant /login/send.asp, line 25 JMail.body = "Kære "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&" "&VbCrLf&""&VbCrLf&"Dit brugernavn er: "&rsRecordSet("Brugernavn")&""&VbCrLf&"Dit kodeord er: "&rsRecordSet("Brugerkode")&""&VbCrLf&"Gruppenavn: "&rsRecordSet("Gruppenavn")&""&VbCrLf&"Navn: "&rsRecordSet("Fornavn")&" "&rsRecordSet("Efternavn")&""&VbCrLf&"Initial: "&rsRecordSet("Initial")&""&VbCrLf&""&VbCrLf&" -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^
05. juni 2002 - 16:30
#10
Gelm det bare ... har selv rette det ... tak for hjælpen!
05. juni 2002 - 16:31
#11
Det var så lidt :-)
Kurser inden for grundlæggende programmering