Form met "post" variabele opslaan als sessie variabele

Status
Niet open voor verdere reacties.

raymond88

Gebruiker
Lid geworden
24 feb 2010
Berichten
287
Hallo,

Ik heb een formuliertje gemaakt, waarin buttons staan. Deze dingen haalt hij eerst op uit de database. Wanneer ik op zo'n knop druk, leg ik een sessie variabele vast, en het formulier gaat terug (action) naar zichzelf. De post ik dan bovenaan, achter "Evenement: ". Echter duurt het nog een refresh extra (of een klik) om uiteindelijk de variabele te tonen. Ik denk dus dat de manier van ophalen niet geheel goed is.

Voorbeeldje;
- Klik op button feest 1
- Evenement:
- Klik nog een keer button feest 1
- Evenement: feest 1
- Klik op button feest 2
- Evenement: feest 1
- Klik op button feest 6:
- Evenement: feest 2
Hij haalt dus niet de allerlaatste sessie variabele op.

P.s. Opmerkingen om het script te verbeten op andere punten zijn welkom, ben nog bij aan het leren.

PHP:
<?php 
session_start(); 
?>
<html>
<head><title>Scrollding</title>
</head>
<body>
<p>Evenement: <?php if(isset($_SESSION['selectiefeest'])){
	echo $_SESSION['evenementnaam']; } ?> </p>
<div id="achtergrondscroller" style='width: 270px; background-color: #999'>
	<div id='scrollergrootte' style='height: 200px; width:280px;overflow:auto; margin: 0 auto;'>
    	<form method="post" name="feestje" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <?php
		$query=mysql_query("SELECT feestimage,id FROM feest WHERE status = 'actief' ORDER BY evenement ASC");
		while ($record = mysql_fetch_array($query)){
			$feestimage = $record['feestimage'];
			$id = $record['id'];
			?>
			<p><button type="submit" name="selectiefeest" value="<?php echo $id; ?>">
            	<img src="images/headers/<?php echo $feestimage; ?>" alt="<?php echo substr($feestimage, 0, -4); ?>" />
               </button></p>
     		<?php 
	 	} ?>
        </form>
        <?php 
		// Als gezet is
		if(isset($_POST['selectiefeest'])){	
			$query=mysql_query("SELECT id, evenement FROM feest WHERE id = '".$_POST['selectiefeest']."' ");
			while ($record = mysql_fetch_array($query)){
				$_SESSION['selectiefeest'] = $record['id'];
				$_SESSION['evenementnaam'] = $record['evenement'];
        	}
         ?>
  </div>
</div>
<?php
		} ?>

</body>
</html>
 
Laatst bewerkt:
Op het moment dat er op een knop geklikt wordt, wordt de pagina opnieuw geladen. Op het moment dat regel 8 gelezen wordt is "$_SESSION['selectiefeest']" nog niet "geset". Dit gebeurt immers pas op regel 30. De makkelijkste manier om dit probleem op te lossen is om regel 25-33 te verplaatsen en voor regel 8 te zetten.
 
Op het moment dat er op een knop geklikt wordt, wordt de pagina opnieuw geladen. Op het moment dat regel 8 gelezen wordt is "$_SESSION['selectiefeest']" nog niet "geset". Dit gebeurt immers pas op regel 30. De makkelijkste manier om dit probleem op te lossen is om regel 25-33 te verplaatsen en voor regel 8 te zetten.

Achja tuurlijk, logica.. Thanks ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan