佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 5253|回复: 2

[教程]FLASH+PHP+MySQL制作留言板

[复制链接]
发表于 31-12-2004 11:44 PM | 显示全部楼层 |阅读模式

作者:Super-Tomato


測試例子 : http://www.super-tomato.com/guest/guest.html



隨便做了個介面等... 有興趣的朋友可以自己修改漂亮...
這裡主要強調的是使用LoadVars和後台的簡潔編寫方法, 而且儘量不要把製做留言板或討論區想像得很難...

function loadEntries(action, max) { //接收兩個參數
if (action == "Next" ) { //當參數1為Next(即下一頁)的時候
num += max;
} else if (action == "revious" ) { //上一頁
num -= max;
} else { //其他...就是設定記錄為開始第一筆
num = 0;
}
display.text = "資料載入中, 請稍等....."; //載入當中的訊息
myEntries = new LoadVars();
myEntries.load("GuestBook.php?action=read&r="+random(999)+"&NumLow="+num); //這裡的NumLow是傳遞到PHP所要開始索取開始的記錄筆數
myEntries.onLoad = function(success) {
if (success) {
display.text = this.entries;
var totalEntries = Number(this.totalEntries);
var total = num+max;
if (total<totalEntries) {
nextButton._visible = true;
} else {
nextButton._visible = false;
}
if (num == 0) {
prevButton._visible = false;
} else {
prevButton._visible = true;
}
}
};
}
loadEntries("Default", 10); //開始讀取記錄



以下是PHP的代碼...我稍為寫了些注釋...拷貝並存檔為GuestBook.php

<?php
$DBhost = "localhost"; // 服務器名字
$DBuser = "root"; // 用戶名
$DBpass = ""; // 用戶密碼
$DBName = "super-tomato"; //資料庫名字
$table = "guestbook"; // 資料庫的table名
$numComments = 10; // 每頁所顯示的筆數

//開始連接mysql
$DBConn = mysql_connect($DBhost,$DBuser,$DBpass) or die("無法連接資料庫 : " . mysql_error());
//選擇mysql資料庫
mysql_select_db($DBName, $DBConn) or die("無法連接資料庫: " . mysql_error());

$action = $_GET["action"]; //等待執行動作

switch($action) { //這裡使用switch ....case, 我想大家不陌生吧... 在AS當中也有
case "read" : //讀取資料
// sql指令...選取資料表的內容
$sql = "SELECT * FROM `" . $table . "`";
$allComments = mysql_query($sql, $DBConn) or die("無法選取資料 : " . mysql_error());
$numallComments = mysql_num_rows($allComments); //取得返回資料的筆數
$sql .= " ORDER BY `time` DESC LIMIT " . $_GET["NumLow"] . ", " . $numComments;
$fewComments = mysql_query($sql, $DBConn) or die("無法選取資料 : " . mysql_error());
$numfewComments = mysql_num_rows($fewComments);
print "&totalEntries=" . $numallComments . "&";
print "<br>&entries=";

if($numallComments == 0) {
print "目前無任何記錄....";
} else {
while ($array = mysql_fetch_array($fewComments)) {
$name = mysql_result($fewComments, $i, "name" );
$email = mysql_result($fewComments, $i, "email" );
$comments = mysql_result($fewComments, $i, "comments" );
$time = mysql_result($fewComments, $i, "time" );

print "<b>姓名: </b>" . $name . "<br><b>電郵: </b>" . $email . "<br><b>內容: </b>" . $comments . "<br><i>日期: " . $time . "</i><br><br>";
$i++;
}
}
break;

case "write" : //寫記錄
// 接收Flash傳遞過來的資料
$name = ereg_replace("&", "%26", $_POST["userName"]);
$email = ereg_replace("&", "%26", $_POST["userEmail"]);
$comments = ereg_replace("&", "%26", $_POST["userMessage"]);
$todayDate = date ("Y-m-d H:i:s",time()); // 取得目前服務器的時間

// 把資料寫入資料表內
$sql = "INSERT INTO " . $table . " (name, email, comments, time) VALUES ("$name", "$email", "$comments", "$todayDate" )";
$insert = mysql_query($sql, $DBConn) or die("無法連接資料庫: " . mysql_error());

// email通知部份, 如果有需要的話...
/* 這裡是開始部份..有需要就移除這行和下列的一行

$MyName = "Super-Tomato";
$MyEmail = "yuan@super-tomato.com";
$Subject = "$name剛剛幫你灌水了 .";
$Message = "$name 剛剛在您的討論區灌水, 快去到這裡看看 http://www.super-tomato.com/guestbook/.";
mail($MyName." <".$MyEmail.">",$Subject, $Message, "From: ".$name." <".$email.">" );
需要使用的話移除這行 */

if($insert) {
print "&msg=Successful";
} else {
print "&msg=Error";
}
break;
}
?>




記得在MySQL建立一個資料表叫guestbook, 當中有4個欄位, name, email, comments和time...不會的朋友可以在PHPMYADMIN裡面輸入以下代碼建立或在MySQL當中手動輸入即可


CREATE TABLE guestbook (
name text NOT NULL,
email text NOT NULL,
comments text NOT NULL,
time datetime NOT NULL default "0000-00-00 00:00:00"
)


FLA源文件: http://xenz.flash8.net/examples/guest.rar
回复

使用道具 举报


ADVERTISEMENT

发表于 1-1-2005 10:19 AM | 显示全部楼层
我刚刚进去灌水了~嘿嘿
回复

使用道具 举报

发表于 6-6-2008 11:10 PM | 显示全部楼层
我开不到那网站
还有这-----這裡主要強調的是使用LoadVars和後台的簡潔編寫方法, 而且儘量不要把製做留言板或討論區想像得很難... -------要放在那里
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 13-5-2024 01:20 PM , Processed in 0.060546 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表