注册 登录
编程论坛 ASP技术论坛

(已解决by-wangjy500)飞信API问题续-扩充发送的短信内容

jiazehua 发布于 2010-08-17 09:47, 1055 次点击
目前成功的方法是这样的:
response.write "<iframe src='http://sms.api.bz/fetion.php?username=157XXXXXXX3&password=XXXXXX&sendto=150XXXXXXX7&message=新订单-订单号:"&OrderNo&"' style='display:none;'></iframe>"
我想做到的是,把如下数据库信息也添加到发送的短信内容中,不知道要是像"&OrderNo&"这个这样的书写方式,要怎么写
想要添加到短信内容的数据如下:
<%=HotelName%>
<%=RoomName%>
<%=Price%>
ContactName
Mobile
入住日期(下拉框的,我也不知道哪个是字段)
离店日期(下拉框的,我也不知道哪个是字段)


这部分的表格源码如下:
程序代码:
rs("OrderNo")=OrderNo
        rs("UserName")=UserName
        rs("Hotel_ID")=HotelID
        rs("Room_ID")=RoomID
        rs("RoomName")=RoomName
        rs("RoomPrice")=Price
        rs("PersonNum")=PersonNum
        rs("RoomNum")=RoomNum
        rs("ConfirmType")=ConfirmType
        rs("RoomSave")=RoomSave
        rs("Start_time")=Start_time
        rs("End_time")=End_time
        rs("GuestName")=GuestName
        rs("ContactName")=ContactName
        rs("Mobile")=Mobile
        rs("Telephone")=Telephone
        rs("Fax")=Fax
        rs("Email")=Email
        rs("City")=City
        rs("OtherContent")=OtherContent
-------------
-------------
-------------
-------------
-------------
问题已解决,答案是“wangjy500”提供!再次表达感谢
解决方法奉上:

程序代码:
response.Write("<script>alert('恭喜您,预订酒店成功,请记录您的订单号\n订单号:"&OrderNo&"\n请确保您预订时的联系人和联系电话准确\n以确保顺利进行订单查询.');location.href='javascript:copyToClipBoard()';</script>")
        '开始发送飞信短信
'
-----------------------------------------我是谁?我是分割线----------------------------------------
concent=""&OrderNo
concent=concent&"hotelname:"&HotelID
concent=concent&"roomname:"&RoomName
concent=concent&"price:"&Price
concent=concent&"contactname:"&ContactName
concent=concent&"mobile:"&Mobile
dim xmlhttp,url
url="http://sms.api.bz/fetion.php?username=15XXXXXXX&password=XXXX&sendto=150XXXXXX&message="&concent&""
set xmlhttp = server.CreateObject("MSxml2.XMLHTTP")
xmlhttp.open "get",url,false
xmlhttp.send()
set xmlhttp = nothing

        response.End()
end if
conn.close
set conn=nothing
%>


[ 本帖最后由 jiazehua 于 2010-8-17 13:32 编辑 ]
12 回复
#2
wangjy5002010-08-17 12:46
concent="新订单号:"&OrderNo
concent=concent&"hotelname:"&hotelname
concent=concent&"roomname:"&rommname
concent=concent&"price:"&price
concent=concent&"contactname:"&contactname
concent=concent&"mobile:"&mobile
response.write "<iframe src='http://sms.api.bz/fetion.php?"
response.write "username=157XXXXXXX3&password=XXXXXX&sendto=150XXXXXXX7&message="&concent&"' style='display:none;'></iframe>"
#3
jiazehua2010-08-17 13:22
回复 2楼 wangjy500
您又帮了我的大忙了!测试成功!感谢感谢!分值全部送上!希望以后您能再技术上扶持我一下
顺便说下您的头像很诱人
#4
jiazehua2010-08-17 14:55
回复 2楼 wangjy500
不好意思~问题又来啦~估计是最后一个问题了
这是您调用发送短信内容的语法
程序代码:
concent=concent&"酒店:"&HotelName
concent=concent&"|房型:"&RoomName
concent=concent&"×"&RoomNum
concent=concent&"|价格:"&Price
concent=concent&"|客人:"&ContactName
concent=concent&"|手机:"&Mobile
concent=concent&"|到:"&Start_time
concent=concent&"|离:"&End_time


测试都通过,但是就是酒店名称HotelName不读取
是不是跟这段代码有关?
要怎么修改能不影响使用的情况下,读取HotelName
程序代码:
<%
Dim HotelID,RoomID
    HotelID
=Cint(Request("Hotel_ID"))
    RoomID
=Cint(Request("Room_ID"))
   
   
set rs=conn.execute("select HotelName,EnHotelName,FileName,[Position],Star from DB_Hotel where Is_Show=True and ID="&HotelID&"")
   
if rs.bof and rs.eof then
        HotelName
=""
        EnHotelName
=""
        FileName
=""
        Position
=""
        S
=0
   
else


[ 本帖最后由 jiazehua 于 2010-8-17 14:58 编辑 ]
#5
jiazehua2010-08-17 14:57
回复 3楼 jiazehua
或者是因为这段代码里面没有HotelName?我测试Hotel_ID就好用,但是不能实现用途,ID是个数字
程序代码:
    set rs=server.CreateObject("adodb.recordset")
        sql="select * from DB_Order"
        rs.open sql,conn,1,3
        rs.addnew()
        rs("OrderNo")=OrderNo
        rs("UserName")=UserName
        rs("Hotel_ID")=HotelID
        rs("Room_ID")=RoomID
        rs("RoomName")=RoomName
        rs("RoomPrice")=Price
        rs("PersonNum")=PersonNum
        rs("RoomNum")=RoomNum
        rs("ConfirmType")=ConfirmType
        rs("RoomSave")=RoomSave
        rs("Start_time")=Start_time
        rs("End_time")=End_time
        rs("GuestName")=GuestName
        rs("ContactName")=ContactName
        rs("Mobile")=Mobile
        rs("Telephone")=Telephone
        rs("Fax")=Fax
        rs("Email")=Email
        rs("City")=City
        rs("OtherContent")=OtherContent
        rs("Score")=int((Price/10))+10
        rs.update()
        rs.close
        set rs=nothing

#6
gupiao1752010-08-17 17:00
不管怎么样,楼主的学习精神很值得学习!赞一个!
#7
jiazehua2010-08-17 17:20
回复 6楼 gupiao175
啊!非常感谢~共勉!
#8
wangjy5002010-08-17 18:52
程序代码:
set rs=conn.execute("select HotelName,EnHotelName,FileName,[Position],Star from DB_Hotel where Is_Show=True and ID="&HotelID&"")
    if rs.bof and rs.eof then
        HotelName=""
        EnHotelName=""
        FileName=""
        Position=""
        S=0
    else
因为在你的整个代码里只能看到 hotelname="",其它地方没能看到。哪来的值?
#9
jiazehua2010-08-17 21:32
回复 8楼 wangjy500
那这段代码的hotelname=“”
这是什么意思呢
#10
gupiao1752010-08-17 21:43
以下是引用jiazehua在2010-8-17 21:32:13的发言:

那这段代码的hotelname=“”
这是什么意思呢

 HotelName=""的作用是把变量HotelName的值清空!
这个代码执行后,如果不再给HotelName赋值的话,以后调用HotelName就什么也显示不了!
如果你想检测一个变量有没有值,你可以在某段程序里输入:
response.write  HotelName'变量名
response.end
即可知道某个变量是否有被赋值!对于不显示的情况很有用!至于代码放哪,就看具体需求了!
#11
jiazehua2010-08-17 22:28
回复 10楼 gupiao175
非常感谢!讲的太清楚啦~
我再去百度查查如何给他再附一个值
#12
jiazehua2010-08-17 22:34
回复 10楼 gupiao175
在发短信代码加上这个
程序代码:
<%
Dim vName
vName
= "<%=HotelName%>"
Response.Write(vName)
%>'开始发送飞信短信
'-----------------------------------------我是谁?我是分割线----------------------------------------

concent=concent&"酒店:"&vName

哪里错了么……

[ 本帖最后由 jiazehua 于 2010-8-17 22:58 编辑 ]
#13
jiazehua2010-08-17 23:21
concent=concent&"<%=HotelName%>"
concent=concent&"|房型:"&RoomName
concent=concent&"|价格:"&Price
concent=concent&"|客人:"&ContactName
第一行的表达方式也不行啊……不显示页面
1