0

ユーザーが画像を好きまたは嫌いにできるように、自分の画像サイトにいいね機能を作成しようとしています... ユーザーは、画像のサムネイルが表示されるホームページから始めます。サムネイルをクリックすると、viewimage.php に移動してフル サイズで表示されます。彼らが好むことができるのはそこです。

問題は、関連付けられた $imgid が更新されていないことです。そのため、viewimage.php をロードすると、その $imgid に固執し、その結果、関連する合計いいね数が表示されなくなります。

website.php:フルサイズの各画像の小さなサムネイルが含まれています。ご覧のとおり、サムネイルをクリックすると、viewimage.php に送信されるパラメーターの 1 つが $row['id'] で、これは $_GET で取得します。

while ($row = $catResult->fetch_assoc()) {
   ...
   echo '<a href=".?action=viewimage&site='.$site. '&id=' . $row['id'] .'"><img src ... /></a>'
   ...
}

viewimage.phpサムネイルをクリックすると、viewimage.php にフル サイズの画像が表示されます。ユーザーは左右の矢印を押して画像をナビゲートできます...これにより、サーバー側の $imgid に設定されている JavaScript 変数「imgIndex」が変更されます。

$imgid = $_GET['id']; 

include './scripts/keyinput.php'; 

$newID = $_POST['_postID'];
echo $newID;

keyinput.php viewimage.phpに含まれる Javascript。このコード スニペットでは、ユーザーが右矢印を押すと、$post はサーバー側の $imgid を変更する必要がありますが、そうではありません。

<script type="text/javascript">
  var imgArray = [<?php echo implode(',', getImages($site)) ?>];
  var imgIndex = <?php echo $imgid ?>;

  $(document).ready(function() {

     $(document).keydown(function (e) {
         if (key == rightarrow) { 
             imgIndex++;
             $.post('./templates/viewimage.php', { _postID : imgIndex });
         }
         ...
    });
</script>


<?php
function  getImages($siteParam) {
include 'dbconnect.php';
if ($siteParam == 'artwork') { 
    $table = "artwork"; 
}       
else { 
    $table = "comics"; 
}   

$catResult = $mysqli->query("SELECT id, title, path, thumb, views, catidFK FROM $table");   
$img = array();
while($row = $catResult->fetch_assoc()) 
{
    $img[] = "'" . $row['path'] . "'";
}
return $img;
}
?>

それは私にエラーを与えます:Undefined index: _postID in C:\wamp\www\HTwS\templates\viewimage.php on line 16

keyinput.php の $.post 関数が、更新された imgid を viewimage.php に送り返せないのはなぜですか?

ありがとうございました!

4

0 に答える 0