21. april 2005 - 09:17Der er
28 kommentarer og 1 løsning
Specialtegn i Querystring
Hej Eksperter Jeg har brug for at sende en variabel med specialtegn (æøåÆØÅ) gennem URL'en fra en flash-film via asp til en database. Variablen bliver gemt i databasen, men specialtegnene bliver konverteret til kruseduller (æøå). Siden skal samtidig sende en mail til en adresse, som er beskrevet i en anden variabel. Mail'en når aldrig frem, hvis brugeren indtaster æøå i det andet indtastningsfelt! Dete er langt fra hensigtsmæssigt.
Hvad kan jeg gøre, hvis jeg gerne vil sende disse tegn?
Ja, ok. Men jeg er stadig lidt i tvivl om, hvordan min flashkode skal se ud. Jeg går ud fra, at system.useCodePage = true sættes ind i den 1. frame i timeline, men hvordan skal min knap se ud, som sender variablerne? Lige nu ser den således ud. Er det fyldestgørende i denne forbindelse? Det er sendAndLoad der forvirrerer mig!
Nå, hov! Der var jeg vist lidt for hurtig. Har indsat system.useCodePage = true i timeline, og nu kommer det korrekt frem til databasen! Dog bliver mail'en ikke sendt, som i tilfælde, hvor jeg ikke bruger spcialtegn. Dette synes jeg stadig erlidt underligt! Det burde vel være ligemeget. Jeg bruger CDONTS til at sende min mail. Adressen henter jeg fra en variabel i URL'en. Mit mailscript på asp-siden ser således ud:
Dim objMail Set objMail = CreateObject("CDONTS.NewMail") url = rs("sender") & " har sendt dig et post kort. Klik på linket, for at se dit postkort: http://www.voksnemennesker.dk/show.asp?id=" & id objMail.Send rs("sender"),rs("reciever"),"greetings!",url
Hm - jeg er bange for at du må løfte den i flash gruppen. Min makker har koden, som jeg umiddelbart ikke kan tillade mig at sende dig. Vi gør det på en adnen måde og lader asp jmail ordne sagen.
Hvad med afsender mail, mangler den ( admin@ditwebsted.dk) kommer der intet frem og CDONTS er det objekt som sender flest fejlmedelelser.
<% Option Explicit
Dim objNewMail
' First create an instance of NewMail Object Set objNewMail = Server.CreateObject("CDONTS.NewMail")
' After an instance of NewMail Object has been created. ' If you like you can use this one line of code to send the mail. ' objNewMail.Send From, To, Subject, Message ' or you can give every value seperate
hmm .. det vil ikke rigtigt lykkedes. Jeg indsatte dit CDONTS script i min egen kode, men med samme resultat: æøå indsættes fint i database, men ingen mail fremsendes, i modsætning til, hvis afsender-navn ikke indeholder æøå. Jeg er ikke nogen asp-haj, så jeg indsætter lige min egen kode. Det kan være, at du kan spotte problemet, som jeg ikke kan se!
strSQL = "select id,sender,reciever from wall order by id desc" Set rs = Conn.Execute(strSQL) rs.MoveFirst if not rs.eof then id = rs("id") Dim objNewMail Set objNewMail = Server.CreateObject("CDONTS.NewMail")
objNewMail.Subject = Request.QueryString("sender") & " har sendt dig et postkort" objNewMail.Body = Request.QueryString("sender") & " har sendt dig et postkort. Klik på link'et for at se dit postkort: http://www.voksnemennesker.dk/show.asp?id=" & rs("id") objNewMail.Send
Set objNewMail = Nothing
Response.Write "Email has been sent" end if %> <% rs.Close set rs = nothing
I din response.write så det ude til at du overførete "Åge", men CDONTS skal have en email adresse på afsender og dit websted kræver sikkert, at det er en af dem kendt og gyldig emailadresse ( admin@ditwebsted.dk)
Request.QueryString("sender")) er det en emailadresse ???
Ja, ok! En ringe beskrivelse! Fra flash sender jeg via URL en emailadresse Request.QueryString("reciever")), og en afsender Request.QueryString("sender")), som ikke er en email. Disse indtastes af brugeren.
skal være din email adresse som ligger fast inde i systemet. I CDONTS har du derfor kun modtageremailadresse, subject og body at gøre godt med. Jeg mener ikke at CDONTS supporter afsendername ( i.e 'Åge'). Det må du skrive i subject som har gjort ovenfor. .from skal være en emailadresse knyttet til din site. Prøv at lave en test.asp med den simple form som jeg har angivet for oven. Du har ikke mulighed for at bruge jmail eller en af de andre mailobjekter under asp ??
Jeg tror faktisk lige, at du har svaret på mit spørgsmål! Jeg var ikke klar over, at objNewMail.From = "afsender@post.dk" nødvendigvis skulle være en emailadresse! Det er vel også derfor, at denne ikke vil godtage æøå?!
- og nu kan jeg pludselig kunne sende til én særlig emailadresse, med det script du gav mig!! På trods af, at dette ikke er defineret nogle steder! Alle andre adresse bliver ignoreret, bortset fra en eneste adresse?!?!
Det lyder som om du har byttet om på modtager og afsender. Afsender er fast "admin@ditwebsted.dk" Modtager er Request.QueryString("reciever") Subject og Body er valgfrit.
Hvad er variationen af objNewMail.To = "modtager@post.dk"
Kan det passe, at CDONTS til tider er virkelig lang tid om at sende en mail? Nogle indtastede mailadresser er meget langt tid om at nå frem, og jeg har dem mistænkt for slet ikke at nå frem overhovedet! Det er det jeg mener, når jeg siger at det ser ud som om at nogle mailadresser ikke dur?!?! Send og recieve er ikke byttet rundt, har testet.
Der kan godt være op til 20 min alt afhængig af mailserveren. Du skal nok have en javascript kontrol af mailadressens korrekthed. Elles kan du ende med at få en ikke gyldig emailadresse. Der findes flere gode eks. på en submit validering af mailadressen her på siten.
Hvis den virker med en emailadresse skal den nok virke på andre. hvis du vil have en kontrol på om mailen er sendt må du have en anden email komponent.
ok! Tak for din tålmodighed, det har været en stor hjælp at vende det med dig. Stopper for idag, vender tilbage, hvis der er flere problemer. Lige nu, ser det ud til, at det virker!
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.