我想在我报告一条评论后保持在同一页上

jxct1oxe  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(226)

所以我想用一个mvc架构用php和mysql写一个小博客,我想添加一个函数,你可以报告一个评论(一切都很顺利,但我不知道如何在报告后保持在同一个页面上)
为了显示带有帖子和评论的页面,我使用了两个函数

public function getPost($postId)
{
    $db = $this->dbConnect();
    $req = $db->prepare('SELECT id, title, content, DATE_FORMAT(creation_date, \'%d/%m/%Y à %Hh%imin%ss\') AS creation_date_fr FROM posts WHERE id = ?');
    $req->execute(array($postId));
    $post = $req->fetch();
    return $post;
}

public function getComments($postId)
{
    $db = $this->dbConnect();
    $comments = $db->prepare('SELECT id, author, comment,report_status, DATE_FORMAT(comment_date, \'%d/%m/%Y à %Hh%imin%ss\') AS comment_date_fr FROM comments WHERE post_id = ? ORDER BY comment_date DESC');
    $comments->execute(array($postId));
    return $comments;
}

这是我的控制器:

function post(){
    $postManager = new PostManager();
    $commentManager = new CommentManager();

    $post = $postManager->getPost($_GET['id']);
    $comments = $commentManager->getComments($_GET['id']);

    require('view/frontend/postView.php');
    }

我报告评论的功能是

public function reportComment($id)
{
    $db = $this->dbConnect();
    $report = $db->prepare('UPDATE comments SET report_status = 1 WHERE id = :id');
    $report->bindParam(':id', $id, PDO::PARAM_INT);
    $report->execute();
}

还有控制器

function report(){
    $commentManager = new CommentManager();
    $commentManager->reportComment($_GET['id']);

}
我的问题是我无法将用户重定向到post(id)页面,因为我已经将新的$\u get设置为comment id,而不是post id;我如何存储旧的post id以便我可以停留在同一页上。。。
这是我的index.php,所以你可以得到一个完整的图片

elseif ($_GET['action'] == 'post') {
    if (isset($_GET['id']) && $_GET['id'] > 0) {
        post();
    }...

elseif($_GET['action'] == 'report'){

    if(!empty($_GET['id'])&& $_GET['id'] > 0){
        report();

    }
    else{
        echo 'not reported';
    }
rsaldnfx

rsaldnfx1#

为什么不向$\u get添加更多参数(例如:$\u get('post\u id'))
在这段代码中修正得很少:

if(!empty($_GET['id'])&& $_GET['id'] > 0){
        report();
    $postId = $_GET('post_id');
    ///// redirect to post by $postId

 }

相关问题