온라인 채팅 기능은 최신 웹 사이트에서 사용자 상호 작용 및 경험을 향상시키는 중요한 모듈입니다. 이 기사는 PHP 언어를 안내하여 기본 온라인 채팅 시스템을 구현하여 사용자가 실시간 커뮤니케이션을 달성 할 수 있도록합니다.
먼저, 현지 환경에 PHP가 설치되어 있는지 확인하십시오. 공식 버전의 PHP를 다운로드하여 설치하거나 XAMPP, WAMP 등과 같은 통합 환경 소프트웨어를 사용하여 개발 환경을 신속하게 구축 할 수 있습니다.
채팅 데이터 및 사용자 정보는 데이터베이스에 저장해야합니다. 이 기사는 MySQL을 데이터베이스 관리 시스템으로 사용합니다. 이 예에서는 메시지 레코드 및 사용자 정보를 저장하기 위해 두 개의 데이터 테이블이 작성됩니다.
CREATE TABLE messages (
id INT PRIMARY KEY AUTO_INCREMENT,
sender VARCHAR(50),
receiver VARCHAR(50),
message TEXT,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50),
password VARCHAR(255)
);
채팅 기능을 사용하기 전에 사용자는 시스템에 로그인해야합니다. PHP의 세션 메커니즘을 통해 사용자의 신원을 확인하고 로그인 상태를 저장하십시오.
// login.php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
// 사용자 인증은 여기에서 수행됩니다,사용자 이름과 비밀번호가 올바른지 확인하십시오
if (검증이 통과되었습니다) {
$_SESSION['username'] = $username;
header('Location: chat.php');
} else {
echo "잘못된 사용자 이름 또는 비밀번호";
}
}
성공적으로 로그인 한 후 현재 온라인 사용자 목록 및 채팅 메시지 표시 영역을 포함하여 채팅 인터페이스를 표시하십시오.
// chat.php
session_start();
if (!isset($_SESSION['username'])) {
header('Location: login.php');
}
// 온라인 사용자 목록을 보여줍니다
echo "<h3>온라인 사용자 목록</h3>";
echo "<ul>";
// 从数据库获取온라인 사용자 목록
while (각 사용자의 사용자 이름을 얻으십시오) {
echo "<li>" . $username . "</li>";
}
echo "</ul>";
// 채팅 메시지를 표시하십시오
echo "<h3>채팅 메시지</h3>";
echo "<div id='message-list'>";
// 从数据库获取채팅 메시지列表
while (각 메시지의 내용과 발신자를 얻으십시오) {
echo "<p>" . $message . "</p>";
}
echo "</div>";
사용자가 채팅 인터페이스에 메시지를 입력 한 후 제출 양식은 메시지를 데이터베이스에 저장하고 최신 컨텐츠를 실시간으로 표시합니다.
// chat.php
// 보낸 메시지를 처리합니다
if (isset($_POST['sender']) && isset($_POST['message'])) {
$sender = $_POST['sender'];
$message = $_POST['message'];
// 데이터베이스에 메시지를 저장합니다
// INSERT INTO messages (sender, receiver, message) VALUES ('$sender', '', '$message')
// 实时刷新채팅 메시지显示
echo "<p>" . $sender . ": " . $message . "</p>";
}
이 기사에서는 PHP를 사용하여 사용자 로그인 확인, 채팅 인터페이스 디스플레이 및 메시지 전송 기능을 포함한 간단한 온라인 채팅 시스템을 개발하는 방법을 보여줍니다. 기본 실시간 상호 작용 효과는 데이터베이스를 통해 달성됩니다. 앞으로 개인 채팅, 메시지 푸시, 멀티미디어 메시지 및 기타 기능을 추가하여보다 완전한 채팅 경험을 만들 수 있습니다.