mysql — перенаправить пользователя на тот же вопрос страницы в переполнении стека

Я создаю блог в PHP, MySQL (PDO). в блоге я создаю такую ​​логику, что когда приходит новый пользователь, то сначала он войдет в систему, после чего он / она сможет увидеть пост и комментарии к нему. Теперь я столкнулся с проблемой в разделе комментариев …
Я создаю таблицу комментариев, где каждый пользовательский комментарий будет сохранен, и когда администратор одобрит комментарий, этот комментарий будет показан на соответствующей странице.

Главная проблема:

Когда пользователь комментирует страницу, перезагружает ее, и я получаю некоторые уведомления, я знаю причину уведомлений, и причина в том, что когда пользователь щелкает сообщение, чтобы просмотреть его содержимое в деталях, сообщение открывается от имени Id, но когда пользовательский комментарий к сообщению и перезагрузка страницы, то страница не может найти соответствующий идентификатор сообщения, и он будет показывать уведомления …

Это мой комментарий к таблице
введите описание изображения здесь

Это мой код страницы поста ….

<?php
session_start();
include 'conn.php';
if(!isset($_SESSION['user']))
{
header('location:signin.php');
}
$smt=$conn->prepare("SELECT * FROM post,images WHERE post.Id=images.Id");
$smt->execute();
?>
<?php include 'header.php';?>
<?php
if(isset($_SESSION['user']))
{
include 'nav.php';
}
else
{
include 'nav-simple.php';
}
?>

<div class="container-fluid">
<?php include 'right_sidebar.php';?>
<div class="main-container-top" id="masonry-grid">
<?php while($rows=$smt->fetch(PDO::FETCH_OBJ)):
?>

<div class="col-md-3 grid-item post-col">
<img src="image/<?php echo $rows->Image_Name;?>" data-echo="image/<?php echo $rows->Image_Name;?>" class="post-image"/>
<h5>Post On &nbsp;<?php echo $rows->Post_Date;?></h5>
<a href="post-description.php?id=<?php echo $rows->Id ?>" <h4><?php echo $rows->Post_Title;?></h4></a>
<p>
<?php echo $rows->Post;?>
</p>

</div>

<?php endwhile;

?>
</div>
</div>

<?php include 'footer-content.php';?>
<?php include 'footer.php';?>

Ниже приведен мой код страницы описания поста, где у меня есть раздел комментариев, и это страница, где я сталкиваюсь с проблемами …

<?php
session_start();
include 'conn.php';
$pic_id='';
if(isset($_GET['id']))
{
$pic_id=$_GET['id'];
}

$smt=$conn->prepare("SELECT * FROM post,images WHERE post.Id = images.Id AND post.Id='".$pic_id."'");
$smt->execute();
$rows=$smt->fetch(PDO::FETCH_OBJ);
$title=$rows->Post_Title;
$img=$rows->Image_Name;
$post=$rows->Post;;
?>
<?php include 'header.php';?>

<?php include 'nav.php';?>

<div class="container-fluid">
<?php include 'right_sidebar.php';?>
<div class="col-md-1"></div>

<div class="col-md-9 main-container-top container">

<div class="media col-md-12 description-post"><img src="image/<?php echo $img;?>" alt="<?php echo $img;?>" class="img-rounded img-responsive media-left img-description"/>
<div class="media-body">
<h4 class="h4 description-heading"><?php echo $title;?></h4>
<p class="post-text text-justify text-info">

<?php echo $post;?>
</div>

</div>

<br/>

<div class="media col-md-12 comment-section">
<?php
if(isset($_SESSION['comment-error']))
{
?>
<span class="alert alert-warning col-md-6 container col-md-offset-3"><?php echo $_SESSION['comment-error']; ?></span>
<?php
}
unset($_SESSION['comment-error']);
if(isset($_SESSION['comment-success']))
{
?>
<span class="alert alert-success col-md-6 container col-md-offset-3"><?php echo $_SESSION['comment-success']; ?></span>
<?php
}
unset($_SESSION['comment-success']);
?>
<br/>
<span class="col-md-1 comment-pic"><img src="profile%20picture/cv.jpg" alt="post image" class="img-thumbnail img-responsive comment-img"/></span>
<div class="media-body  comment-head col-md-10">
<h6 class="h6">comment by <a href="#">e</a> on Thursday 9.00 PM</h6>
<p class="comment"></p>
</div>
</div>

<br/>
<div class="col-md-12 container">
<h4 class="description-heading h4 text-muted">Share your thought</h4>
<br/>
<form action="comment.php" method="post" class="col-md-12" id="commentForm">
<textarea name="comment" id="" cols="100" rows="5" placeholder="Your comment"></textarea>

<br/>
<input type="submit" value="Post" name="cmsg" id="<?php echo $pic_id;?>" class="btn btn-info"/>
<br/>
</form>
</div>
<br/></div>

</div>
<?php include 'footer-content.php';?>
<?php include 'footer.php';?>

На странице описания поста есть раздел комментариев, в котором пользователь публикует комментарий, но когда комментарий публикуется, он отображает некоторые уведомления.
Пример..

Перед комментарием пост

введите описание изображения здесь

После комментария пост …
введите описание изображения здесь

Вы можете ясно видеть, что когда комментарий публикуется и страница перезагружается, он будет показывать уведомления.

мой код comment.php

<?php
session_start();
include 'conn.php';
$comment=$_POST['comment'];
$status='Pending for approvial';
$smt=$conn->prepare("INSERT INTO user_comment(Comment,Status,On_Time)VALUES ('".$comment."','".$status."',now())");
$smt->execute();
if($smt)
{
$_SESSION['comment-success']='Your Comment is Pending for approvial';
header('location:post-description.php');
}
else
{
$_SESSION['comment-error']='There si something wrong with your account';
header('location:post-description.php');
}
?>

Что я хочу:

Я могу показать сообщение об успехе после комментария пользователя, но не могу решить проблему уведомлений, потому что, когда страница перезагрузится, она не найдет идентификатор сообщения. Как я могу перенаправить пользователя к тому же сообщению, но без получения любые ошибки …

Надеюсь, что этой детали достаточно, чтобы понять проблему …

Любой блог, комментарии, идеи, связанные с пользователем будут оценены …

2

Решение

Сначала попробуйте это в разделе комментариев получить идентификатор изображения, …..

 <form action="comment.php" method="post" class="col-md-12" id="commentForm">
<textarea name="comment" id="" cols="100" rows="5" placeholder="Your comment"></textarea>

<input type="hidden" name="image-id" value="<?php echo '?id='.$pic_id;?>"/>
<br/>
<input type="submit" value="Post" name="cmsg" id="" class="btn btn-info"/>
<br/>
</form>

Во-вторых, вы добавите это в свой код comment.php ….

$pic=$_POST['pic-id'];
if($smt)
{
$_SESSION['comment-success']='Your Comment is Pending for approvial';
header('location:post-description.php'.$image_id);
}
else
{
$_SESSION['comment-error']='There si something wrong with your account';
header('location:post-description.php'.$image_id);
}

Заметка Управляйте своим кодом так, как хотите, я просто даю вам решение о перенаправлении. Приведенный выше код будет работать нормально для меня …

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]