-1

我正在尝试使用 PHP 和 SQL 制作信使这是我的代码

    <form action="send_post.php" method="post">
    <h3>Name:</h3>
    <input type="text" name="name">
    <h3>Message:</h3>
    <input type="text" name="message">
    <input type="submit">
</form>
<?php
$servername = "servername";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT id, name, message FROM chat";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
                while(1){
                        ob_start();
                        echo "" . $row["name"]. " - " . $row["message"]. "<br>";

                        sleep(10);
                        echo "" . $row["name"]. " - " . $row["message"]. "<br>";
                        ob_end_clean();

}
} 
}


$conn->close();
?>

但是这不起作用,有什么原因吗?一旦我添加了无限循环以刷新消息,问题就开始了。

4

1 回答 1

1

PHP 在服务器端工作,这意味着客户端(来宾)请求一个页面,然后服务器“编译”该页面,然后作为客户端语言(例如 HTML)发送给客户端。如果 PHP 代码从未结束/停止,客户端浏览器会认为服务器停止响应并给出错误。

为了实现你想要做的事情,你可能想要研究类似JQuery AJAX的东西,它允许客户端从主请求中单独从服务器获取数据。这样,您可以让一个文件仅显示消息并在计时器上请求该文件,同时让表单像往常一样加载页面。但是,您也可以使用JQuery AJAX使表单动态化

更新您可以查看这篇文以了解我在说什么。

于 2015-02-14T18:48:24.673 回答