ユーザーが画像を好きまたは嫌いにできるように、自分の画像サイトにいいね機能を作成しようとしています... ユーザーは、画像のサムネイルが表示されるホームページから始めます。サムネイルをクリックすると、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 に送り返せないのはなぜですか?
ありがとうございました!