尝试使用php制作一个简单的图像;画廊“;在网页中

尝试使用php制作一个简单的图像;画廊“;在网页中,php,html,Php,Html,我正试图做一个基本的画廊的排序放在网页上。这是我目前的代码: <? if($_REQUEST['cho'] == 'next') { $img = $img + 1; } else if($_REQUEST['cho'] == "previous") { $img = $img - 1; } else if(!$_REQUEST['cho'] == 'next') { if(!$_REQUEST['cho'] == "previous") { $img = 1;

我正试图做一个基本的画廊的排序放在网页上。这是我目前的代码:

<?
if($_REQUEST['cho'] == 'next')
{
  $img = $img + 1;
}
else
if($_REQUEST['cho'] == "previous")
{
  $img = $img - 1;
}
else
if(!$_REQUEST['cho'] == 'next')
{
  if(!$_REQUEST['cho'] == "previous")
  {
    $img = 1;
  }
}
?>

<center>
<table border =1>
<tr>
<td>
<form action="image.php" method="post">
<input type="submit" name="cho" value="previous">
</form>
</td>
<td>
<form action="image.php" method="post">
<input type="submit" name="cho" value="next">
</form>
</td>
</tr>
<BR>
<table border =1>
<tr>
<td>
<img src="<? echo($img . ".jpg"); ?>">
</td>
</tr>
</table>


">
它都保存在一个名为
image.php
的文件中

我可以查看第一个图像(名为1.jpg,所有图像的名称如下。)按下下一个按钮显示第二个图像。但从那时起,按下
previous
按钮尝试加载
-1。jpg
next
只加载当前图像


谢谢。

这与变量$img的作用域有关。您当前在每个if语句中都声明了该变量。您应该在任何循环之前声明该变量,以便该值是持久的

请看这里:

<?

 $img = 1;

if($_REQUEST['cho'] == 'next')
{
  $img = $img + 1;
}
else
 if($_REQUEST['cho'] == "previous")
 {
   $img = $img - 1;
 }
else
 if(!$_REQUEST['cho'] == 'next')
{
  if(!$_REQUEST['cho'] == "previous")
  {
    $img = 1;
  }
}
?>

使用php会话,或将其保存并以查询字符串形式传递(?img=3而不是?cho=next,并自动计算下一个和上一个链接)



在这种情况下,$img将是0,1或2,这些是有限的选项尝试此,$img仍然不会超过2,现在在按下上一个按钮时设置为0而不是-1。您有什么问题吗?我使用了一个查询字符串。谢谢。很有效now@theThird,因此您可以在两个答案中的一个上打上正确的勾号,RegardOne,抱歉直到新的开始。
<?php
$totalImages = 5;

session_start();
if (!isset($_SESSION['currentImage'])) {
  $_SESSION['currentImage'] = 1;
}

if($_REQUEST['cho'] == 'next')
{
   if($_SESSION['currentImage'] === $totalImages) {
       $_SESSION['currentImage'] = 1;
   } else {
       $_SESSION['currentImage']++;
   }

}
elseif($_REQUEST['cho'] == "previous")
{
   if($_SESSION['currentImage'] === 1) {
       $_SESSION['currentImage'] = $totalImages;
   } else {
       $_SESSION['currentImage']--;
   }
}

?>