waarom werkt dit niet?

<?php
$var=-2;

$url = 'http://www.site/bigpics/pic';;
$urlimg = 'http://www.site/pics/pic';;

$tar = '_blank';
$x = '300';
$y = '250';





echo('<html>
<head>
</head>
<body>
<form name="form" method="post">
<INPUT NAME="Vorige" TYPE="submit" VALUE="Vorige" /><BR />
<INPUT NAME="Volgende" TYPE="submit" VALUE="Volgende" /><BR />
</form>');


if (isset($_POST['Volgende'])) {
static $var2;
static $var3;
$var+=3;
$var2=$var+1;
$var3=$var+2;
echo ('<table align=center><tr><td><a href='.$url.''.$var.'.jpg target='.$tar.'><img src='.$urlimg.''.$var.'.jpg width='.$x.'></a></td>');
echo ('<td><a href='.$url.''.$var2.'.jpg target='.$tar.'><img src='.$urlimg.''.$var2.'.jpg width='.$x.'></a></td>');
echo ('<td><a href='.$url.''.$var3.'.jpg target='.$tar.'><img src='.$urlimg.''.$var3.'.jpg width='.$x.'></a></td></tr></table>');
echo "\n";
unset($var);
unset($var2);
unset($var3);

}

?>

bedoeling is na de druk op de knop er $var+=3 wordt gedaan. Maar dit gebeurt dus niet.


Ik heb het ook met functies geprobeerd, maar ook dit krijg ik niet aan de praat.

<?php
function volgende()
{
$url = 'http://www.site.com';;
$urlimg = 'http://www.site.com';;

$tar = '_blank';
$x = '300';
$y = '250';


static $var=-2;
static $var2;
static $var3;
$var+=3;
$var2=$var+1;
$var3=$var+2;
echo ('<table align=center><tr><td><a href='.$url.''.$var.'.jpg target='.$tar.'><img src='.$urlimg.''.$var.'.jpg width='.$x.'></a></td>');
echo ('<td><a href='.$url.''.$var2.'.jpg target='.$tar.'><img src='.$urlimg.''.$var2.'.jpg width='.$x.'></a></td>');
echo ('<td><a href='.$url.''.$var3.'.jpg target='.$tar.'><img src='.$urlimg.''.$var3.'.jpg width='.$x.'></a></td></tr></table>');
echo "\n";
unset($var);
unset($var2);
unset($var3);


}

volgende();
volgende();
volgende();
volgende();
volgende();
volgende();
?>

Dit werkt dus wel, maar ipv de hele tijd volgende();
zou de functie dus met een druk op de knop moeten werken.
En een loop?

<?php
for ($i=0;$i<6;$i++) {
volgende();
}
?>
ja, het werkt wel, maar het probleem is dat ik het met een 'volgende' knop wil doen werken.

Ik heb dit geprobeerd, maar hiermee geeft ie steeds 3 dezelfde afbeeldingen weer. nl pic1.jpg, pic2.jpg en pic2.jpg

if (isset($_POST['Volgende'])) {
$max=2;
$min=$max-1;
for($i=$min ; $i<$max ; $i++){
volgende();
}
}
Makkelijker is werken met get's, of anders een sessie. Want jij slaat die waardes nergens op.
ja, dat heb ik dus al geprobeerd via sessies. Kijk maar eens op:
http://www.phphulp.nl/forum/showtopic.php?cat=2&id=15500&page=

Maar dat werkte niet 100%
Het probleem met sessies was dat ik de sessies moest linken aan een 'volgende' en een 'vorige' knop.

Je zegt dat ik het nergens op sla, maar als ik simpelweg
het volgende doe:
<?php
function volgende()
{
$url = 'http://www.site.com';;
$urlimg = 'http://www.site.com';;

$tar = '_blank';
$x = '300';
$y = '250';


static $var=-2;
static $var2;
static $var3;
$var+=3;
$var2=$var+1;
$var3=$var+2;
echo ('<table align=center><tr><td><a href='.$url.''.$var.'.jpg target='.$tar.'><img src='.$urlimg.''.$var.'.jpg width='.$x.'></a></td>');
echo ('<td><a href='.$url.''.$var2.'.jpg target='.$tar.'><img src='.$urlimg.''.$var2.'.jpg width='.$x.'></a></td>');
echo ('<td><a href='.$url.''.$var3.'.jpg target='.$tar.'><img src='.$urlimg.''.$var3.'.jpg width='.$x.'></a></td></tr></table>');
echo "\n";
unset($var);
unset($var2);
unset($var3);


}

volgende();
volgende();
volgende();
volgende();
volgende();
volgende();
?>

Dan onthoudt hij toch voor elke keer ik volgende(): oproep, waar hij de vorige keer is gebleven omwille van de unset.
Dus als het script werkt door telkens volgende() op te roepen, moet dit toch ook kunnen door een druk op de knop. Of zie ik dit verkeerd?
Ik weet niet presies wat je wilt, maar volgens mij wil je dit:

<?php
session_start();

if(isset($_SESSION['fotonummer']))
{
$fotonummer = $_SESSION['fotonummer'];
}else{
$fotonummer = 1;
$_SESSION['fotonummer'] = 1;
}

if(isset($_GET['actie']))
{
$actie = $_GET['actie'];
$acties = array('vorige','volgende');

if(in_array($actie,$acties))
{
if($actie == 'vorige')
{
$fotonummer--;
}
if($actie == 'volgende')
{
$fotonummer++;
}

$_SESSION['fotonummer'] = $fotonummer;

}else{
echo 'Sorry, deze actie is niet toegestaan!';
}
}

echo '<img src="http://www.i-cey.net/'.$fotonummer.'.jpg"></a>';;

echo '<br><br><a href="?actie=vorige">Vorige</a> - <a href="?actie=volgende">Volgende</a>';

?>
Dat was bij ook al niet duidelijk, toen zei een ander topic hierover startte vanmiddag. Als je vertelt wat je wilt, wordt het een stuk makkelijker om je te helpen.

edit: nu ik die code bekijk snap ik wat er gevraagd word. Snapte er al niks van.
LOL
idd,
daarop ben ik dus al een GANSE dag aan het zoeken :-)
Bedankt
Ik maak zoiets dus in minder dan een minuut, echter ben ik wel een ganse dag bezig geweest om te begrijpen wat jij nu eigenlijk wilt..

Moraal van dit verhaal, met een stukje code kom je er niet. Zeker niet als die code niet doet wat het moet doen. Wees voortaan dus duidelijk, teken wat op papier of maak een modelletje ofzo.

Arjan

Reageren