0

我正在尝试为我的图像站点创建一个喜欢功能,以便用户可以喜欢或不喜欢图像......他们从主页开始,在那里他们可以看到图像的缩略图。一旦他们点击缩略图,他们就会被带到 viewimage.php 以查看完整尺寸。他们可以喜欢那里。

问题是,相关的 $imgid 没有被更新,所以一旦你加载 viewimage.php,我就被那个 $imgid 困住了,因此相关的总喜欢。

homepage.php:包含每个全尺寸图像的小缩略图。如您所见,如果他们单击缩略图,则发送到 viewimage.php 的参数之一是 $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