今天在整理文件的时候发现到以前写过的电子贺卡... 但目前因为个人的服务器空间有限, 所以就改了一下以减少暂用空间, 在这里就简单的教大家, 但由于我个人是喜欢使用PHP, 在这里提过的后台例子也是使用PHP... 有兴趣的朋友就以自己喜欢的后台来编写吧 还是先来看個
簡單的例子吧 :
http://www.super-tomato.com/Ecard/ 首先, 大家先制作出自己的贺卡, 然后分成两个文件... 一个是寄贺卡人填写的介面, 另外一个就是收到贺卡人所观看的部分 那么就先来弄填写贺卡的部分吧, 在场景添加输入文本和按钮之后就在第一帧输入:
post.onPress = function() { //按钮按下所触发的事件
if (receiver.text.length<2 || email.text.length<10 || sender.text.length<2 || subject.text.length<2 || context.text.length<10) { //依照个人喜好判断输入文本的文字长度
status.HTMLText = "错误 : 请输入所有空格"; //达不到长度就显示错误的讯息
} else {
loader = new LoadVars(); //使用LoadVars传递资料到后台
loader.receiver = escape(receiver.text); //使用escape转换成2字节的16进制编码
loader.email = email.text; //email没中文字所以不必
loader.sender = escape(sender.text);
loader.subject = escape(subject.text);
loader.context = escape(context.text);
loader.onLoad = function(success) { //连接到后台
if (success) { //成功接收到后台传回来的讯息
if (loader.result) { //如果后台传递的讯息为true
gotoAndStop("success"); //跳到成功传递的标签去
} else { //如果传递回来的讯息为false
status.HTMLText = "错误 : 请再尝试";
}
}
delete loader; //删除LoadVars以免占用资源
};
loader.sendAndLoad("send.PHP", loader, "POST"); //使用sendAndLoad传送和接收资料
gotoAndStop("sending"); //跳到传送的标签
}
};
stop(); 弄好寄件者的Flash部分, 那么接下来就到后台寄出电子邮件的部分了
$Today = date("Y-m-d"); //取得今天的日期 $title = "您收到一份来自 $sender 的贺卡"; //在收件者信箱中看到的主题
$Message = "$receiver,
$Sender 于 $Today 寄了份贺卡给您.
请点以下的连接观看贺卡:
http://www.super-tomato.com/Ecard/view.PHP?Subject=$subject&Context=$context&Receiver=$receiver&Sender=$sender>$Sender 的贺卡哦"; //信件内容, 包括观看的网址(当中附加变量传递资料), 不使用资料库储存的关键就是这里了
if(mail($receiver." <".$email.">",$title, $Message, "From: Super-Tomato \nMIME-Version: 1.0\nContent-Type: text/HTML; charset=\"iso-8859-1\"\n")) { //使用PHP的mail()函数判断是否寄出邮件
print "result=true"; //成功寄出就回传给Flash的值为true
} else {
print "result=false";
}
?> 接下来就到收件者所连接观看的Flash部分, 在当中制作动态文本(收件者, 发送者, 主题和内容)... 不要设定动态文本的实例名, 改用变量名 (Receiver, Sender, Subject, Context), 再来只要在第一帧使用 System.useCodepage = true; 就可以了 发布这个文件为HTML之后, 使用记事本修改当中的代码, 如下:
$value = "view.swf?Subject=$Subject&Context=$Context&Receiver=$Receiver&Sender=$Sender"; //这里取得传递过来的变量, 然后准备传送到Flash ?>
View Ecard
这样就完成了啊 :)