55
Server-Side Scripting with PHP ISYS 475

Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Embed Size (px)

Citation preview

Page 1: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Server-Side Scripting with PHP

ISYS 475

Page 2: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

PHP Manual Website

• http://www.php.net/manual/en/

Page 3: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Hyper Text Transfer Protocol: Request & Response

Web ServerBrowser

HTTP Request

HTTP Response

Web Application

Page 4: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Data Sent with Request and Response

• Request: – requested URL, cookies, queryString, data from a

form, etc.

• Response:– Web page content in HTML code– Cookies– Etc.

Page 5: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

PHP Language Syntax

Page 6: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

PHP Variables• Variables in PHP are represented by a dollar

sign followed by the name of the variable. • The variable name is case-sensitive.• Variable names can contain letters, numbers,

and underscores.For examples: $num1, $_mySalary

• Variable names can’t begin with a digit or two underscores.

• Variables do not have intrinsic types – it depends on the first data assigned to it.

Page 7: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

PHP code: comments and statements <?php /********************************************* * This program calculates the discount for a * price that's entered by the user ********************************************/ // get the data from the form $list_price = $_GET['list_price']; // calculate the discount $discount_percent = .20; // 20% discount $discount_amount = $subtotal * $discount_percent; $discount_price = $subtotal - $discount_amount; ?>

Another way to code single-line comments # calculate the discount $discount_percent = .20; # 20% discount

Page 8: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Syntax rules PHP statements end with a semicolon.

PHP ignores extra whitespace in statements.

Page 9: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Basic Data Types• Integers • Doubles: are floating-point numbers• Booleans: two possible values either true or false.• NULL: is a special type that only has one value: NULL.• Strings: are sequences of characters• Arrays: are named and indexed collections of other

values.• Objects: are instances of programmer-defined classes• Resources: are special variables that hold references

to resources external to PHP (such as database connections).

Page 10: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Integer values (whole numbers) 15 // an integer -21 // a negative integer

Double values (numbers with decimal positions) 21.5 // a floating-point value -124.82 // a negative floating-point value

The two Boolean values true // equivalent to true, yes, or on false // equivalent to false, no, or off

String values 'Ray Harris' // a string with single quotes "Ray Harris" // a string with double quotes '' // an empty string null // a NULL value

Page 11: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Using the assignment operator (=) as you declare a variable and give it a value

$count = 10; // an integer literal $list_price = 9.50; // a double literal $first_name = 'Bob'; // a string literal $first_name = "Bob"; // a string literal $is_valid = false; // a Boolean literal $product_count = $count; // $product_count is 10 $price = $list_price; // $price is 9.50 $name = $first_name; // $name is "Bob" $is_new = $is_valid; // $is_new is FALSE

Page 12: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

How to assign string expressions Use single quotes to improve PHP efficiency

$first_name = 'Bob';

$last_name = 'Roberts';

Assign NULL values and empty strings

$address2 = ''; // an empty string

$address2 = null; // a NULL value

Use double quotes for variable substitution; not working for single quotes $name = "Name: $first_name"; // Name: Bob

$name1 = 'Name: $first_name'; // Name: $first_name ***********

$name = "$first_name $last_name"; // Bob Roberts

Mix single and double quotes for special purposes

$last_name = "O'Brien"; // O'Brien

$line = 'She said, "Hi."'; // She said, "Hi."

Page 13: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

How to use the concatenation operator (.) How to use the concatenation operator for simple joins

$first_name = 'Bob';

$last_name = 'Roberts';

$name = 'Name: ' . $first_name; // Name: Bob

$name = $first_name . ' ' . $last_name; // Bob Roberts

How to join a number to a string

$price = 19.99;

$price_string = 'Price: ' . $price; // Price: 19.99

$name="$first_name $last_name";echo $name;echo "My name is $name "

Without using concatenation:

Page 14: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

The syntax for the echo statement echo string_expression;

How to use an echo statement within HTML <p>Name: <?php echo $name; ?></p>

How to use an echo statement to output HTML tags and data

<?php echo '<p>Name: ' . $name . '</p>'; ?>

Note: echo and print have the same function.

Page 15: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Common arithmetic operators

Operator Example Result + 5 + 7 12

- 5 - 12 -7

* 6 * 7 42

/ 13 / 4 3.25

% 13 % 4 1

++ $counter++ adds 1 to counter -- $counter-- subtracts 1 from counter

Page 16: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Math Functions:http://www.php.net/manual/en/ref.math.php

Examples:

pow ( number $base , number $exp)

echo pow(2, 3);

Page 17: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Some simple numeric expressions $x = 14;

$y = 8;

$result = $x + $y; // 22

$result = $x - $y; // 6

$result = $x * $y; // 112

$result = $x / $y; // 1.75

$result = $x % $y; // 6

$x++; // 15

$y--; // 7

Page 18: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

The order of precedence

Order Operators Direction

1 ++ Left to right

2 -- Left to right

3 * / % Left to right

4 + - Left to right

Order of precedence and the use of parentheses 3 + 4 * 5 // 23 (3 + 4) * 5 // 35

Page 19: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

The compound assignment operators .=

+=

-=

*=

/=

%=

Page 20: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Three functions for checking variable values isset($var)

empty($var)

is_numeric($var)

Function calls that check variable values isset($name) // TRUE if $name has been set // and is not NULL

empty($name) // TRUE if $name is empty

is_numeric($price) // TRUE if $price is a number

Difference between these functions:http://techtalk.virendrachandak.com/php-isset-vs-empty-vs-is_null/

Page 21: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

PHP Superglobal variables• Superglobals are built-in variables that are always

available in all scopes

Page 22: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

$_GET

• An associative array of variables passed to the current script via the URL parameters (queryString).

Page 23: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

An HTML form that does an HTTP GET request <form action="display.php" method="get"> <label>First name: </label> <input type="text" name="first_name"/><br /> <label>Last name: </label> <input type="text" name="last_name"/><br /> <label>&nbsp;</label> <input type="submit" value="Submit"/> </form>

The URL for the HTTP GET request //localhost/.../display.php?first_name=Ray&last_name=Harris

Getting the data and storing it in variables $first_name = $_GET['first_name']; $last_name = $_GET['last_name'];

Page 24: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

An <a> tag that performs an HTTP GET request <a href="display.php?first_name=Joel&last_name=Murach"> Display Name </a>

Page 25: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

$_POST

• An associative array of variables passed to the current script via the HTTP POST method.

Page 26: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

A PHP page for an HTTP POST request

An HTML form that specifies the POST method <form action="display.php" method="post">

Code that gets the data from the $_POST array $first_name = $_POST['first_name']; $last_name = $_POST['last_name'];

Page 27: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Example: Compute Sum

<div> <form name="sumForm" method="post" action="computeSum.php"> <label>Value 1:</label> <input type="text" name="num1" value="" /><br><br> <label>Value 2:</label><input type="text" name="num2" value="" /><br><br> <label>Sum:</label> <input type="text" name="sum" value="" /><br><br> <input type="submit" value="Compute Sum" name="btnSubmit" /> </form> </div>

Page 28: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Example: computeSum.php

<body> <?php $num1=$_POST["num1"]; $num2=$_POST["num2"]; $sum=$num1+$num2; echo "<label>Value 1:</label> <input type='text' name='num1' value='$num1'/><br><br>"; echo "<label>Value 2:</label> <input type='text' name='num2' value='$num2' /><br><br>"; echo "<label>Sum:</label> <input type='text' name='sum' value='$sum' /><br><br>";

?> </body>

Page 29: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Embed PHP code in HTMLUsing PHP Expression: <?php ?>

<body> <?php $num1=$_POST["num1"]; $num2=$_POST["num2"]; $sum=$num1+$num2; ?> <label>Value 1:</label> <input type="text" name="num1" value="<?php echo $num1;?>" /><br><br> <label>Value 2:</label><input type="text" name="num2" value="<?php echo $num2;?>" /><br><br> <label>Sum:</label> <input type="text" name="sum" value="<?php echo $sum;?>" /><br><br> </body>

Page 30: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Compute Future Value:Process form with various controls

Page 31: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Form Code<form name="fvForm" method="post" action="computeFV.php"> Enter present value: <input type="text" name="PV" value="" /><br><br> Select interest rate: <select name="Rate"> <option value=.04>4%</option> <option value=.05>5%</option> <option value=.06>6%</option> <option value=.07>7%</option> <option value=.08>8%</option> </select><br><br> Select year: <br> <input type="radio" name="Year" value="10" />10-year<br> <input type="radio" name="Year" value="15" />15-year<br> <input type="radio" name="Year" value="30" />30-year<br><br>

<input type="submit" value="ComputeFV" name="btnCompute" /> </form>

Page 32: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

PHP Code Example

<?php $myPV=$_POST["PV"]; $myRate=$_POST["Rate"]; $myYear=$_POST["Year"]; $FV=$myPV*pow(1+$myRate,$myYear); echo "FutureValue is:" . $FV; ?>

Page 33: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

number_format — Format a number with grouped thousands

• If only one parameter is given, number will be formatted without decimals, but with a comma (",") between every group of thousands.

• If two parameters are given, number will be formatted with decimals with a dot (".") in front, and a comma (",") between every group of thousands.

Page 34: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Examples: Comma and Currency format

$number = 1234.56;$formated_number = number_format($number);// 1,235

$formated_number = number_format($number,2);// 1,235.56

$formated_number = “$” . number_format($number,2);// $1,235.56

echo "FutureValue is: $" . number_format($FV,2);

NOTE: money_format() is undefined in Windows.

Page 35: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

The relational operators

Operator Example == $last_name == "Harris"

$test_score == 10

!= $first_name != "Ray" $months != 0

< $age < 18

<= $investment <= 0

> $test_score > 100

>= $rate / 100 >= 0.1

The logical operators in order of precedence

Operator Example ! !is_numeric($age)

&& $age > 17 && $score < 70

|| !is_numeric($rate) || $rate < 0

Decision with If statement

Page 36: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

An if statement with no other clauses

if ( $price <= 0 ) {

$message = 'Price must be greater than zero.';

}

An if statement with an else clause if ( empty($first_name) ) {

$message = 'You must enter your first name.';

} else {

$message = 'Hello ' . $first_name.'!';

}

Note: { } is optional if only one statement

Page 37: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

An if statement with else if and else clauses if ( empty($investment) ) { $message = 'Investment is a required field.'; } else if ( !is_numeric($investment) ) { $message = 'Investment must be a valid number.'; } else if ( $investment <= 0 ) { $message = 'Investment must be greater than zero.'; } else { $message = 'Investment is valid!'; }

Page 38: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

A while loop that stores the numbers 1 through 5 $counter = 1; while ($counter <= 5) { $message = $message . $counter . '|'; $counter++; } // $message = 1|2|3|4|5|

PHP Loops

Page 39: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

A for loop that stores the numbers 1 through 5 for ($counter = 1; $counter <= 5; $counter++) { $message = $message . $counter . '|'; } // $message = 1|2|3|4|5|

Page 40: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Compute future value uses formula or a loop$FV = $myPV;for ($i = 1; $i <= $myYear; $i++) { $FV= $FV + $FV * $myRate; }

<form name="fvForm" method="post" action="computeFVloop.php"> Enter present value: <input type="text" name="PV" value="" /><br><br> Select interest rate: <select name="Rate"> <option value=.04>4%</option> <option value=.05>5%</option> <option value=.06>6%</option> <option value=.07>7%</option> <option value=.08>8%</option> </select><br><br> Select year: <br> <input type="radio" name="Year" value="10" />10-year<br> <input type="radio" name="Year" value="20" />20-year<br> <input type="radio" name="Year" value="30" />30-year<br><br> Compute using loop:<input type="checkbox" name="chkLoop" value="ON" /><br><br> Future value is :<input type="text" name="FV" value="" /><br><br>

<input type="submit" value="ComputeFV" name="btnCompute" /> </form>

Page 41: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

PHP Code <?php $myPV=$_POST["PV"]; $myRate=$_POST["Rate"]; $myYear=$_POST["Year"]; if (isset($_POST["chkLoop"])) { $FV = $myPV; for ($i = 1; $i <= $myYear; $i++) { $FV= $FV + $FV * $myRate; }} else $FV=$myPV*pow(1+$myRate,$myYear); echo "FutureValue is: $" . number_format($FV,2); ?>

Note: Without checking isset($_POST["chkLoop"]) the IF statement will cause error if the checkbox is not checked.

Page 42: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Depreciation Table

Straight Line Depreciation Table <form name="depForm" method="post" action="createDepTable.php"> Enter Property Value: <input type="text" name="pValue" value="" /><br> Enter Property Life: <input type="text" name="pLife" value="" /><br> <input type="submit" value="Show Depreciation Table" name="btnShowTable" /> </form>

Page 43: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Output

Page 44: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

<?php $value=$_POST["pValue"]; $life=$_POST["pLife"]; echo "Straight Line Depreciation Table <br>"; echo "Property Value: <input type='text' name='pValue' value='$value' /><br>"; echo "Property Life: <input type='text' name='pLife' value='$life' /><br>"; $depreciation=$value/$life; $totalDepreciation=$depreciation; echo "<table border='1' width='400' cellspacing=1>"; echo "<thead> <tr> <th>Year</th> <th>Value at BeginYr</th>"; echo "<th>Dep During Yr</th> <th>Total to EndOfYr</th></tr> </thead>"; echo "<tbody>"; for ($count = 1; $count <= $life; $count++) { echo "<tr>"; echo "<td width='25%'>$count</td>"; echo "<td width='25%'>$" . number_format($value,2) . "</td>"; echo "<td width='25%'>$" . number_format($depreciation,2) . "</td>"; echo "<td width='25%'>$" . number_format($totalDepreciation,2) . "</td>"; $value -= $depreciation; $totalDepreciation+=$depreciation; } ?>

Page 45: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Alternating Row Color<?php $value=$_POST["pValue"]; $life=$_POST["pLife"]; echo "Straight Line Depreciation Table <br>"; echo "Property Value: <input type='text' name='pValue' value='$value' /><br>"; echo "Property Life: <input type='text' name='pLife' value='$life' /><br>"; $depreciation=$value/$life; $totalDepreciation=$depreciation; echo "<table border='1' width='400' cellspacing=1>"; echo "<thead> <tr> <th>Year</th> <th>Value at BeginYr</th>"; echo "<th>Dep During Yr</th> <th>Total to EndOfYr</th></tr> </thead>"; echo "<tbody>"; for ($count = 1; $count <= $life; $count++) { if ($count%2==0) $color="blue"; else $color="red"; // echo "<tr style='color:$color'>"; echo "<tr style='background-color:$color'>"; echo "<td width='25%'>$count</td>"; echo "<td width='25%'>$" . number_format($value,2) . "</td>"; echo "<td width='25%'>$" . number_format($depreciation,2) . "</td>"; echo "<td width='25%'>$" . number_format($totalDepreciation,2) . "</td>"; $value -= $depreciation; $totalDepreciation+=$depreciation; } ?>

Page 46: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Using PHP Expression <?php $value=$_POST["pValue"]; $life=$_POST["pLife"]; echo "Straight Line Depreciation Table <br>"; echo "Property Value: <input type='text' name='pValue' value='$value' /><br>"; echo "Property Life: <input type='text' name='pLife' value='$life' /><br>"; $depreciation=$value/$life; $totalDepreciation=$depreciation; ?> <table border='1' width='400' cellspacing=1> <thead> <tr> <th>Year</th> <th>Value at BeginYr</th> <th>Dep During Yr</th> <th>Total to EndOfYr</th></tr> </thead> <tbody> <?php for ($count = 1; $count <= $life; $count++) { ?> <tr> <td width='25%'><?php echo $count;?></td> <td width='25%'><?php echo '$'. number_format($value,2)?></td> <td width='25%'><?php echo '$'. number_format($depreciation,2)?></td> <td width='25%'><?php echo '$'. number_format($totalDepreciation,2)?></td> </tr> <?php $value -= $depreciation; $totalDepreciation+=$depreciation; } ?> </tbody></table>

Page 47: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Display output with inputs on the same page:Example: sum of two numbers

• Method 1: – The page should be a php file, not a html page.– The page calls itself to process the data.

• 2. the php file specified by the action attribute is called to compute the sum and use the include statement to display the sum with the input page

Page 48: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Method 1: The PHP page, SumPage.php, calls itself<?php if (!empty($_POST)) //if (count($_POST)>0) { $num1=$_POST["num1"]; $num2=$_POST["num2"]; $sum=$num1+$num2; ?> <form name="sumForm" method="post" action="SumPage.php"> Value 1: <input type="text" name=num1 value="<?php echo $num1;?>" /><br><br> Value 2: <input type="text" name="num2" value="<?php echo $num2;?>" /><br><br> Sum: <input type="text" name="sum" value="<?php echo $sum;?>" /><br><br> <input type="submit" value="Compute Sum" name="btnSubmit" /> </form> <?php } else { ?> <form name="sumForm" method="post" action="SumPage.php"> Value 1: <input type="text" name="num1" value="" /><br><br> Value 2: <input type="text" name="num2" value="" /><br><br> Sum: <input type="text" name="sum" value="" /><br><br> <input type="submit" value="Compute Sum" name="btnSubmit" /> </form> <?php } ?>

Note: This program uses empty($_POST) to test if the page is loaded for the first time.

Page 49: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Display output with inputs on the same page:Example: sum of two numbers

• Method 2: – The page should be a php file, not a html page.– The page calls a PHP page to process the data

which uses an include statement to include the calling page for output

Page 50: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

PHP include and require Statements:include 'filename';require 'filename';

• In PHP, you can insert the content of one PHP file into another PHP file. The include and require statements are used to insert useful codes written in other files, in the flow of execution.

• Include and require are identical, except upon failure:– require will produce a fatal error (E_COMPILE_ERROR) and

stop the script– include will only produce a warning (E_WARNING) and the

script will continue

Page 51: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Method 2: The page calls a PHP page with an include statement to process the data

<?php if (isset($sum)) { ?> <form name="sumForm" method="post" action="computeSum.php"> Value 1: <input type="text" name=num1 value="<?php echo $num1;?>" /><br><br> Value 2: <input type="text" name="num2" value="<?php echo $num2;?>" /><br><br> Sum: <input type="text" name="sum" value="<?php echo $sum;?>" /><br><br> <input type="submit" value="Compute Sum" name="btnSubmit" /> </form> <?php } else { ?> <form name="sumForm" method="post" action="computeSum.php"> Value 1: <input type="text" name="num1" value="" /><br><br> Value 2: <input type="text" name="num2" value="" /><br><br> Sum: <input type="text" name="sum" value="" /><br><br> <input type="submit" value="Compute Sum" name="btnSubmit" /> </form> <?php } ?>

Note: This program use isset() function to test if the page is loaded for the first time.

Page 52: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

computeSum.php

<body> <?php $num1=$_POST["num1"]; $num2=$_POST["num2"]; $sum=$num1+$num2; include ("sumForm.php"); exit(); /?></body>

Page 53: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

Display future value with the inputs, fvForm2.php<?php if (!empty($_POST)){ $myPV=$_POST["PV"]; $myRate=$_POST["Rate"]; $myYear=$_POST["Year"]; $FV=$myPV*pow(1+$myRate,$myYear); echo "<form name='fvForm' method='post' action='fvForm2.php'>"; echo "Enter present value: <input type='text' name='PV' value='$myPV' /><br><br>"; echo "Select interest rate: <select name='Rate'>"; for ($v=.04; $v<=.08;$v+=.01){ $display=$v*100; if ($v==$myRate) echo "<option selected value=$v>$display%</option>"; else echo "<option value=$v>$display%</option>"; } echo "</select><br><br>"; echo "Select year: <br>"; for ($v=10; $v<=30;$v+=10){ $display=$v . '-year'; if ($v==$myYear) echo "<input type='radio' name='Year' checked value='$v' />$display<br>"; else echo "<input type='radio' name='Year' value='$v' />$display<br>"; } $CFV="$" . number_format($FV,2); echo "Future value is :<input type='text' name='FV' value='$CFV' /><br><br>"; echo "<input type='submit' value='ComputeFV' name='btnCompute' />"; } else { ?> <form name="fvForm" method="post" action="fvForm2.php"> Enter present value: <input type="text" name="PV" value="" /><br><br> Select interest rate: <select name="Rate"> <option value=.04>4%</option> <option value=.05>5%</option> <option value=.06>6%</option> <option value=.07>7%</option> <option value=.08>8%</option> </select><br><br> Select year: <br> <input type="radio" name="Year" value="10" />10-year<br> <input type="radio" name="Year" value="20" />20-year<br> <input type="radio" name="Year" value="30" />30-year<br><br> Future value is :<input type="text" name="FV" value="" /><br><br>

<input type="submit" value="ComputeFV" name="btnCompute" /> <?php } ?> </form>

Page 54: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

2. Display future value with the inputs, fvForm.php<?php if (isset($FV)){ echo "<form name='fvForm' method='post' action='computeFV.php'>"; echo "Enter present value: <input type='text' name='PV' value='$myPV' /><br><br>"; echo "Select interest rate: <select name='Rate'>"; for ($v=.04; $v<=.08;$v+=.01){ $display=$v*100; if ($v==$myRate) echo "<option selected value=$v>$display%</option>"; else echo "<option value=$v>$display%</option>"; } echo "</select><br><br>"; echo "Select year: <br>"; for ($v=10; $v<=30;$v+=10){ $display=$v . '-year'; if ($v==$myYear) echo "<input type='radio' name='Year' checked value='$v' />$display<br>"; else echo "<input type='radio' name='Year' value='$v' />$display<br>"; } $CFV="$" . number_format($FV,2); echo "Future value is :<input type='text' name='FV' value='$CFV' /><br><br>"; echo "<input type='submit' value='ComputeFV' name='btnCompute' />"; } else { ?> <form name="fvForm" method="post" action="computeFV.php"> Enter present value: <input type="text" name="PV" value="" /><br><br> Select interest rate: <select name="Rate"> <option value=.04>4%</option> <option value=.05>5%</option> <option value=.06>6%</option> <option value=.07>7%</option> <option value=.08>8%</option> </select><br><br> Select year: <br> <input type="radio" name="Year" value="10" />10-year<br> <input type="radio" name="Year" value="20" />20-year<br> <input type="radio" name="Year" value="30" />30-year<br><br> Future value is :<input type="text" name="FV" value="" /><br><br>

<input type="submit" value="ComputeFV" name="btnCompute" /> <?php } ?> </form>

Page 55: Server-Side Scripting with PHP ISYS 475. PHP Manual Website

ComputeFV.php

<body> <?php $myPV=$_POST["PV"]; $myRate=$_POST["Rate"]; $myYear=$_POST["Year"]; $FV=$myPV*pow(1+$myRate,$myYear); // echo "FutureValue is: $" . number_format($FV,2); include 'fvForm.php'; ?> </body>