-2

ユーザーが承認または削除することを選択できるユーザーレビューのリストがあります。保留中のレビューを一覧表示するreviews.phpファイル、approve_review.phpファイル、およびdelete_review.phpファイルがあります。

ユーザーがレビューを承認したら、mysql列の「approve」を「0」から「1」に変更する必要があります。同じことが削除にも当てはまりますが、「承認」を更新する代わりに「削除」を更新します。

私が試したすべてが機能していません。誰かが私がどこで間違っているのか教えてもらえますか?ありがとう。

reviews.php:

<?php
    $pending_set = get_pending_reviews();
    while ($reviews = mysql_fetch_array($pending_set)) {
?>
        <div class="prof-content-pend-reviews" id="reviews">
            <div class="pend-review-content">
                <?php echo "{$reviews['content']}"; ?>
            </div>
            <a href="includes/approve_review.php"><div class="approve"></div></a>
            <a href="includes/delete_review.php"><div class="delete"></div></a>    
        </div>
<? }  ?>

approve_review.php:

<?php
    require_once("session.php"); 
    require_once("functions.php");
    require('_config/connection.php');
    approve_review ($_GET['review'], $_SESSION['user']);
    header('Location: http://localhost/ptb1/reviews.php');
?>

働き:

function approve_review($review_id, $user) {
    global $connection;
    global $_SESSION;
    $query = "UPDATE ptb_reviews
            SET approved='1'
            WHERE id=$review_id 
            AND to_user_id=$user";
    mysql_query($query, $connection);           
}
4

2 に答える 2

0

approve_review.phpにパラメーターがありません...次のようなものである必要があります。

<a href="includes/approve_review.php?review=TheID"><div class="approve"></div></a>

TheIDをphp変数に置き換える必要があります。

Greatings!

于 2012-12-15T18:24:23.137 に答える
0

ここでいくつか間違っていることがあります:

  • 実際には、スクリプトにパラメータを送信していません。
  • スクリプトはSQLインジェクションに対して広く開かれているため、PDO/mysqliでプリペアドステートメントに切り替える必要があります。
于 2012-12-15T18:25:11.030 に答える