Avatar billede cygnet Praktikant
29. november 2001 - 14:22 Der er 12 kommentarer og
1 løsning

Tegnet er ugyldigt - funktion

Har lavet dennne funktion

Function sendmail2(modtager, overskrift, body)

overskrifttjek = overskrift
bodytjek = body
    If overskrifttjek = \"\" Then overskrifttjek = \" \"
    If bodytjek = \"\" Then bodytjek = \" \"
    SQL = \"INSERT INTO mails (mail_owner, mail_from, mail_subject, mail_body) VALUES (\"& modtager &\",\"& Session(\"mail_login\") &\", \'\"& overskrifttjek &\"\', \'\"& Replace(bodytjek, VbCrLf,\"<BR>\") &\"\')\"
    Conn.Execute(SQL)
           
            Set sms = CreateObject(\"CDONTS.NewMail\")
            sms.From = \"kum@ingermann.dk\"
            sms.To = rs(\"mobil\")@sms.tdm.dk\"
                sms.Body = \"Du har modtaget post på www.ingermann.dk/kum\"
            sms.Send
            Set sms = Nothing
   
    Response.Redirect(\"inbox.asp\")
End function

med den siger dette.. hvad er der galt ?

Der opstod en Microsoft VBScript-kompileringsfejl error \'800a0408\'

Tegnet er ugyldigt

/kum/mail/code_lib.asp, line 47

sms.To = rs(\"mobil\")@sms.tdm.dk\"
--------------------^
Avatar billede eagleeye Praktikant
29. november 2001 - 14:24 #1
Prøv med:

sms.To = rs(\"mobil\") & \"@sms.tdm.dk\"
Avatar billede cygnet Praktikant
29. november 2001 - 14:59 #2
eagleeye - det hjalp mig ud over det problem - men der dukkede et nyt op

Funktionen ser sådan ud...

Function sendmail2(modtager, overskrift, body)

overskrifttjek = overskrift
bodytjek = body
    If overskrifttjek = \"\" Then overskrifttjek = \"&nbsp;\"
    If bodytjek = \"\" Then bodytjek = \"&nbsp;\"
    SQL = \"INSERT INTO mails (mail_owner, mail_from, mail_subject, mail_body) VALUES (\"& modtager &\",\"& Session(\"mail_login\") &\", \'\"& overskrifttjek &\"\', \'\"& Replace(bodytjek, VbCrLf,\"<BR>\") &\"\')\"
    Conn.Execute(SQL)
                       
  Set rstemp = Conn.ExeCute(\"SELECT mobil FROM users WHERE user_name = \"& modtager &\"\")

Set sms = CreateObject(\"CDONTS.NewMail\")
            sms.From = \"kum@ingermann.dk\"
            sms.To = rstemp(\"mobil\") & \"@sms.tdm.dk\"
            sms.Body = \"Du har modtaget post på www.ingermann.dk/kum\"
            sms.Send
            Set sms = Nothing
   
    Response.Redirect(\"inbox.asp\")
End function



Men den siger nu :

error \'80020009\'
Exception occurred.

/kum/mail/code_lib.asp, line 49

Linie 49:
sms.To = rstemp(\"mobil\") & \"@sms.tdm.dk\"

Har du en fornemmelse om det her vil komme til at virke ? Jeg famler lidt i blinde...
Avatar billede bobbedude Nybegynder
29. november 2001 - 15:01 #3
lytter >>
Avatar billede cygnet Praktikant
29. november 2001 - 15:02 #4

bobbedude >> du er velkommen :)
Avatar billede eagleeye Praktikant
29. november 2001 - 15:05 #5
Ja det ville jeg tro:

Prøv efter denne at indsætte rstemp.movefirst:

Set rstemp = Conn.ExeCute(\"SELECT mobil FROM users WHERE user_name = \"& modtager &\"\")
rstemp.movefirst
Avatar billede eagleeye Praktikant
29. november 2001 - 15:06 #6
eller prøv denne linie:

sms.To = \"\" & rstemp(\"mobil\") & \"@sms.tdm.dk
Avatar billede eagleeye Praktikant
29. november 2001 - 15:07 #7
arh mangler \" efter .dk:
sms.To = \"\" & rstemp(\"mobil\") & \"@sms.tdm.dk\"
Avatar billede cygnet Praktikant
29. november 2001 - 15:07 #8
Så siger den:

ADODB.Recordset error \'800a0bcd\'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/kum/mail/code_lib.asp, line 46
Avatar billede eagleeye Praktikant
29. november 2001 - 15:08 #9
så det fordi der ikke er angivet et mobil nummer for den valgte modtager
Avatar billede eagleeye Praktikant
29. november 2001 - 15:10 #10
Set rstemp = Conn.ExeCute(\"SELECT mobil FROM users WHERE user_name = \"& modtager &\"\")

if NOT (rstemp.BOF OR rstemp.EOF) then
  Set sms = CreateObject(\"CDONTS.NewMail\")
  sms.From = \"kum@ingermann.dk\"
  sms.To = rstemp(\"mobil\") & \"@sms.tdm.dk\"
  sms.Body = \"Du har modtaget post på www.ingermann.dk/kum\"
  sms.Send
  Set sms = Nothing
else
  \'Ingen mobil nummer angivet
end if
 
Response.Redirect(\"inbox.asp\")
Avatar billede cygnet Praktikant
29. november 2001 - 15:25 #11

Det virkede - sådan cirka. Da er jeg ret sikker på at den valgte bruger havde skrevet sit telefon nr. ind. Kan du se et sted der kan ligge kan ligge en fejl.

Det ser sådan ud efterhånden :

set Conn = Server.createobject(\"adodb.connection\")
conn.Open \"DBQ=\"& Server.MapPath(\".\") &\"/../database/maildb.mdb; DefaultDir=DBQ=\"& Server.MapPath(\"/\") &\";Driver={Microsoft Access Driver (*.mdb)};\"

Response.Buffer = True

Function sendmail2(modtager, overskrift, body)

overskrifttjek = overskrift
bodytjek = body
    If overskrifttjek = \"\" Then overskrifttjek = \"&nbsp;\"
    If bodytjek = \"\" Then bodytjek = \"&nbsp;\"
    SQL = \"INSERT INTO mails (mail_owner, mail_from, mail_subject, mail_body) VALUES (\"& modtager &\",\"& Session(\"mail_login\") &\", \'\"& overskrifttjek &\"\', \'\"& Replace(bodytjek, VbCrLf,\"<BR>\") &\"\')\"
    Conn.Execute(SQL)
                       
  Set rsf = Conn.ExeCute(\"SELECT mobil FROM users WHERE user_name = \'\"& modtager &\"\'\")
if NOT (rsf.BOF OR rsf.EOF) then
  Set sms = CreateObject(\"CDONTS.NewMail\")
  sms.From = \"kum@ingermann.dk\"
  sms.To = rsf(\"mobil\") & \"@sms.tdm.dk\"
  sms.Body = \"Du har modtaget post på www.ingermann.dk/kum\"
  sms.Send
  Set sms = Nothing
else
  \'Ingen mobil nummer angivet
end if
 
Response.Redirect(\"inbox.asp\")
End function


Avatar billede eagleeye Praktikant
29. november 2001 - 15:29 #12
Nej. Jeg kan se du har inført \' omkring modatger i SQL\'en på user_name. Så skal user_name være defineret som tekst i databasen.

Får du ikke nogen mail?
Avatar billede cygnet Praktikant
29. november 2001 - 15:34 #13
Jeps.. men har opdaget at det er user_id istedet for user_name - så nu håber jeg det funker lidt om lidt.

Takker for hjælpen og tålmodigheden...

/cygnet
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