Flash+PHP+Mysql簡(jiǎn)單留言本制作實(shí)例教程
剛開始做這個(gè)留言本的時(shí)候,連Mysql和PHP都沒接觸過。經(jīng)過痛苦的查找資料和學(xué)習(xí),郁悶了一個(gè)星期后完成了我的簡(jiǎn)單留言本。網(wǎng)上沒有比較好的PHP留言本相關(guān)教程,我下載的N多源文件都看得云里霧里,而且好多都將代碼寫在MC上。又或許可能有好的教程我沒搜到,但無論如何,我現(xiàn)在要在這里班門弄斧一番了。 目的:
用flash+php+mysql制作一個(gè)簡(jiǎn)單的留言本。
配置環(huán)境:
最開始肯定是先配置相應(yīng)的環(huán)境了。我下載的是配置環(huán)境套件包,傻瓜式的方法,簡(jiǎn)易安裝,比較適合我。下載地址:http://phpnow.org/download.html; (包括:Apache、PHP、MySQL、Zend Optimizer、phpMyAdmin、 eAccelerator; )
文件夾介紹如下(Init.cmd安裝;PnCp.cmd控制面板。):
圖1
Apache文件夾:PHP服務(wù)器(類似IIS)。 MySQL-5.0.15b文件夾:MySQl數(shù)據(jù)庫服務(wù)器。data文件夾:存放的是網(wǎng)站數(shù)據(jù)庫。(留言本的數(shù)據(jù)庫存放于此,后臺(tái))bin 文件夾:里面的文件用來操作數(shù)據(jù)庫(DOS方式) php-5.2.6-Win32文件夾:PHP的函數(shù)庫,用Apache來解釋。 ZendOptimizer文件夾:加速PHP的執(zhí)行。 htdoc(或www):存放網(wǎng)頁文件。(留言本的網(wǎng)頁文件放于此,前臺(tái))phpMyAdmin文件夾:操作數(shù)據(jù)庫(Windows方式)注:
1、安裝時(shí)會(huì)提示你輸入MySQl數(shù)據(jù)庫密碼,這里密碼以“sun”為例。(用戶名為“root”)
圖2
2、瀏覽器中輸入“http://127.0.0.1”后顯示配置相關(guān)信息,可以輸入MySQl密碼進(jìn)行連接測(cè)試。
圖3
3、網(wǎng)站目錄索引默認(rèn)是關(guān)閉的,用控制臺(tái)將其開啟,便于后期對(duì)網(wǎng)站(留言板)的測(cè)試。
圖4
圖5
知識(shí)準(zhǔn)備:
1、先介紹如何用PHP連上數(shù)據(jù)庫(數(shù)據(jù)庫用戶名“root”,密碼“sun”,有庫“myguestbook”)
圖6
2、PHP和MySQl通信(SQL語句:INSERT存,SELECT取):PHP←MySQl:SELECT * FROM myguestbook;PHP→MySQL:INSERT INTO myguestbook(name,comment) VALUE ('張三','這是留言');
3、SWF和PHP通信(LoadVars類的sendAndLoad方法存,解析XML的方式取):SWF←PHP:PHP用echo寫xml文件,SWF直接解析該文件。(我以前納悶為什么藍(lán)色的RSS是PHP格式的,學(xué)到這里才明白。)SWF→PHP:swf用“sendAndLoad”(data_lv.uname='張三')發(fā)送變量,php用$name=$_POST['uname']接收變量。注:1、留言本其實(shí)就是這兩個(gè)小的過程,PHP相當(dāng)于一個(gè)橋梁。強(qiáng)烈建議將2和3都寫出一個(gè)簡(jiǎn)單的例子,例子運(yùn)行成功了,留言本沒開始寫就已經(jīng)完成一大半了。2、sendAndLoad既可以發(fā)送變量給php,也可以接收php的變量(類似于swf讀取文本)。可以看火山的教程,很詳細(xì)。
開始制作(做好上面的準(zhǔn)備工作,下面的會(huì)很好理解):
圖7
1、SWF讀取數(shù)據(jù)①和②MySQl→PHP→SWFPHP用“SELECT”從MySQl那里取,再寫成xml給SWF讀。
圖8
2、SWF儲(chǔ)存數(shù)據(jù)③和④SWF→PHP→MySQlSWF用“sendAndLoad”給PHP,PHP用“INSERT”給MySQl。
圖9 點(diǎn)擊放大
完成后的截圖:
圖10
其他注意事項(xiàng):
解決亂碼(解決數(shù)據(jù)庫中的中文讀出來是'????'): 在用PhpAdmin建立數(shù)據(jù)庫的時(shí)候選擇“utf8-geeral-ci”編碼。 在php文件的查詢語句前,加上:mysql_query('set names 'utf8'');php模塊化(便于以后修改): 連接數(shù)據(jù)庫的語句寫在單獨(dú)的文件中,如connectdb.php。 則寫數(shù)據(jù)(datatosql.php)和讀數(shù)據(jù)(datatoxml.php)的文件中加上:require 'connectdb.php'即可。MySQL排錯(cuò)函數(shù)(如操作有錯(cuò),根據(jù)提示會(huì)很方便修改):mysql_errno(出錯(cuò)號(hào));mysql_error(出錯(cuò)原因)。 php的日期函數(shù)(更詳細(xì)的可參考其他幫助):data('Ymd,l,H:i')//20080608,Sunday,09:28 SWF實(shí)時(shí)刷新(保證讀取最新數(shù)據(jù)): swf發(fā)送并獲取實(shí)時(shí)變量:data_lv.sendAndLoad('datatosql.php?n='+random(9999), data_lv, 'post'); swf讀取實(shí)時(shí)xml:myXML.load('datatoxml.php?n='+random(9999))
