close

轉載於:Flash+PHP+Mysql簡單留言本教程

出處:藍色理想 2008年06月30日 作者:acumagic 責任編輯:chenzhenjia

 

目的

  用flash+php+mysql制作一個簡單的留言本。

  配置環境

  最開始肯定是先配置相應的環境了。我下載的是配置環境套件包,傻瓜式的方法,簡易裝設,比較適合我。下載地址:http://phpnow.org/download.html  (包括:Apache、PHP、MySQL、Zend Optimizer、phpMyAdmin、 eAccelerator  )

  文件夾介紹如下(Init.cmd裝設;PnCp.cmd控制面板。):

1338009_01.jpg
圖1

  Apache文件夾:PHP伺服器(類似IIS)。
  MySQL-5.0.15b文件夾:MySQl資料庫伺服器。
  data文件夾:存放的是網站資料庫。(留言本的資料庫存放於此,後台)
  bin 文件夾:裏面的文件用來操作資料庫(DOS方式)
  php-5.2.6-Win32文件夾:PHP的函數庫,用Apache來解釋。
  ZendOptimizer文件夾:加速PHP的執行。
  htdoc(或www):存放網頁文件。(留言本的網頁文件放於此,前台)
  phpMyAdmin文件夾:操作資料庫(Windows方式)

  

  1、裝設時會提示你輸入MySQl資料庫密碼,這裡密碼以“sun”為例。(用戶名為“root”)

1338009_02.jpg
圖2

  2、瀏覽器中輸入“http://127.0.0.1”後顯示配置相關資訊,可以輸入MySQl密碼進行連接測試。

1338009_03.jpg
圖3

  3、網站目錄索引默認是關閉的,用控制台將其開啟,便於後期對網站(留言板)的測試。

1338009_04.jpg
圖4

1338009_05.jpg
圖5

 

知識準備(思路):

  1、先介紹如何用PHP連上資料庫(資料庫用戶名“root”,密碼“sun”,有庫“myguestbook”)

1338009_06.jpg
圖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直接解析該文件。(我以前納悶為什麼藍色的RSS是PHP格式的,學到這裡才明白。)
  SWF→PHP:swf用“sendAndLoad”(data_lv.uname="張三")發送變量,php用$name=$_POST['uname']接收變量。

  
  1、留言本其實就是這兩個小的過程,PHP相當於一個橋梁。強烈建議將2和3都寫出一個簡單的例子,例子運行成功了,留言本沒開始寫就已經完成一大半了。
  2、sendAndLoad既可以發送變量給php,也可以接收php的變量(類似於swf讀取文本)。可以看火山的教程,很詳細。

開始制作(做好上面的準備工作,下面的會很好理解):

1338009_07.jpg
圖7

  1、SWF讀取數據
  ①和②MySQl→PHP→SWF
  PHP用“SELECT”從MySQl那裏取,再寫成xml給SWF讀。

1338009_08.jpg
圖8

  2、SWF儲存數據
  ③和④SWF→PHP→MySQl
  SWF用“sendAndLoad”給PHP,PHP用“INSERT”給MySQl 。

1338009_09_thumb.jpg  
圖9 點擊放大

  完成後的截圖:

1338009_10.jpg
圖10

  其他注意事項

  解決亂碼(解決資料庫中的中文讀出來是"????"):
  在用PhpAdmin建立資料庫的時候選擇“utf8-geeral-ci”編碼。
  在php文件的查詢語句前,加上:mysql_query("set names 'utf8'");
  php模組化(便於以後修改):
  連接資料庫的語句寫在單獨的文件中,如connectdb.php。
  則寫數據(datatosql.php)和讀數據(datatoxml.php)的文件中加上:require "connectdb.php"即可。
  MySQL排錯函數(如操作有錯,根據提示會很方便修改):
  mysql_errno(出錯號);mysql_error(出錯原因)。
  php的日期函數(更詳細的可參考其他幫助):
  data("Ymd,l,H:i");  //20080608,Sunday,09:28
  SWF即時刷新(保證讀取最新數據):
  swf發送並穫取即時變量:data_lv.sendAndLoad("datatosql.php?n="+random(9999), data_lv, "post");
  swf讀取即時xml:myXML.load("datatoxml.php?n="+random(9999));

arrow
arrow
    全站熱搜

    kingjoy1235 發表在 痞客邦 留言(0) 人氣()