Avatar billede sorenmt84 Juniormester
06. juli 2009 - 16:15 Der er 4 kommentarer og
1 løsning

Submit form - 2 adresser

I vores lille spejdergruppe har vi en SMS tjeneste man kan tilmelde sig. Det forgår ganske enkelt ved at man indtaster sit mobilnr. og derefter tilføjes nummeret til en database via asp.

Nu vil jeg dog gerne lave det sådan at når man tilmelder sig får man lige en bekærftigelse på SMS omkring dette.

Når jeg skal sende en SMS, skal jeg gøre det via en url til udbydern, der indeholder alle de data der skal bruges sms'en.

fx. http://www.sms.dk?message=test&mobil=12345678 - det virker fint, men problemet er bare at jeg ikke kan angive en retur url, så når beskeden er sendt, bliver brugeren sendt videre til en anden side.

Så når man trykker på submit på formularen, skal jeg gerne have det lavet sådan at jeg kan loade en url (som ikke er synlig for brugeren) med sms afsendelsen, samt jeg kan afsende formularen på normalvis til mit asp script...
Avatar billede leif Seniormester
06. juli 2009 - 18:07 #1
Nu ved jeg ikke hvad udbyder du bruger men gad vide om følgende kan hjælpe dig videre og så implementere det i den side som gemmer nummeret til databasen.

<%
    Set objRequest = CreateObject("SOFTWING.ASPtear")
   
    strPostData = "username=yourusername" _
                & "&password=yourpasswordMD5" _
                & "&recipient=12345678" _
                & "&from=Testuser" _
                & "&message="& Server.URLEncode("This is a test")
   
   
    strResponse = objRequest.Retrieve("http://sms.wannafind.dk/api/", 1, strPostData, "", "")
   
    ' Print the output
    response.write strResponse
%>
Avatar billede leif Seniormester
06. juli 2009 - 18:08 #2
På den måde kan du gemme nummeret og når nummeret er gemt sende SMSen
Avatar billede kdasummer Nybegynder
06. juli 2009 - 19:03 #3
Du kan gøre det således:

<%
Option Explicit

Dim objXmlHttp
Dim strHTML

Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")

' Hvis ikke ovenstående virker, så prøv med dette objekt i stedet:
'Set objXmlHttp = Server.CreateObject("Msxml2.XMLHTTP")

' Syntax:
'  .open(bstrMethod, bstrUrl, bAsync, bstrUser, bstrPassword)
objXmlHttp.open "GET", "http://www.sms.dk?message=test&mobil=12345678", False

objXmlHttp.send

' Hvis du vil udskrive request status:
Response.Write "Status: " & objXmlHttp.status & " " _
    & objXmlHttp.statusText & "<br />"

' responseText henter den html-kode der bliver returneret. Her kan du evt. tjekke, om teksten er sendt korrekt, eller om der kom en fejlmelding.
strHTML = objXmlHttp.responseText

' Husk altid at rydde op!
Set objXmlHttp = Nothing
%>

Denne kode kræver ikke eksterne komponenter, da xmlhttp følger med iis som standard.
Avatar billede sorenmt84 Juniormester
06. juli 2009 - 21:42 #4
>> leif
Jeg tør ikke sige om din løsning virker (det gør den vel), men jeg har desværre ikke den påkrævende komponent.

>>kdasummer
Din løsning virkerede fint, helt som beskrevet ovenfor, jeg behøvede ikke ændre til 'Set objXmlHttp = Server.CreateObject("Msxml2.XMLHTTP")

Dog gav den en fejl på Option Explicit - men sletter jeg den linje, virker det perfekt
Avatar billede kdasummer Nybegynder
06. juli 2009 - 22:01 #5
godt at se kodestumpen virkede. jeg vil gerne opfordre dig til at bruge option explicit - dette gør, at compileren brokker sig, hvis der er en variabel der ikke er defineret via f. eks. Dim intEtTal As Integer. Det gør din kode mere overskuelig, det bliver nemmere for dig at finde fejl og samtidig bliver koden optimeret (der bliver allokeret lige nøjagtig den mængde hukommelse der skal bruges for at indeholde den ønskede værdi og compileren skal ikke bruge tid på at finde ud af om det er en string, integer, double osv. der skal lagres.)

Egentlig ville det være bedre at Dim'me variablerne i starten således:
Dim objXmlHttp As Object 'Pga. latebinding kan vi ikke bruge "As MSXML2.XMLHTTP" her.
Dim strHTML As String

Kan godt være det bare er mig der går meget op i ydelse, men det er værd at kigge på.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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