CMS(콘텐츠 관리 시스템)는 웹사이트에서 콘텐츠를 생성, 편집, 게시 및 유지하는 데 도움이 되는 풍부한 기능을 제공합니다. 그 중 하나는 사이트 내 메시징 및 방송 모듈로, 이를 통해 웹사이트 사용자에게 메시지와 알림을 보내 사용자 경험을 개선하고 웹사이트 상호작용성을 높일 수 있습니다. 이 기사에서는 PHP를 사용하여 CMS에서 사이트 내 메시징 및 브로드캐스트 모듈을 개발하는 방법을 소개합니다.
먼저 개발 및 테스트 환경으로 CMS 시스템이 필요합니다. 이 기사에서는 WordPress를 CMS 시스템의 예로 사용하겠습니다. 또한 기본적인 PHP 프로그래밍 지식과 MySQL 데이터베이스 지식이 필요합니다. CMS 시스템은 일반적으로 MySQL 데이터베이스를 사용하여 사용자 및 콘텐츠 데이터를 저장하기 때문입니다.
두 개의 데이터베이스 테이블을 사용하여 현장 메시지와 방송 메시지를 저장하겠습니다. 메시지와 브로드캐스트라는 두 개의 데이터베이스 테이블을 만듭니다. 각 테이블에는 다음과 같은 자체 열이 있습니다.
messages 테이블:
id: 메시지 ID, 자체 증가 정수 유형
sender: 메시지 보낸 사람, 정수 유형, 사용자 테이블의 ID 열을 가리킴
receiver: 메시지 수신자 , 정수 유형, 사용자 테이블의 ID 열을 가리킴
subject: 메시지 제목, 문자열 유형
message: 메시지 본문, 문자열 유형
status: 메시지 상태, 문자열 유형, "읽기" 또는 "읽지 않음"
timestamp : 메시지 타임스탬프, 시간/날짜 유형, 기록 메시지 생성 시간
broadcasts table:
id: 브로드캐스트 메시지 ID, 자체 증가 정수 유형
sender: 브로드캐스트 메시지 발신자, 정수 유형, 사용자 테이블 ID 열을 가리킴
subject : 브로드캐스트 메시지 제목, 문자열 유형
message: 브로드캐스트 메시지 본문, 문자열 유형
timestamp: 브로드캐스트 메시지 타임스탬프, 시간/날짜 유형, 브로드캐스트 메시지 생성 시간 기록
일단 데이터베이스 테이블이 있으면 우리는 사이트 내 메시징 및 브로드캐스트 메시지 기능을 구현하는 PHP 코드 작성을 시작할 수 있습니다. 다음은 기능 구현을 위한 몇 가지 기본 아이디어입니다.
메시지 보내기: 사용자가 현장 메시지 양식을 작성하고 제출하면 양식 데이터가 메시지 테이블에 삽입됩니다.
메시지 보기: 사용자는 로그인한 후 사이트 메시지를 보고 읽을 수 있습니다. 사용자와 관련된 모든 사이트 메시지를 검색하려면 MySQL 쿼리를 실행해야 합니다.
메시지를 읽음으로 표시: 사용자가 읽지 않은 메시지를 읽은 후 메시지 상태를 "읽음"으로 업데이트해야 합니다.
방송 메시지 보내기: 관리자는 방송 메시지 양식을 작성하여 제출하고 방송 테이블에 방송 메시지 데이터를 삽입할 수 있습니다.
방송 메시지 보기: 사용자는 웹사이트에서 방송 메시지를 보고 읽을 수 있습니다. 모든 방송 메시지를 검색하려면 MySQL 쿼리를 실행해야 합니다.
다음은 CMS 현장 메시징 및 방송 모듈의 기초로 사용할 수 있는 몇 가지 기본 PHP 기능입니다.
a. 데이터베이스 테이블에 사이트 메시지 삽입:
function insert_message($sender, $receiver, $subject, $message) { global $wpdb; $table_name = $wpdb->prefix . "messages"; $data = array( 'sender' => $sender, 'receiver' => $receiver, 'subject' => $subject, 'message' => $message, 'status' => '未读', 'timestamp' => current_time('mysql') ); $wpdb->insert($table_name, $data); }
b. 메시지 검색:
function get_messages($user_id) { global $wpdb; $table_name = $wpdb->prefix . "messages"; $sql = $wpdb->prepare("SELECT * FROM $table_name WHERE receiver = %d ORDER BY timestamp DESC", $user_id); $results = $wpdb->get_results($sql); return $results; }
c. 메시지를 읽음으로 표시:
function mark_message_read($message_id) { global $wpdb; $table_name = $wpdb->prefix . "messages"; $data = array('status' => '已读'); $where = array('id' => $message_id); $wpdb->update($table_name, $data, $where); }
d. e. 브로드캐스트 메시지 검색:
function insert_broadcast($sender, $subject, $message) { global $wpdb; $table_name = $wpdb->prefix . "broadcasts"; $data = array( 'sender' => $sender, 'subject' => $subject, 'message' => $message, 'timestamp' => current_time('mysql') ); $wpdb->insert($table_name, $data); }사이트 내 메시지 및 브로드캐스트 양식 만들기
현장 메시지 양식:
function get_broadcasts() { global $wpdb; $table_name = $wpdb->prefix . "broadcasts"; $sql = "SELECT * FROM $table_name ORDER BY timestamp DESC"; $results = $wpdb->get_results($sql); return $results; }
방송 메시지 양식:
<form method="post" action="[发送站内信的PHP处理文件路径]"> <label>收件人:</label> <input type="text" name="receiver"/> <br /> <label>主题:</label> <input type="text" name="subject"/> <br /> <label>消息内容:</label> <textarea name="message"></textarea> <br /> <input type="submit" value="发送"/> </form>결론
위 내용은 PHP를 사용하여 CMS에서 사이트 메시징 및 브로드캐스트 모듈을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!