Enounter 2025-04-10 10:00 采纳率: 50%
浏览 4
已结题

关于#php#的问题:第一段代码写出留言后第二段代码无法实现显示第一段代码留言结果(相关搜索:留言板)

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <link rel="stylesheet" href="./global.css" />
    </head>
    <body>
        <div id="one">
        <a id="messages"></a>
        <?php
         // 1.读取留言内容 mysql.txt
         $filename = 'mysql.txt';
         
         if (file_exists($filename) && is_readable($filename)) {
             // 读取文件内容
             $mysql = file_get_contents($filename);
             
             if (!empty($mysql)) {
                 // 2.将留言内容分割成数组(每条留言以"------------------------"分隔)
                 $mysqlArray = explode("------------------------", $mysql);
                 
                 echo '<table>';
                 echo '<tr><th width="15%">用户名</th><th width="60%">留言内容</th><th width="25%">留言时间</th></tr>';
                 
                 // 遍历并显示每条留言
                 foreach ($mysqlArray as $mysql) {
                     $mysql = trim($mysql);
                     if (!empty($mysql)) {
                         // 解析每条留言的各个部分
                         $lines = explode("\n", $mysql);
                         $user = str_replace('用户名: ', '', trim($lines[0]));
                         $content = str_replace('留言内容: ', '', trim($lines[1]));
                         $time = str_replace('留言时间: ', '', trim($lines[2]));
                         
                         echo '<tr>';
                         echo '<td>' . htmlspecialchars($user) . '</td>';
                         echo '<td>' . nl2br(htmlspecialchars($content)) . '</td>';
                         echo '<td>' . htmlspecialchars($time) . '</td>';
                         echo '</tr>';
                     }
                 }
                 echo '</table>';
             } else {
                 echo '<p style="text-align:center;">暂无留言</p>';
             }
         } else {
             echo '<p style="text-align:center;">留言文件不存在或无法读取</p>';
         }
        ?>
        </div>
    </body>
</html>


<?php
// 1.接收用户输入的内容
$username = isset($_POST['username']) ? trim($_POST['username']) : '';
$content = isset($_POST['content']) ? trim($_POST['content']) : '';
// 验证输入是否为空
if (empty($username) || empty($content)) {
    echo '<script>alert("用户名和留言内容不能为空");location="./index.html"</script>';
    exit;
}
// 2.将用户输入的内容进行拼接组装
$message = "用户名: " . $username . "\n";
$message .= "留言内容: " . $content . "\n";
$message .= "留言时间: " . date('Y-m-d H:i:s') . "\n";
$message .= "------------------------\n";
// 3.写入到文件中保存
$filename = 'mysql.txt';
// 3.1打开文件(追加模式)
$file = fopen($filename, 'a');

if ($file === false) {
    echo '<script>alert("无法打开留言文件");location="./index.html"</script>';
    exit;
}
// 3.2写入文件
$result_int = fwrite($file, $message);
// 3.3关闭文件
fclose($file);
// 4.处理结果跳转
if ($result_int) {
    echo '<script>alert("留言成功");location="./show.php"</script>';
} else {
    echo '<script>alert("留言失败");location="./index.html"</script>';
}
?>

    
第一段代码写出留言后第二段代码无法实现显示第一段代码留言结果


  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间 优质创作者: Java、后端开发技术领域 2025-04-10 10:11
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题:请帮我解筑下面这个 PHP 代码,它的功能是什么? 解答: 这段 PHP 代码的功能是读取一个名为 mysql.txt 的文件,将其中保存的留言内容按照一定的格式显示在一个 HTML 表格中。同时,它还包含了一个用来接收用户输入并保存到 mysql.txt 文件中的功能。 具体步骤如下:
    1. 首先,代码会尝试读取 mysql.txt 文件,如果文件存在且可读,则会读取文件内容。然后,将留言内容按照 "------------------------" 分隔符分割成多条留言,并使用表格的形式在页面上显示出来。
    2. 用户也可以在页面上输入用户名和留言内容并提交,在接收用户输入后,代码会验证是否输入不为空,然后将用户名和留言内容拼接成一条留言信息并添加到 mysql.txt 文件中。 下面是使用文件中的留言内容来展示留言的一个案例: 假设 mysql.txt 的内容如下:
    用户名: Alice
    留言内容: Hello World!
    留言时间: 2022-01-01 08:00:00
    ------------------------
    用户名: Bob
    留言内容: How are you?
    留言时间: 2022-01-02 10:00:00
    

    页面上会显示如下的 HTML 表格:

    <table>
        <tr>
            <th width="15%">用户名</th>
            <th width="60%">留言内容</th>
            <th width="25%">留言时间</th>
        </tr>
        <tr>
            <td>Alice</td>
            <td>Hello World! </td>
            <td>2022-01-01 08:00:00</td>
        </tr>
        <tr>
            <td>Bob</td>
            <td>How are you?</td>
            <td>2022-01-02 10:00:00</td>
        </tr>
    </table>
    

    如果用户在页面上输入用户名和留言内容并提交,该信息会被添加到 mysql.txt 文件中,留言的格式和现有内容保持一致。 如果你需要完整的代码示例或者更详细的解释,请随时提出。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 创建了问题 4月10日