Rekenmachine vraagje

Status
Niet open voor verdere reacties.

kokkie20

Gebruiker
Lid geworden
4 aug 2006
Berichten
221
Hallo,
Ik ben bezig met een rekenmachine,
Ik heb zover gekregen dat hij 1 som wilt uitrekenen, maar de bedoeling is dat hij er meerdere moet uitrekenen.
Dus als getal 1; 30 is en getal 2; 15
en de persoon selecteert:

+ - / (operatiefen)
dat hij dan krijgt:
30 + 15 = 45
30 - 15 = 15
30 / 15 = 2

Ik heb van alles geprobeert, en ben pas bezig sinds dinsdag ongeveer met php (via school)
Maar kom er niet verder mee,
Hierbij tot nu toe mijn code:

PHP:
<TITLE>PHP Calculator v1</TITLE>
<table>
<form name="form" action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
getal 1: <input type=text name=value1><br />
getal 2: <input type=text name=value2><br />
Operation: <tr><td><input type=radio name=oper value="add">Optellen </td><td><input type=radio name=oper2 value="subtract">Aftellen</td></tr><tr><td><input type=radio name=oper3 value="divide">Delen</td><td> <input type=radio name=oper4 value="multiply">Vermenigvuldigen</input></td></tr><br>
<input type=submit value="Calculate">
</form>
<?php
$getal1 = $_POST['value1'];
$getal2 = $_POST['value2'];
$oper = $_POST['oper'];
$oper2 = $_POST['oper2'];
$oper3 = $_POST['oper3'];
$oper4 = $_POST['oper4'];
     if(!$getal1){
          echo("Voer getal 1 in!");
          exit;
     }
     if(!$getal2){
          echo("Voer getal 2 in!");
          exit;
     }
     if(!$oper){
          echo("Je moet nog een operator kiezen!");
          exit;
     }
     if($oper == "add"){
          add($getal1,$getal2);
     }
     if($oper2 == "subtract"){
          subtract($getal1,$getal2);
     }
     if($oper3 == "divide"){
          divide($getal1,$getal2);
     }
     if($oper4 == "multiply"){
          multiply($getal1,$getal2);
     }

          function add($getal1,$getal2)
          {
                   $result =$getal1 + $getal2;
                    echo("$getal1 + $getal2 = $result");
                    exit;
           }

          function subtract($getal1,$getal2)
          {
                   $result =$getal1 - $getal2;
                    echo("$getal1 - $getal2 = $result");
                    exit;
           }

          function divide($getal1,$getal2)
          {
                   $result =$getal1 / $getal2;
                    echo("$getal1 ÷ $getal2 = $result");
                    exit;
           }

          function multiply($getal1,$getal2)
          {
                   $result =$getal1 * $getal2;
                    echo("$getal1 x $getal2 = $result");
                    exit;
           }

?>

mocht iemand me ermee kunnen helpen graag, want ik weet het echt niet meer.
 
Als je radiobuttons gebruikt, is het idee dat je ze allemaal hetzelfde NAME attribuut geeft; zo weet de browser welke er bij elkaar horen.

Als je dat doet, kun je gewoon $oper uitlezen, dat is dan altijd de gekozen operator, en hoef je de andere variabelen niet te gebruiken.
 
Ok andere manier geprobeerd:

PHP:
<html>
<head>
<title>Checkboxes</title>

<?php

ini_set('display_errors','1');
error_reporting (E_ALL); 

if ( isset($_POST['formSubmit']))
{
	$numa = $_POST['numa'];
	$numb = $_POST['numb'];
	$r = "";
		
	if(isset($_POST['Optellen']) && 
	$_POST['Optellen'] == 'Yes') 
	{
	    $r .= "$numa + $numb = " . $numa+$numb . " <br />";
	}
		if(isset($_POST['Aftrekken']) && 
	$_POST['Aftrekken'] == 'Yes') 
	{
	    $r .= "$numa - $numb = " . $numa-$numb . " <br />";
	}
	if(isset($_POST['Delen']) && 
	$_POST['Delen'] == 'Yes') 
	{
	    $r .= "$numa / $numb = " . $numa/$numb . " <br />";
	}
	if(isset($_POST['Vermenigvuldigen']) && 
	$_POST['Vermenigvuldigen'] == 'Yes') 
	{
	    $r .= "$numa x $numb = " . $numa*$numb . " <br />";
	}
	if(isset($_POST['Modulo']) && 
	$_POST['Modulo'] == 'Yes') 
	{
	    $r .= "$numa % $numb = " . $numa%$numb . " <br />";
	}
	echo $r;
	}else{	
?>

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
<table>
<tr><td>Getal 1:</td><td><input type="text" name="numa" /></td></tr>
<tr><td>Getal 2:</td><td><input type="text" name="numb" /></td></tr>
<tr><td><input type="checkbox" name="Optellen" value="Yes" /></td><td>Optellen</td>
<td><input type="checkbox" name="Aftrekken" value="Yes" /></td><td>Aftrekken</td></tr>
<tr><td><input type="checkbox" name="Delen" value="Yes" /></td><td>Delen</td>
<td><input type="checkbox" name="Vermenigvuldigen" value="Yes" /></td><td>Vermenigvuldigen</td></tr>
<tr><td><input type="checkbox" name="Modulo" value="Yes" /></td><td>Modulo</td></tr>
<tr><td><input type="submit" name="formSubmit" value="Submit" /></td></tr>
</form>

<?php
}
?>
</body>
</html>

Maar als ik dit doe, doet de delen, vermenigvuldigen, en de modulo het (hij meot de som laten zien)
maar bij de optellen + aftrekken laat hij alleen het resultaat zien.
iemand enige suggestie?
bedankt :thumb:
 
Het is niet handig om variabelen in een string te zetten, dat levert soms rare resultaten op.

Probeer het eens zo:

PHP:
echo $num1 . ' + ' . $num2 . ' = ' . ( $num1 + $num2 );
 
ok bedankt ga dat proberen.
Hopen dat hij het nu wel goed gaat doen.
bedankt voor de moeite :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan