杏林同學錄是一套以 PHP + MySQL 開發的班級/校友管理系統,功能涵蓋:Session 頁面保護、悄悄話(私訊)、照片上傳、線上修改資料、Email 查詢與自動回覆、訪客模式、班級管理等。作者將完整原始碼發布於個人網站,供初學者參考。
| 模組 | 主要檔案 |
|---|---|
| 配置 | class/config.php、class/mysql.txt(建表 SQL)、class/counter.txt(計數器) |
| 主程式 | index.php(登入首頁)、main.php(會員主頁)、class/guest.php(訪客首頁) |
| 個人管理 | class/address.php、class/modify.php、class/uploadphoto.php、class/querypsw.php、privatenote.php |
| 註冊流程 | class/register_step1.php、class/register_step2.php |
| 相簿 | class/classphoto.php、class/schoolphoto.php、class/privatephoto.php |
| 留言簿 | 會員:class/notebook/index.php、addnote.php;訪客:class/notebookg/index.php、addnote.php |
| 後台管理 | superadmin.php、class/admin/addmember.php、class/admin/member.php、class/admin/editmember.php、class/admin/editmember_step2.php、留言刪除管理 |
class/mysql.txt)CREATE TABLE user (
id char(2), user char(12), psw char(8), name char(8), sex char(2),
birth char(10), work varchar(50), ad varchar(50), post char(6),
ph varchar(30), bp varchar(20), email varchar(35), oicq char(12),
photo varchar(255), account varchar(255), count int(4) DEFAULT 1,
signature varchar(255), face int(2)
);
CREATE TABLE notebook (user char(12), time char(30), ip varchar(16), title varchar(255), nnote text);
CREATE TABLE notebookg (name char(8), email varchar(35), time char(30), face char(2), ip varchar(16), title varchar(255), nnote text);
CREATE TABLE privatenote (id char(10), fromuser char(12), touser char(12), time char(30), message text, look char(1) DEFAULT '0');
欄位命名採用縮寫,缺乏外鍵與索引定義,屬早期 MyISAM 典型風格。
class/config.php)$sitename = "杏林同學錄";
$url = "https://medguider.host.wayall.com/";
$db = mysql_connect("localhost", "root"); // 需修改帳密
mysql_select_db("test", $db);
$supervisor = "demo"; // 超管帳號
$superpsw = "demo"; // 超管密碼
$superemail = "demo@demo.com";
$question1 = "demo"; $answer1 = "demo"; // 註冊驗證題
$question2 = "demo"; $answer2 = "demo";
index.php) 關鍵點POST 至 main.php,欄位 username/userpsw。.deepblue10、A.purple:hover 等樣式類別。class/image/classlogo.gif、Flash 動畫 class/image/2.swf(已淘汰技術)。config.php 再上傳,依 mysql.txt 建表。counter.txt 權限設為 777(可寫入)。class/upload/image 目錄,部分免費空間限制較多,建議測試 51.net 等環境。mail() 可能失效,上線後通常正常。utf8mb4 編碼。password_hash(),棄用明文/弱加密。session_regenerate_id()、HttpOnly Cookie、CSRF Token。