Ik heb dit scriptje, maar hij blijft waarde 4 weergeven.
Hoe kan ik het aanpakken dat a met iedere post 1 opgehoogd wordt?




<?
$a = 4;

if($_POST['submitform']) {

$a = $a = 1;

echo $a;

}
else {}


?>
<form name="contactform" action="<?php echo $PHP_SELF; ?>" method="post">
<input type="submit" value="ga!" name="submitform">
en waar moet $a = $a = 1; op slaan, doe gewoon $a++;
$a = $a = 1 moet zijn $a = $a + 1; klopt maar daar ligt het niet aan, ik ga jouw oplossing ff proberen.
je zou ook nog $a+=2 kunnen doe ofzo, voor als je het met meer wil verhogen
Helaas, hij telt er 1 keer 1 bij op, maar daarna niet meer. Mogelijk omdat hij weer de waarde krijgt van a aan het begin van het script. Maar hoe los ik dat op?
heb je 2 aparte pagina's? zoja, dan is dat het probleem
Bij het (her)laden van je pagina zijn geen variabelen gezet. Variabelen worden dus niet opgeslagen en later herbruikt. Deze zul je dus in een database moeten opslaan of in een global-variabele meegeven (GET, POST, COOKIE of SESSION lijken mij de meest voor de hand liggende..)
Verder zou je het in het uiterste geval ook in een .txt-file kunnen opslaan, maar dat raad ik je niet aan.
@mark L,

hij kan ook zn formulier in de else zetten en het is ook klaar
Voor de duidelijkheid, het moet mogelijk zijn om meerdere malen op post te drukken, dus vincents voorstel gaat niet op. Ook liever geen db of txt.
Er zou dus iets moeten komen die een waarde 1 keer meegeeft zolang je op de pagina blijft en dan niet meer te zien is of zo.
@Vincent
Wat heeft het verhogen van de variabele $a met het plaatsen van een formulier in een else-clausule te maken? In zijn formulier kan hij uiteraard wel de waarde van $a meegeven (denk aan een hidden-input). Dit is echter wel te wijzigen op deze manier.

<?php
	$a=2;
	if($_SERVER['REQUEST_METHOD'] == 'POST')
	{
		$a++;
		echo $a;
		// Hier je formulier	
	}
	else
	{
		// en hier je fumulier
	}
?>

Reageren