Autor Zpráva
kexeeck
Profil
Zdravím.
Potřebovala bych pomoci s následujícím problémem. Chci mít na stránce obrázek a tlačítka "Další" a "Předchozí", které by (překvapivě) měly tu funkci, že zobrazí místo aktuálního obrázku obrázek jiný (obrázky jsou pojmenované 1.jpg, 2.jpg, atd., takže zobrazí obrázek s číslem o jedno menší nebo o jedno větší).
Zkoušela jsem to v PHP, ale potřebuji to udělat bez databáze. Prostě něco jako že by se každým kliknutím změnila hodnota proměnné a pak by tam bylo něco jako:
echo "<img src='$x.jpg'>";
Jde to vůbec nějak relativně jednoduše udělat?
Chro
Profil
Možné řešení, nebude korektně fungovat pokud má návštěvník vyplé cookie.
<?php
define('PRVNI_FOTO', 1);
define('POSL_FOTO', 9);
define('SLOZKA', 'fotky/');

if (isset($_COOKIE['cislo_obr']))
{
$cislo_obr = $_COOKIE['cislo_obr'];
}
else
{
$cislo_obr = 1;
}

if (isset($_POST['vpred']))
{
$cislo_obr++;
setcookie('cislo_obr', $cislo_obr, time() + 60 * 60 * 24 * 365);
}

if (isset($_POST['vzad']))
{
$cislo_obr--;
setcookie('cislo_obr', $cislo_obr, time() + 60 * 60 * 24 * 365);
}

if ($cislo_obr != POSL_FOTO)
{
$stav_vpred = TRUE;
}

if ($cislo_obr != PRVNI_FOTO)
{
$stav_vzad = TRUE;
}
?>
<html>
<head>
</head>
<body>
<form action="" method="post">
<?php
if (isset($stav_vzad))
{
echo '<input type="submit" name="vzad" value=" Predchozi ">'."\n";
}
if (isset($stav_vpred))
{
echo '<input type="submit" name="vpred" value=" Dalsi ">'."\n";
}
?>
</form>
<img src="<?php echo SLOZKA.$cislo_obr; ?>.jpg">
</body>
</html>
kexeeck
Profil
Děkuju za radu.
Ale nešlo by to udělat tak, aby, když se to odesílá metodou GET, pak v url adrese u dalšího obrázku nebylo:
.../archiv.php?vpred=+Dalsi+
ale něco jako:
.../archiv.php?page=2
Chro
Profil
<?php
define('PRVNI_FOTO', 1);
define('POSL_FOTO', 9);
define('SLOZKA', 'fotky/');

if (isset($_GET['page']))
{
$page = (int) $_GET['page'];
if ($page >= PRVNI_FOTO && $page <= POSL_FOTO)
{
$cislo_obr = $page;
}
else
{
$cislo_obr = 1;
}
}
else
{
$cislo_obr = 1;
}
?>
<html>
<head>
</head>
<body>
<img src="<?php echo SLOZKA.$cislo_obr; ?>.jpg">
<form action="" method="get">
<?php
if ($cislo_obr != PRVNI_FOTO)
{
echo '<input type="submit" name="page" value="'.($cislo_obr - 1).'">'."\n";
}
if ($cislo_obr != POSL_FOTO)
{
echo '<input type="submit" name="page" value="'.($cislo_obr + 1).'">'."\n";
}
?>
</form>
</body>
</html>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0