所以我想用一个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';
}
1条答案
按热度按时间rsaldnfx1#
为什么不向$\u get添加更多参数(例如:$\u get('post\u id'))
在这段代码中修正得很少: