以前にも同様の質問をしましたが、スクリプトに多くの変更を加えたため、前回の質問とは異なります。だから今私はこれらの変更を行いましたが、これはすべてうまくいくはずですが、そうではありません。
基本的に、ユーザーがレビューを削除または承認できるユーザーレビューがあります。現時点では、削除機能のみに焦点を当てています。
review.phpでレビューを取得し、ユーザーはdeleteをクリックしてdelete_review.phpをポイントし、functions.phpに格納されているsql関数を実行できます。
私はそれがどのように機能するかを示した正確なコードを以下にリストしましたが、それが機能しない理由を解明するために何年も費やしたことに加えて、私はそれを理解できません。[削除]をクリックすると、delete_review.phpにリンクされますが、削除するレビューのIDであるレビューIDが見つかりません。
誰かが私がこれを修正する方法を教えてもらえますか?ありがとうございました。
review.php
<?php
$reviews_set = get_new_reviews();
while ($reviews = mysql_fetch_array($reviews_set)) {
?>
<div class="prof-content-pend-reviews" id="reviews">
<div class="pend-review-content">
<?php echo "{$reviews['content']}"; ?>
</div>
<div class="message_pic">
<?php echo "<a href=\"profile.php?id={$reviews['from_user_id']}\"><img width=\"50px\" height=\"50px\" src=\"data/photos/{$reviews['from_user_id']}/_default.jpg\" /></a>";?>
</div>
<div class="forum-text">
<?php echo "Posted by {$reviews['display_name']}"; ?> <?php echo "".$age." days ago"; ?>
</div>
<a href="includes/delete_review.php?review=<?php echo $reviews['review']; ?>"><div class="delete"></div></a>
</div>
<? } ?>
function.php
function delete_review($review, $user) {
global $connection;
global $_SESSION;
$query = "UPDATE ptb_reviews
SET deleted='1'
WHERE id=$review
AND to_user_id=$user";
mysql_query($query, $connection);
}
function get_new_reviews() {
global $connection;
global $_SESSION;
$query = "SELECT r.from_user_id, p.display_name, r.content, r.id reviews_id, r.date_added
FROM ptb_reviews r, ptb_profiles p
WHERE r.to_user_id =".$_SESSION['user_id']."
AND r.deleted = '0'
AND r.read_review = '0'
AND p.user_id = r.from_user_id
ORDER BY r.date_added DESC ";
$reviews_set = mysql_query($query, $connection);
confirm_query($reviews_set);
return $reviews_set;
}
delete_review.php
<?php
require_once("session.php");
require_once("functions.php");
require('_config/connection.php');
delete_review ($_GET['review'], $_SESSION['user_id']);
?>