(21)显示数据制作完成,再编写留言发送和程序,提交留言数据的ASP程序“post.asp”。
ASP/Visual Basic代码
<%@LANGUAGE="VBSCRIPT"%> <!--#include file="head/conn.asp" --> <% postName=trim(request.form("in_name")) qq=trim(request.form("in_qq")) title=trim(request.form("in_title")) msg=trim(request.form("in_content")) set add = Server.CreateObject("ADODB.Recordset") add.ActiveConnection = conn add.Source = "SELECT * FROM book" add.CursorType = 0 add.CursorLocation = 2 add.LockType = 2 add.Open() add_numRows = 0 add.addnew if qq<>"" then add("qq")=int(qq) else add("qq")=0 end if add("name")=postName add("title")=title add("msg")=msg add.update add.Close() set add=nothing %> |
技术看板:ASP代码解释
第4~7行,接收Flash上传来的值。
第17~21行,因为“qq”字段是整型的,所以要先判断用户留言时是否有填写QQ号,默认为0。
第22~25行,写入数据库。
(22)在Flash中制作留言框“WriteBox”,如图14- 10 所示。
图14-10 留言发送框
(23)发送成功以后,会有一个提示框,制作提示框命名为“sendDia”如图14- 11 所示。
图14-11 提示框
(24)编写“WriteBox.as”代码。
AS3代码
package com.GB4{ import flash.display.*; import flash.net.URLRequest; import flash.net.URLLoader; import flash.net.URLVariables; import flash.net.URLRequestMethod; import flash.text.TextField; import flash.events.MouseEvent; import flash.events.*; public class WriteBox extends MovieClip { public function WriteBox() { stop(); inputBox.sendBt.addEventListener(MouseEvent.CLICK, sendData); sendDia.visible=true; } private function sendData(event:MouseEvent):void { if (inputBox.showName.text==""||inputBox.msg.text=="") { return; } var myLoader:URLLoader = new URLLoader(); var loadUrl:URLRequest=new URLRequest("http://localhost/GB4/post.asp"); var variables:URLVariables = new URLVariables(); &nbs, p; , ; variable, , s.in_name=inputBox.showName.text; variables.in_qq=inputBox.qq.text; variables.in_title=inputBox.title.text; variables.in_content = inputBox.msg.text ; loadUrl.data=variables; loadUrl.method=URLRequestMethod.POST; myLoader.addEventListener(Event.COMPLETE,loadComplete); myLoader.addEventListener(IOErrorEvent.IO_ERROR,loadError); myLoader.load(loadUrl); } private function loadComplete(event:Event):void { sendDia.visible=true; inputBox.visible=false; inputBox.showName.text=inputBox.qq.text=inputBox.title.text=inputBox.msg.text=""; //留言成功以后,清空所有输入框 } private function loadError(event:IOErrorEvent):void { trace("加载出错"); } } } |
技术看板:ASP代码解释
第14行,先隐藏提示框。
第17行,如果用户没有输入文字则不发送。
第20~23行,发送Flash上传来的值。
第32行,发送成功,。
第22~25行,写入数据库。
(25)制作完成测试程序。
进入论坛参与讨论交流:http://www.missyuan.com/viewthread.php?tid=425889