/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
J-mail
Fra : Martin Jørgensen


Dato : 11-08-04 18:28

Hej alle sammen

Jeg er ved at lave et nyhedssystem, og bruger J-mail til at sende
oplysningerne til brugeren, men når at brugeren tilmelder sig til
nyhedsbrevet, bliver oplysningerne først gemt og derefter sendt
til brugeren, men når at jeg skal hente oplysningerne fra
databasen får jeg denne fejl:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D)
Typer stemmer ikke overens: 'AddRecipient'
/darkskies/nyhed_incl.asp, line 16

Men denne fejl kommer når at jeg bruger denne kode:
strSQL = "SELECT * FROM bruger Where id =" & Request("id")

Og linie 16 er denne kode:
msg.AddRecipient rs("mail")


Hele min kode ser sådan ud:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("log/nyhedsbrev.mdb")

strSQL = "SELECT * FROM bruger Where id =" & Request("id")
set rs = Conn.execute(strSQL)

Set msg = Server.CreateOBject( "JMail.Message" )

msg.Logging = True
msg.Silent = True
msg.From = "support@darkskies.dk" 'Afsender e-mail
msg.FromName = "www.darkskies.dk" 'Afsender navn
msg.Charset = "iso-8859-1"

msg.AddRecipient rs("mail")
msg.Subject = "Tilmeldelse til www.darkskies.dk"
msg.Body = "Hej " & rs("navn")
msg.Body = msg.Body & vbCrLf
msg.Body = msg.Body & vbCrLf
msg.Body = msg.Body & "Du er nu tilmeldt til at modtage
nyhedsbrev fra darkskies.dk"
msg.Body = msg.Body & vbCrLf
msg.Body = msg.Body & "darkskies.dk håber at du bliver glad for
din tilmeldelse til vores nyhedsbrev"

msg.Body = msg.Body & vbCrLf
msg.Body = msg.Body & "Hvis det ikke var dig som har tilmeldt
denne mail adresse, så kan du gå ind på denne side
www.darkskies.dk/slet.asp."

msg.Body = msg.Body & vbCrLf
msg.Body = msg.Body & "Du kan ikke skrive tilbage til denne mail,
men gå ind på www.darkskies.dk/write.asp"
msg.Body = msg.Body & vbCrLf
msg.Body = msg.Body & vbCrLf
msg.Body = msg.Body & "Med venlig hilsen"
msg.Body = msg.Body & vbCrLf
msg.Body = msg.Body & "darkskies.dk"
'msg.Send("smtp.mail.dk" ) 'TDC mail server
msg.Send("smtp.tele2.dk" ) 'Tele2 mail server
'msg.Send("mail.dandomain.dk") 'Dandomain mail server

'Response.write "Meddelelsen er nu sendt!"

Set msg = nothing
%>

Jeg har lavet noget ligene før, og det virker.

Er der nogle som kan se hvad jeg har lavet forkert?

Mvh
Martin Jørgensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jan Vinten (11-08-2004)
Kommentar
Fra : Jan Vinten


Dato : 11-08-04 19:07

Martin Jørgensen wrote:

> Hej alle sammen
>
> Jeg er ved at lave et nyhedssystem, og bruger J-mail til at sende
> oplysningerne til brugeren, men når at brugeren tilmelder sig til
> nyhedsbrevet, bliver oplysningerne først gemt og derefter sendt
> til brugeren, men når at jeg skal hente oplysningerne fra
> databasen får jeg denne fejl:
> Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D)
> Typer stemmer ikke overens: 'AddRecipient'
> /darkskies/nyhed_incl.asp, line 16
>
> Men denne fejl kommer når at jeg bruger denne kode:
> strSQL = "SELECT * FROM bruger Where id =" & Request("id")
>
> Og linie 16 er denne kode:
> msg.AddRecipient rs("mail")
>
>
> Hele min kode ser sådan ud:
> <%
> Set Conn = Server.CreateObject("ADODB.Connection")
> Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> Server.MapPath("log/nyhedsbrev.mdb")
>
> strSQL = "SELECT * FROM bruger Where id =" & Request("id")
> set rs = Conn.execute(strSQL)
>
> Set msg = Server.CreateOBject( "JMail.Message" )
>
> msg.Logging = True
> msg.Silent = True
> msg.From = "support@darkskies.dk" 'Afsender e-mail
> msg.FromName = "www.darkskies.dk" 'Afsender navn
> msg.Charset = "iso-8859-1"
>
> msg.AddRecipient rs("mail")
> msg.Subject = "Tilmeldelse til www.darkskies.dk"
> msg.Body = "Hej " & rs("navn")
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "Du er nu tilmeldt til at modtage
> nyhedsbrev fra darkskies.dk"
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "darkskies.dk håber at du bliver glad for
> din tilmeldelse til vores nyhedsbrev"
>
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "Hvis det ikke var dig som har tilmeldt
> denne mail adresse, så kan du gå ind på denne side
> www.darkskies.dk/slet.asp."
>
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "Du kan ikke skrive tilbage til denne mail,
> men gå ind på www.darkskies.dk/write.asp"
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "Med venlig hilsen"
> msg.Body = msg.Body & vbCrLf
> msg.Body = msg.Body & "darkskies.dk"
> 'msg.Send("smtp.mail.dk" ) 'TDC mail server
> msg.Send("smtp.tele2.dk" ) 'Tele2 mail server
> 'msg.Send("mail.dandomain.dk") 'Dandomain mail server
>
> 'Response.write "Meddelelsen er nu sendt!"
>
> Set msg = nothing
> %>
>
> Jeg har lavet noget ligene før, og det virker.
>
> Er der nogle som kan se hvad jeg har lavet forkert?
>
> Mvh
> Martin Jørgensen
>

Hej Martin,

Ja, umiddelbart ser det jo meget fornuftigt ud... du kan dog lige teste dit
output fra db'en.

Gør evt. flg.:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("log/nyhedsbrev.mdb")

strSQL = "SELECT * FROM bruger Where id =" & Request("id")
set rs = Conn.execute(strSQL)

Response.Write("db_mail:[" & rs.fields("mail") & "]")
Response.End

Så skriver du indholdet af "mail" ud og stopper resten af indlæsningen ...
så kan du se outputtet ... og ja - det kan jo være det ser helt af h.t.
ud!

/ Jan



Martin Jørgensen (12-08-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 12-08-04 20:43

Jan Vinten wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej Martin,
>
> Ja, umiddelbart ser det jo meget fornuftigt ud... du kan dog lige teste dit
> output fra db'en.
>
> Gør evt. flg.:
>
> Set Conn = Server.CreateObject("ADODB.Connection")
> Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> Server.MapPath("log/nyhedsbrev.mdb")
>
> strSQL = "SELECT * FROM bruger Where id =" & Request("id")
> set rs = Conn.execute(strSQL)
>
> Response.Write("db_mail:[" & rs.fields("mail") & "]")
> Response.End
>
> Så skriver du indholdet af "mail" ud og stopper resten af indlæsningen ...
> så kan du se outputtet ... og ja - det kan jo være det ser helt af h.t.
> ud!
>
> / Jan


Hej Jan

Jeg har prøvet dit forslag, men jeg fik denne fejl:
Fejltype:
(0x80020009)
Undtagelse opstod.
/darkskies/nyhed_incl.asp, line 9

Linie 9 er:
Response.Write("db_mail:[" & rs.fields("mail") & "]")

Har du ellers andre forslag?

Mvh
Martin Jørgensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christian M. Nielsen (12-08-2004)
Kommentar
Fra : Christian M. Nielsen


Dato : 12-08-04 21:25



"Martin Jørgensen" <malle@mail.dk> wrote in message
news:411bc847$0$73953$14726298@news.sunsite.dk...
> Jan Vinten wrote in dk.edb.internet.webdesign.serverside.asp:
> > Hej Martin,
> >
> > Ja, umiddelbart ser det jo meget fornuftigt ud... du kan dog lige teste
dit
> > output fra db'en.
> >
> > Gør evt. flg.:
> >
> > Set Conn = Server.CreateObject("ADODB.Connection")
> > Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> > Server.MapPath("log/nyhedsbrev.mdb")
> >
> > strSQL = "SELECT * FROM bruger Where id =" & Request("id")

response.write strSQL
response.end 'denne linie stopper koden når den har udskrevet strSQL og du
får ikke en fejlmeddelelse. Et godt værktøj at have, kan flyttes rundt i
koden, så du kan finde ud af hvor en fejl opstår.


> > set rs = Conn.execute(strSQL)


--

Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk
The scary thing about looking for truth is that you might find it.



Martin Jørgensen (13-08-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 13-08-04 08:58

Christian M. Nielsen wrote in dk.edb.internet.webdesign.serverside.asp:
> "Martin Jørgensen" <malle@mail.dk> wrote in message
> news:411bc847$0$73953$14726298@news.sunsite.dk...
> > Jan Vinten wrote in dk.edb.internet.webdesign.serverside.asp:
> > > Hej Martin,
> > >
> > > Ja, umiddelbart ser det jo meget fornuftigt ud... du kan dog lige teste
> dit
> > > output fra db'en.
> > >
> > > Gør evt. flg.:
> > >
> > > Set Conn = Server.CreateObject("ADODB.Connection")
> > > Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> > > Server.MapPath("log/nyhedsbrev.mdb")
> > >
> > > strSQL = "SELECT * FROM bruger Where id =" & Request("id")
>
> response.write strSQL
> response.end 'denne linie stopper koden når den har udskrevet strSQL og du
> får ikke en fejlmeddelelse. Et godt værktøj at have, kan flyttes rundt i
> koden, så du kan finde ud af hvor en fejl opstår.
>
>
> > > set rs = Conn.execute(strSQL)
>
>
> --
>
> Mvh / Regards
> -=< Christian >=-
> What capital has 164 letters in its name? See my web page to find out.
> http://www.cmnielsen.dk
> The scary thing about looking for truth is that you might find it.

Hej Christian

Jeg har prøvet dit forslag, og det virker, men kun lidt.
Jeg får denne kode:
SELECT * FROM bruger Where id =0

Og i databasen er der næsten 40 poster, den kan ikke finde id'et, har du flere
forslag?

Mvh
Martin Jørgensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christian M. Nielsen (13-08-2004)
Kommentar
Fra : Christian M. Nielsen


Dato : 13-08-04 10:25


> Jeg har prøvet dit forslag, og det virker, men kun lidt.
> Jeg får denne kode:
> SELECT * FROM bruger Where id =0
>
> Og i databasen er der næsten 40 poster, den kan ikke finde id'et, har du
flere
> forslag?


Så er det fordi du ikke får fat i den id du skal bruge.

Prøv at lege lidt med at få fat i id og udskriv den inden du går videre.
Hvor får du di fra? Det er ikke let at se ud fra din kode. Vi skal nok se
lidt mere af din kode, men send kun den del der har med id at gøre.

--

Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk
The scary thing about looking for truth is that you might find it.



Martin Jørgensen (13-08-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 13-08-04 11:30

Hej Christian

Når at en bruger tilmelder sig til nyhedsbrevet, gemmes oplysningerne i en
database, siden bliver redirectet til en ny side, her hentes oplysningerne og
der bliver sendt en mail ud fra de oplysninger i databasen.
Gemmes i en database:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("log/nyhedsbrev.mdb")

strSQL = "INSERT INTO bruger (navn, mail)"
strSQL = strSQL & "values ('" & Request.Form("navn") & "','" &
Request.Form("mail") & "')"

'Response.Write strSQL
Conn.Execute(strSQL)
   
Conn.Close
Set Conn = Nothing
Set strSQL = nothing
%>

Rediect til den nye side:
<meta http-equiv="refresh" content="0; url=nyhed.asp?id=<%=id%>">

Den nye side:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("log/nyhedsbrev.mdb")

strSQL = "SELECT * FROM bruger Where id = " & Request("id")
set rs = Conn.execute(strSQL)

Response.Write strSQL

'Set msg = Server.CreateOBject( "JMail.Message" )

'msg.Logging = True
'msg.Silent = True
'msg.From = "support@darkskies.dk" 'Afsender e-mail
'msg.FromName = "www.darkskies.dk" 'Afsender navn
'msg.Charset = "iso-8859-1"

'msg.AddRecipient rs("mail")
'msg.Subject = "Tilmeldelse til www.darkskies.dk"
'msg.Body = "Hej " & rs("navn")
'msg.Body = msg.Body & vbCrLf
'msg.Body = msg.Body & vbCrLf
'msg.Body = msg.Body & "Du er nu tilmeldt til at modtage nyhedsbrev fra
darkskies.dk"

'msg.Body = msg.Body & vbCrLf
'msg.Body = msg.Body & "darkskies.dk håber at du bliver glad for din
tilmeldelse til vores nyhedsbrev"

'msg.Body = msg.Body & vbCrLf
'msg.Body = msg.Body & "Hvis det ikke var dig som har tilmeldt denne mail
adresse, så kan du gå ind på denne side www.darkskies.dk/slet.asp."
'msg.Body = msg.Body & vbCrLf
'msg.Body = msg.Body & "Du kan ikke skrive tilbage til denne mail, men gå ind
www.darkskies.dk/write.asp"

'msg.Body = msg.Body & vbCrLf
'msg.Body = msg.Body & vbCrLf
'msg.Body = msg.Body & "Med venlig hilsen"
'msg.Body = msg.Body & vbCrLf
'msg.Body = msg.Body & "darkskies.dk"
'msg.Send("smtp.mail.dk" ) 'TDC mail server
'msg.Send("smtp.tele2.dk" ) 'Tele2 mail server
'msg.Send("mail.dandomain.dk") 'Dandomain mail server

'Response.write "Meddelelsen er nu sendt!"

'Set msg = nothing
%>

Håber at du kan se hvad jeg har lavet forkert.

Mvh
Martin Jørgensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Martin Jørgensen (13-08-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 13-08-04 13:27

Hej alle sammen

Jeg har lige løst problemet:
Når at brugeren tilmelder sig til nyhedsbrevet, bliver oplysningerne
sendt til brugeren, og derefter bliver oplysningerne gemt i
databasen.
Det virker fint.

Før blev oplysningerne gemt først og derefter bliver oplysningerne
sendt til brugeren, men der virker ikke.

Mvh
Martin Jørgensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste