Hallo, ik loop een beetje vast. Ik ben bezig met een permutaties en combinaties rekenmachine in 1 pagina te stoppen. Ik heb 2 submits knoppen. Hoe kan ik ervoor zorgen dat als ik op het eerste knopje druk de faculteit wordt berekend, en als ik op het tweede knopje druk de combinatie wordt berekend?

Dit is de code:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Permutaties en combinaties</title>
</head>
<body>
<?php 
	$getal1 = $_POST ['getal1'];
	$faculteit = 1;
	$n = $_POST ['n'];
	$r = $_POST ['r'];

	for ($x=$getal1; $x>=1 ; $x--) { 
		$faculteit = $faculteit * $x;
	}

	if (strlen($getal1) > 0) {
	echo "De faculteit van " . $getal1 . " is " . $faculteit;
	}

	define (NaN,acos(1.01));

	function nCr($n,$r){
    	if ($r > $n)
    	  return NaN;
   		if (($n-$r) < $r)
    	  return nCr($n,($n-$r));
 		 $return = 1;
  		 for ($i=0;$i < $r;$i++){
     		 $return *= ($n-$i)/($i+1);
   	}
	return $return;
}
?>
</body>
</html>


Je kan met isset() kijken welke knop is ingedrukt!

<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
	if(isset($_POST['faculteit'])) {
		// bereken faculteit
	} elseif(isset($_POST['combinatie'])) {
		// bereken combinatie
	} else {
		// onbestaande keuze!
	}
}
?>
side note:

Dan moet je de knoppen wel een name attribuut geven.


<button type="submit" name="faculteit">Faculteit</button>
<button type="submit" name="combinatie">Combinatie</button>


side note 2: isset() controleert of een bepaalde variabele bestaat. Buttons waarop geklikt wordt en een name attribuut hebben worden mee verstuurd met de formulier data.

Om je POST array te debuggen gebruik je:
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
echo '<pre>'.print_r($_POST, true).'</pre>';
}
?>
Verder zou het leuk zijn als je een reactie terug geeft of het gelukt is ja of nee en hoe op je vorige topic ;-)
Of je scheid de acties:
- tonen formulier
- verwerken actie #1
- verwerken actie #2
- ... etc ...
op een andere manier dan een if-elseif-else statement maar breng je deze bijvoorbeeld onder in aparte methoden of zelfs aparte PHP-bestanden. Op die manier kun je waarschijnlijk beter het overzicht bewaren en dingen beter in afzondering behandelen.

Reageren