registerFunction('checkname'); // 註冊回應函式 $xajax->processRequest(); // 處理非同步要求 // ---------------------------------------------------------- function checkname($username) { // 檢查使用者暱稱的回應函式 $objResponse = new xajaxResponse(); $username = trim($username); // 去除名稱前後空白 if($username == '') { // 檢查名稱是否僅含空白 $objResponse->assign('msg', 'innerHTML', '您的暱稱不合法!'); return $objResponse; } if (get_magic_quotes_gpc()) $username = stripslashes($username); $username = htmlspecialchars($username); // 轉成適合 HTML 的格式 if(is_file(USER_LIST)) { // 檢查聊天名單檔是否存在 // 由檔案讀入聊天名單並存於陣列中 $users = unserialize(file_get_contents(USER_LIST)); if (count($users) == MAX_USER) { // 檢查人數是否已達上限 $objResponse->assign('msg', 'innerHTML', '聊天室人數已達上限, 請稍候再試!'); return $objResponse; } // 檢查是否已有相同名稱 elseif (array_key_exists(strtolower($username), $users)) { $objResponse->assign('msg', 'innerHTML', '已有人使用相同暱稱, 請更換暱稱!'); return $objResponse; } } $users[strtolower($username)] = $username; // 以小寫名稱當索引 file_put_contents(USER_LIST, serialize($users), LOCK_EX); // 以下利用 session 變數儲存必要資訊 // 並讓使用者進入 ChatRoom.php 網頁 $_SESSION['newuser'] = true; // 記錄此為新加入的使用者 $_SESSION['username'] = $username; // 記錄使用者暱稱 $objResponse->redirect('ChatRoom.php'); // 將用戶端轉往聊天室 return $objResponse; } ?> 聊天登入網頁 printJavascript('../'); // 輸出 JavaScript 程式 ?>
請輸入暱稱: