Hallo hier,

ik heb een opdracht voor school gekregen om een script te maken die het volgende kan:

Schrijf een programma dat als invoer kent een geleend bedrag, een rentepercentage en een looptijd. Het geleende bedrag wordt in het gelijke termijnen van de looptijd afgelost. Als afdrukt verschijnt op het scherm de jaarlijkse rentebetaling en de restschuld.

dit heb ik nu:
maar het werkt niet naar behoren!


	<?php
	if (!empty($_POST["submit"]))
		{
		$leen =  $_POST["leen"];	
		$rent =  $_POST["rent"];		
		$loop =  $_POST["loop"];
		$leent=  0;
		$rente = ($leen / 100) * $rent;
		for ($teller = 1 && $leent = $leen ; $teller < $loop or $leent < 0 ; $teller++ && $leent - $rente ) 
			{			
			echo " na $teller jaren is het bedrag nog $leent , de jaarlijkse kosten zijn $rente" . "<br/>";
			}
		echo "<a href=\"leen.php\">nog een berekening</a>";
		}	
	else
		{
	?>
	<html>
	<head>
	<title>Lenen</title>
	</head>
	<body>
	<form name="form1" method="post" action="leen.php">
	<table>
	<tr><td>Het bedrag dat u wilt lenen:</td><td><input name="leen" ></td></tr>
	<tr><td>Rentepercentage:</td><td><input name="rent" ></td></tr>
	<tr><td>Looptijd in jaren:</td><td><input name="loop" ></td></tr>
	<tr><td></td><td><input type="submit" name="submit" value="verzenden">
	<input type="reset" name="reset" value="reset"></td></tr>
	</form>
	<?php
	}
	?>
	</body>
	</html>


ik krijg geen resultaten,
wat doe ik fout?

Mvg,
Jan
Krijg ik dan ook je stikker als ik je huiswerk maak?
haha als jij dat wilt dan krijg je dat ;)

maar volgens mij zit ik wel op de goede weg...
maar krijg het niet werkend
Jaap, huiswerk maken doen je in feite zelf, maar vooruit:

dit:
if (!empty($_POST["submit"]))

is een foutieve controle
je dient gebruik te maken van de $_SERVER['REQUEST_METHOD']

en heir
$leen = $_POST["leen"];
$rent = $_POST["rent"];
$loop = $_POST["loop"];

vergeet je controle en validatie en maak je overbodige variabelen aan

probeer het een en ander eens met een simpele for loop en de berekening binnen de forloop te doen
zo al beter?

<?php
	$_SERVER['REQUEST_METHOD']
		{
		$leen =  $_POST["leen"];	
		$rent =  $_POST["rent"];		
		$loop =  $_POST["loop"];
		$rente = ($leen / 100) * $rent;
		for ($teller = 1 && $leent = $leen ; $teller < $loop or $leent < 0 ; $teller++ && $leent - $rente ) 
			{			
			echo " na $teller jaren is het bedrag nog $leent , de jaarlijkse kosten zijn $rente" . "<br/>";
			}
		echo "<a href=\"leen.php\">nog een berekening</a>";
		}	
	else
		{
	?>


de berekeningen horen toch tussen de () haakjes en niet tussen de {} of zit ik nu fout?

wat voor controle? en validatie?
Je moet kijken er een request gedaan is. Dus moet je gebruik maken van een if / else structuur

<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
// Etc
}
?>

Misschien is het handig om deze tutorial eens door te nemen?
Misschien is het in dit geval overzichtelijker om een while lust te gebruiken.
Want je for lus is aardig ingewikkeld.

En ik neem aan dat je met && een , bedoelt?

Dus:
<?php
$teller = 1;
$leent = $leen;

while( $teller < $loop
|| $leent < 0 )
{
...
$teller++;
$leent - $rente; // Hier gebeurd niks waar komt het resultaat in?
}
?>
Volgens mij is een for nog altijd handiger dan eigen gebouwde for met while.
Waarom je hier een while lus wilt gebruiken is mij nog niet duidelijk. Een for loop is hier gewoon perfect voor.
ik heb dit weer aangepast:

 	if ($_SERVER['REQUEST_METHOD'] == "post") 


wat zit er nog meer fout?
Wat nog mooier is dit:

<?php
if(strtoupper($_SERVER['REQUEST_METHOD']) == 'POST')
?>

Reageren