webForumDet fria alternativet

Ta emot SMS och spara ned dessa i databasen - Problem/fundering

ASP

2 svar · 272 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

Tjo! Var ett tag sedan man hade ett problem, Men nu har det uppstått ett.

Jag håller på och pillar på följade funktion som kontaktas av en SMS-server som skickar meddelandet+nummer till min sida som sedan ska spara ned informationen till en access-databas.

Nu sitter jag och stirrar mig halvt ihjäl av all den asp-kod som jag har. Misstänker att jag kodar lite för enkelt och missat att filtrera bort ' tecken innan meddelandet läggs in. Men det fixar jag. Men jag verkar krångla till det och göra det onödigt krångligt att spara ned 3 st variabler in i databasen.

Hjälp mig att bli av med denna ovana.

<%
If Request.ServerVariables("REMOTE_ADDR") = "217.75.102.141" then

Session.LCID = 1053
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("sms.mdb")

sms = Request.QueryString("sms")
nr = cStr(request.querystring("nr"))
datum = now()

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "Select * From sms"
RecSet.Open SQL, Connect, 3, 3
do until RecSet.EOF

RecSet.movenext
loop
RecSet.Addnew
RecSet("strsms") = Request.QueryString("sms")
RecSet("strnr") = Request.QueryString("nr")
RecSet("strdatum") = datum
RecSet.update

RecSet.close
Set RecSet = Nothing
Connect.close
Set Connect = Nothing

else

response.redirect "SMS_access_denied.asp"

end if
%>
Medlem sedan okt. 2002257 inlägg
#2

Ja, som sagt var... varför krångla till det?
Testa detta.

<%
If Request.ServerVariables("REMOTE_ADDR") = "217.75.102.141" then

  Function secure(txt) 
   secure = Replace(txt, "'", "''")
  End Function 

  Session.LCID = 1053
  Set Connect = Server.CreateObject("ADODB.Connection") 
  Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("sms.mdb")

  SQL = "INSERT INTO sms (strsms,strnr,strdatum) VALUES " &_
        "('" & secure(request.querystring("sms")) & "'," &_
        "'" & secure(request.querystring("nr")) & "'," &_
        "#" & now() & "#)"

  connect.execute SQL,,128

  Connect.close : Set Connect = Nothing

else

  response.redirect "SMS_access_denied.asp"

end if
Medlem sedan mars 20023 686 inlägg
#3

Obbelix:

Det där fungerade ju riktigt bra faktiskt. Där lärde jag mig en hel del faktiskt. Varför krångla till det så mycket som jag gör, är en gåta.

:)

246 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)