Output vak

  • Onderwerp starter Onderwerp starter xkb94
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

xkb94

Gebruiker
Lid geworden
20 jun 2011
Berichten
13
Ik ben bezig een rekenmachine met een PHP-script te maken. Het is echter de bedoeling dat de uitkomst ook in een vakje komt. Daarnaast moet de input blijven staan.
Kan iemand mij daar mee helpen?
Ik heb het volgende script:


<html>
<head>
<title>Voorbeeld 7.5 - een PHP-rekenmachine</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $_SERVER["PHP_SELF"]?>">
getal 1:<input name="getal1" type="text"><br>
getal 2:<input name="getal2" type="text"> <br>
<input type="submit" name="Submit" value="Vermenigvuldigen!">
<hr />
resultaat:<name="$getal1 * $getal2" type="text")><br>
</form>
<?php

if (!empty($_POST)){
$getal1 = $_POST["getal1"];
$getal2 = $_POST["getal2"];
$totaal = $getal1 * $getal2;
echo "<h1>$getal1 * $getal2 = $totaal</h1>";
}
?>
</body>
</html>


Met vriendelijke groet,
Koen
 
Laatst bewerkt:
Als je de rekenmachine maakt met het doel dat het er voor de eindgebruiker het mooist uitziet, dan zou ik javascript aanraden: je hoeft dan geen page reloads te doen.

PHP heeft dus als enige nadeel dat de pagina herladen moet worden, tenzij je ajax (combi van php + javascript) gaat gebruiken.

ok... informatie in een vakje zetten.

PHP is een server side script, dit wordt dus uitgevoerd op de server en daar "vertaald" naar een uitkomst die al dan niet naar de browser wordt gestuurd.

Om de informatie in een vakje te krijgen, hoef je dus niet meer of minder te doen dan de waarde op de juiste plek echo'en.

PHP:
<?PHP 
// Script eerst, berekeningen doen enzo, dan als laatst de HTML + resultaat.

$result = $_POST['result'];

// Kijken of er op button 1 is gedrukt
if( isset( $_POST['button1'] ) )
{
	$result .= '1';
}
if( isset( $_POST['button2'] ) )
{
	$result .= '2';
}
if( isset( $_POST['button3'] ) )
{
	$result .= '3';
}
if( isset( $_POST['plus'] ) )
{
	$result .= '+';
}
if( isset( $_POST['min'] ) )
{
	$result .= '-';
}
if( isset( $_POST['enter'] ) )
{
	$result = eval( 'return '. $result . ';' );
}
?>

<form method="post">
<input type="text" name="result" value="<?PHP if(isset($result)) { echo $result; } ?>" /><br />
<input type="submit" name="button1" value="1" />
<input type="submit" name="button2" value="2" />
<input type="submit" name="button3" value="3" /><br />

<input type="submit" name="plus" value="+" />
<input type="submit" name="min" value="-" />
<input type="submit" name="enter" value="Enter" />
</form>

Ik denk dat je bovenstaand scriptje wel kunt gebruiken als een leuke basis :)
LET WEL, "eval" kan een redelijk gevaarlijke code zijn! omdat deze PHP script parsed.
Als je er alleen maar mee wilt spelen, is het een uitstekende functie. Stel dat je het ook wilt publiceren op je site oid, dan kan er met regular expressions een valide string opgesteld worden, zodat niet zomaar alle code toegestaan wordt :)

ik hoop dat je er wat mee kunt!

Gegroet,

Jeffrey
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan