<?php
echo "
<form method='post' action=''>
Welke bewerking moet er gedaan worden?<br />
(<INPUT TYPE='text' NAME='g1' maxlength='3' size='2' /> + <INPUT TYPE='text' NAME='g2' maxlength='3' size='2' />)^<INPUT TYPE='text' NAME='macht' maxlength='2' size='2' /><br />
Met pyramide? <INPUT TYPE='checkbox' NAME='piram' /><br />
<input type='submit' name='bereken' value='Bereken' />
<hr />
</form>";

if(isset($_POST['bereken']))
{
  $macht  = $_POST['macht'];
  $piram  = $_POST['piram'];
  $getal1  = $_POST['g1'];
  $getal2  = $_POST['g2'];
  $error  = false;

  if(!ereg("^([0-9]*)$", $macht))
    {echo "De ingevulde macht is geen getal waarde.<br />"; $error=true;}  
  if($macht > 999)
    {echo "De ingevulde macht heeft te grote uitkomsten.<br />"; $error=true;}
  if($getal1 == "" || $getal2 == "" || $macht == "")
    {echo "Je hebt 1 of meerdere velden niet ingevuld.<br />"; $error=true;}
  if(!$error)
  {
    $driehoek = array();
    
    $driehoek[1] = array('0','1','0');
    $driehoek[2] = array('0','1','1','0');
    
    for($i=3, $tl=0; $i<$macht+4; $i++, $tl++)
    {
      if(isset($piram)){echo "<b>".$tl."</b>: ";}
      
      for($t=1; $t<$i-1; $t++)
      {
        $driehoek[$i][$t] = $driehoek[$i-1][$t-1]+$driehoek[$i-1][$t];
        if(isset($piram)){echo "<NOBR>  ".$driehoek[$i][$t]."  </NOBR>";}
      }

      if(isset($piram)){echo "<br />";}
    }
    echo "<br />";

    for($h=1, $m1=$macht, $m2=0; $h<$macht+2; $h++, $m1--, $m2++)
    {
      $gm = $macht+3;

      echo $driehoek[$gm][$h];
      if($m1 == $macht)
        {echo "(".$getal1.")<sup>".$m1."</sup> + ";}
      elseif($m2 == $macht)
        {echo "(".$getal2.")<sup>".$m2."</sup>";}
      else
        {echo "(".$getal1.")<sup>".$m1."</sup>(".$getal2.")<sup>".$m2."</sup> + ";}
    }
  }
}
?>