我希望我的限制在用户单击“提交”时自动增加,因此该值将被更新,并且用户将看到他发送的先前消息,这是我的代码:

if(isset($_POST['text']))
{
$counter =1;
$message = mysqli_real_escape_string($con,$_POST['text']);
if(!empty($message))
    {
        $id = $_SESSION['id'];
        $time = time();
        $date = date('Y-m-d H:i:s', $time);
        $query = "INSERT INTO tbl_chat(time_sent,message_text,users_id) VALUES('$date','$message','$id')";
        mysqli_query($con,$query);
        $query = "SELECT TIME(time_sent)AS time_sent, i.users_fname, c.message_text FROM tbl_usersinfo AS i INNER JOIN tbl_chat AS c ON
                                i.users_id = c.users_id ORDER BY c.time_sent DESC LIMIT $counter";
        $counter++;
        if($run_query = mysqli_query($con,$query))
        {
            while($row = mysqli_fetch_assoc($run_query))
            {
            $time_sent = $row['time_sent'];
            $users_fname = $row['users_fname'];
            $message_text = $row['message_text'];
            echo '['.$time_sent.']'.$users_fname.': '.$message_text.'<br/>';
            }
        }
    }
}


我的代码的问题在于,sql仅读取counter的值为1,因此它没有回显用户发送的先前消息。是否可以使用php自动增加限制?

最佳答案

每次重新加载页面时,$ counter变量的值都将分配为1。
您可以使用$ _SESSION或$ _COOKIE变量来存储计数器并递增$ _SESSION / $ _ COOKIE变量。

N.B:设置$ _SESSION / $ _ COOKIE变量之前,请检查其是否已设置。如果已经设置,请不要再次设置。

08-26 01:18