> 백엔드 개발 > PHP 문제 > PHP로 수정 가능한 게시판 만들기

PHP로 수정 가능한 게시판 만들기

PHPz
풀어 주다: 2023-05-07 13:47:07
원래의
791명이 탐색했습니다.

인터넷의 점진적인 대중화와 함께 웹사이트는 사람들이 정보, 커뮤니케이션 및 엔터테인먼트를 얻는 주요 방법 중 하나가 되었습니다. 게시판은 웹사이트의 일반적인 커뮤니케이션 도구 중 하나로, 웹사이트에서 없어서는 안될 부분이 되었습니다. 이 기사에서는 PHP를 사용하여 수정 가능한 게시판을 만드는 방법을 소개합니다.

1. 환경설정

게시판을 만들려면 먼저 해당 환경을 설정해야 합니다. 여기서는 XAMPP를 사용하여 로컬 서버 환경을 설정하겠습니다.

단계는 다음과 같습니다.

  1. XAMPP 소프트웨어를 다운로드하고 설치합니다.
  2. XAMPP의 Apache 및 MySQL 서비스를 시작합니다.
  3. 브라우저를 열고, localhost를 입력하고, 페이지에서 언어와 인증 방법을 선택하고, XAMPP를 입력합니다. 관리 패널
  4. 관리 패널에서 phpMyAdmin을 클릭하여 데이터베이스 관리 페이지로 들어갑니다.

2. 데이터베이스 및 데이터 테이블 생성

데이터베이스를 생성하고 이름을 방명록으로 지정합니다. 데이터베이스 아래에 message라는 데이터 테이블을 생성합니다. 데이터 테이블에는 다음 필드가 포함됩니다.

필드 이름 유형 길이 설명
id int 11 메시지 ID, 기본 키, 자동 증가
username varchar 50 Username
email varchar 100 Email
message text 메시지 내용
post_time datetime 메시지 시간

3. 메시지판 페이지 생성

이번 단계에서는 사용자가 이 페이지에 메시지를 입력하고 기존 메시지를 표시할 수 있도록 메시지판 페이지를 생성하겠습니다.

1. 게시판 페이지의 UI를 만듭니다

html에 다음 코드를 추가합니다.

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>可修改的留言板</title>
</head>
<body>
    <h1>留言板</h1>

    <div>
        <form method="POST" action="post_message.php">
            <h3>发布留言</h3>
            用户名:<input type="text" name="username"><br>
            邮箱:<input type="email" name="email"><br>
            留言:<br>
            <textarea name="message" rows="10" cols="50"></textarea><br>
            <input type="submit" value="发布">
        </form>
    </div>

    <div>
        <h3>最新留言</h3>
        <?php
            // 显示最新留言
        ?>
    </div>
</body>
</html>
로그인 후 복사

보시다시피 게시판 페이지에는 메시지 게시 양식과 다른 부분이 있습니다. 기존 메시지 목록.

2. 메시지 제출

게시판 페이지에서 양식을 제출한 후 제출된 데이터를 데이터베이스에 저장해야 합니다.

메시지 제출 양식의 데이터를 처리하려면 루트 디렉터리에 post_message.php라는 파일을 만듭니다.

파일에 다음 코드를 추가하세요:

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取表单数据
$username = $_POST['username'];
$email = $_POST['email'];
$message = $_POST['message'];
$post_time = date("Y-m-d H:i:s");

// 插入留言到数据库中
$sql = "INSERT INTO messages (username, email, message, post_time)
        VALUES ('$username', '$email', '$message', '$post_time')";
$result = mysqli_query($link, $sql);
if ($result) {
    echo "留言发布成功!";
} else {
    echo "留言发布失败:" . mysqli_error($link);
}

// 关闭数据库连接
mysqli_close($link);
?>
로그인 후 복사

이 파일에서 먼저 데이터베이스에 연결하고 양식 데이터를 가져옵니다. 그런 다음 데이터가 메시지 데이터 테이블에 삽입됩니다.

3. 메시지 표시

메시지 게시판 페이지에는 최신 메시지가 표시되어야 합니다. 이를 위해 메시지 게시판 페이지의 두 번째 부분에 데이터베이스의 메시지 목록을 표시할 수 있습니다.

html에서 다음 코드를 수정합니다.

<div>
    <h3>最新留言</h3>
    <?php
        // 查询留言信息
        $link = mysqli_connect("localhost", "root", "", "guestbook");
        if (!$link) {
            die("数据库连接失败:" . mysqli_connect_error());
        }
        $sql = "SELECT * FROM messages";
        $result = mysqli_query($link, $sql);
        mysqli_close($link);

        // 遍历留言数据,并显示到页面上
        while ($row = mysqli_fetch_assoc($result)) {
            ?>
            <hr>
            <div>
                <p>用户名:<?php echo $row['username']; ?></p>
                <p>邮箱:<?php echo $row['email']; ?></p>
                <p>时间:<?php echo $row['post_time']; ?></p>
                <p>留言内容:<?php echo $row['message']; ?></p>
            </div>
        <?php
        }
        ?>
</div>
로그인 후 복사

이 코드에서는 먼저 데이터베이스의 메시지 데이터 테이블을 쿼리하고 쿼리된 메시지 데이터를 $result에 저장합니다. 이어서 메시지 데이터는 while 루프를 통해 탐색되어 페이지에 표시됩니다.

4. 메시지 수정

게시판에서 사용자는 제출된 메시지를 수정할 수 있습니다.

html 코드에서 메시지를 표시하도록 코드를 다음과 같이 수정합니다.

<div>
    <h3>最新留言</h3>
    <?php
        // 查询留言信息
        $link = mysqli_connect("localhost", "root", "", "guestbook");
        if (!$link) {
            die("数据库连接失败:" . mysqli_connect_error());
        }
        $sql = "SELECT * FROM messages";
        $result = mysqli_query($link, $sql);
        mysqli_close($link);

        // 遍历留言数据,并显示到页面上
        while ($row = mysqli_fetch_assoc($result)) {
            ?>
            <hr>
            <div>
                <p>用户名:<?php echo $row['username']; ?></p>
                <p>邮箱:<?php echo $row['email']; ?></p>
                <p>时间:<?php echo $row['post_time']; ?></p>
                <p>留言内容:<?php echo $row['message']; ?></p>
                <a href="edit_message.php?id=<?php echo $row['id']; ?>">修改</a>
            </div>
        <?php
        }
        ?>
</div>
로그인 후 복사

메시지 수정을 위한 하이퍼링크가 추가된 것을 확인할 수 있습니다.

edit_message.php 파일에 다음 코드를 추가합니다.

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取留言ID
$id = $_GET['id'];

// 根据ID查询留言信息
$sql = "SELECT * FROM messages WHERE id=$id LIMIT 1";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_assoc($result);

// 显示留言内容的表单
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>修改留言</title>
</head>
<body>
    <h1>修改留言</h1>

    <div>
        <form method="POST" action="save_message.php">
            <h3>修改留言</h3>
            用户名:<input type="text" name="username" value="<?php echo $row['username']; ?>"><br>
            邮箱:<input type="email" name="email" value="<?php echo $row['email']; ?>"><br>
            留言:<br>
            <textarea name="message" rows="10" cols="50"><?php echo $row['message']; ?></textarea><br>
            <input type="hidden" name="id" value="<?php echo $row['id']; ?>">
            <input type="submit" value="保存">
        </form>
    </div>
</body>
</html>

<?php
// 关闭数据库连接
mysqli_close($link);
?>
로그인 후 복사

이 코드에서는 먼저 ID를 기준으로 메시지 정보를 쿼리하고, 쿼리된 메시지 데이터를 폼에 표시합니다. 그런 다음 사용자는 이 페이지에서 메시지를 수정할 수 있습니다. 그 중 숨겨진 필드 입력은 메시지 ID를 저장하는 데 사용되므로 나중에 메시지를 저장할 때 해당 ID를 기준으로 데이터베이스를 업데이트할 수 있습니다.

save_message.php 파일에 다음 코드를 추가하세요:

<?php
// 连接数据库
$link = mysqli_connect("localhost", "root", "", "guestbook");
if (!$link) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 获取表单数据
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$message = $_POST['message'];

// 更新留言
$sql = "UPDATE messages SET username='$username', email='$email', message='$message' WHERE id=$id";
$result = mysqli_query($link, $sql);
if ($result) {
    echo "留言更新成功!";
} else {
    echo "留言更新失败:" . mysqli_error($link);
}

// 关闭数据库连接
mysqli_close($link);
?>
로그인 후 복사

이 파일에서 먼저 데이터베이스에 연결하고 메시지 데이터와 메시지 ID를 양식으로 가져옵니다. 이어서 데이터베이스의 메시지 데이터가 ID에 따라 업데이트됩니다.

5. 요약

이 기사의 소개를 통해 독자들은 PHP를 사용하여 수정 가능한 게시판을 만드는 방법을 배웠다고 생각합니다. 실제 개발 과정에서 메시지 답장, 메시지 수 표시, 시간별 정렬 등 더욱 풍부한 기능으로 메시지판을 확장할 수도 있습니다.

위 내용은 PHP로 수정 가능한 게시판 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿