powering scripts with functions
Download
Skip this Video
Download Presentation
Powering Scripts with Functions

Loading in 2 Seconds...

play fullscreen
1 / 46

Powering Scripts with Functions - PowerPoint PPT Presentation


  • 131 Views
  • Uploaded on

Powering Scripts with Functions. David Lash Chapter 4 Using and writing your own functions. Objectives. Introduce this notion of a function Some basic numeric PHP functions—E.g., sqrt(), round(), is\_numeric(), and rand(). The print() function The date() function.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Powering Scripts with Functions' - joan-craft


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
powering scripts with functions

Powering Scripts with Functions

David Lash

Chapter 4

Using and writing your own functions

objectives
Objectives
  • Introduce this notion of a function
    • Some basic numeric PHP functions—E.g., sqrt(), round(), is_numeric(), and rand().
    • The print() function
    • The date() function.
  • See what we can do for ourselves
using some basic php functions
Using Some Basic PHP Functions
  • PHP has a bunch of built-in functions.
    • They do things automatically for you:
    • For example,
      • print (“Hello World”);
      • We will look at other functions that do things for you

Creates output with its one argument

(or input variable).

Name of function

the sqrt function just to warm up
The sqrt() Function – Just to warm-up …
  • sqrt() - input a single numerical argument and returns its square root.
  • For example, the following
    • $x=sqrt(25);
    • $y=sqrt(24);
    • print "x=$x y=$y";
  • Will output
    • x=5 y=4.898979485566

$y=144;

$num = sqrt($y);

Function

name

Argument or parameter

to function

Returned value

the round function
The round() Function
  • round() - rounds number to nearest integer
  • For example, the following
    • $x=round(-5.456);
    • $y=round(3.7342);
    • print "x=$x y=$y";
  • Will outputx=-5 y=4
true false return values
True/false Return values
  • So far functions have either returned nothing (e.g., print() ) or a number (e.g., round() )
  • Functions can also return a true or false value.
    • True is sometimes thought of 1 and false of 0
    • These are called boolean returned
  • Why would you do this? ….
    • Makes testing something easy

if ( got_a_number() ) { do stuff

}

    • Lets look at a true/false function ….

This is just an example it is not a valid statement

the is numeric function
The is_numeric() Function
  • is_numeric() determines if a variable is a valid number or a numeric string.
    • It returns true or false.
  • Consider the following example...

if (is_numeric($input)) {

print "Got Valid Number=$input";

} else {

print "Not Valid Number=$input";

}

  • If $input was“6” then would : Got Valid Number=6
  • If $inputwas “Happy” then would output: Not Valid Number=Happy

Could use to test if input was string or numeric

remember this consider average example
Remember this … Consider average example

Survey Form

Class Survey


Pick A Number:


Pick A Number 2:


Pick A Number 3:


php code
PHP Code
  • Guess the Dice
  • Your Averages Are:
  • $num1 = $_POST[num1];
  • $num2 = $_POST[num2];
  • $num3 = $_POST[num3];
  • if ( !is_numeric($_POST[num1]) || !is_numeric($_POST[num2]) || !is_numeric($_POST[num3]) ){
  • print "Error please fill in numericaly values for all three inputs";
  • print "num1=$num1 num2=$num2 num3=$num3";
  • exit;
  • }
  • $aver = ($num1 + $num2 + $num3 ) / 3;
  • print "";
  • print "num1 = $num1 ";
  • print "num2 = $num2 ";
  • print "num3 = $num3 ";
  • print "
    ";
  • print "
    aver = $aver";
  • print " ";
  • ?>

http://condor.depaul.edu/~dlash/extra/Webpage/examples/newaverage.html

the rand function can be fun
The rand() Function – can be fun
  • Userand()to generate a random number.
    • You can use random numbers to simulate a dice roll or a coin toss or to randomly select an advertisement banner to display.
  • rand()gen a number from 1 to max number.
    • E.g.,

$num = rand();

print ”num=$num”

      • Might output …

num = 12

the rand function part ii
The rand() Function - Part II
  • Use the rand() to generate a number 1-6
    • $numb = rand();
    • $rnumb = ($numb % 6) + 1;
    • print "Your random dice toss is $rnumb";
  • The random number generated in this case can be a 1, 2, 3, 4, 5, or 6.

Think a second …

Asks for remainder of $numb / 6

which is always 0,1,2,3,4, or 5 so you add 1

to force it to be 1,2,3,4,5, or 6

a full example
A Full Example ...
  • Consider the following application:
    • Uses an HTML form to ask the end-user to guess the results of dice roll:
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • http://condor.depaul.edu/~dlash/extra/Webpage/examples/guessdice.php
consider the following
Consider the following ...

Guess the Dice

$guess = $_POST["guess"];

if ( $guess >= 1 && $guess <=6 ) {

$numb = rand() % 6 + 1;

print "numb=$numb
";

$dice="dice$numb.gif";

print "The Random Dice Generated Is ...";

print "";

print "
Your Dice=$dice
";

if ( $guess == $numb ) {

print "
You got it right ";

print "
Your Guess is $guess ";

} else {

print "
You got it WRONG ? ";

print "
Your Guess is $guess ";

}

} else {

print "Illegal Value For Guess=$guess";

}

?>

Generate random number 1-6

Set which image to display

Display either dice1.gif, dice2,gif, dice3.gif,

dice4.gif, dice5.gif, or dice6.gif

Check to see if got it right or wrong

objectives1
Objectives
  • To learn to use several PHP functions useful for Web application development
    • Some basic numeric PHP functions—E.g., sqrt(), round(), is_numeric(), and rand().
    • The print() function
    • The date() function.
  • To learn to write and use your own functions
more information on the print function
More information on the print() Function
  • You don’t need to use parenthesis with print()
  • Double quotes means output the value of any variable:
    • $x = 10;
    • print ("Mom, please send $x dollars");
  • Single quotes means output the actual variable name
    • $x = 10;
    • print ('Mom, please send $x dollars');
  • To output a single variable’s value or expression, omit the quotation marks.
    • $x=5;
    • print $x*3;

Double quotes “

Single quotes ‘

generating htmltags with print
Generating HTMLTags withprint()
  • Using single or double quotation statements can be useful when generating HTML tags
    • print '';
  • This above is easier to understand and actually runs slightly faster than using all double quotation marks and the backslash (\) character :
    • print "";

using \ allows “ to be output

objectives2
Objectives
  • To learn to use several PHP functions useful for Web application development
    • Some basic numeric PHP functions—E.g., sqrt(), round(), is_numeric(), and rand().
    • The print() function
    • The date() function.
  • To learn to write and use your own functions
the date function
The date() Function
  • The date() function is a useful function for determining the current date and time
  • The format string defines the format of the date() function’s output:
      • $day = date('d');
      • print "day=$day";
  • If executed on December 27, 2001, then it would output “day=27”.

Request date() to return the

numerical day of the month.

more about date
More About date()
  • You can combine multiple character formats return more than one format from thedate()
    • For example,
    • $today = date( 'l, F d, Y');
    • print "Today=$today";
  • On MQY 11, 2004, would output
    • “Today=Tuesday, May 11, 2004”.
a full example1
A Full Example ...
  • Consider the following Web application that uses date() to determine the current date and the number of days remaining in a store’s sale event.
    • Sale runs from 12/1 until 1/10/02
receiving code
Receiving Code

1. Our Shop

2.

3.

4. $today = date( 'l, F d, Y');

5. print "Welcome on $today to our huge blowout sale! ";

6. $month = date('m');

7. $year = date('Y');

8. $dayofyear = date('z');

9. if ($month == 12 && $year == 2001) {

10. $daysleft = (365 - $dayofyear + 10);

11. print "
There are $daysleft sales days left";

12.} elseif ($month == 01 && $year == 2002) {

13. if ($dayofyear <= 10) {

14. $daysleft = (10 - $dayofyear);

15. print "
There are $daysleft sales days left";

16. } else {

19. print "
Sorry, our sale is over.";

20. }

21. } else {

22. print "
Sorry, our sale is over.";

23. }

24. print "
Our Sale Ends January 10, 2002";

25. ?>

Get a date in format day of week,

month, day and year

Get month number 1-12, ,

4 digit year and day of year

Check if its Dec 2001.

Then figure out days left in year

and add 10.

If if 1/2002 already, how many days

left before 1/10?

Otherwise sale is ove.

the output
The Output ...

The previous code can be executed at http://webwizard.aw.com/~phppgm/C3/date.php

create your own functions
Create your own functions ...
  • Write your own function to
    • group a set of statements, set them aside, and turn them into mini-scripts within a larger script.
  • The advantages are
    • Scripts that are easier to understand and change.
    • Reusable script sections.
    • Smaller program size
writing your own functions
Writing Your Own Functions
  • Use the following general format

function function_name() {

set of statements

}

Include parentheses

at the end of the

function name

Use the keyword function here

The function runs

these statements

when called

Enclose in curly

brackets.

for example
For example …
  • Consider the following:

function OutputTableRow() {

print 'OneTwo';

}

  • You can run the function by including …

OutputTableRow();

as a full example
As a full example …

1.

2. Simple Table Function

3. Here Is a Simple Table

4.

5. function OutputTableRow() {

6. print '

';

7. }

8. OutputTableRow();

9. OutputTableRow();

10. OutputTableRow();

11. ?>

12.

OneTwo

OutputTableRow()

function definition.

Three consecutive calls

to the OutputTableRow()

function

tip use comments at the start of a function
TIPUse Comments at the Start of a Function
  • It is good practice to place comments at the start of a function
  • For example,

function OutputTableRow() {

// Simple function that outputs 2 table cells

print 'OneTwo';

}

passing arguments to functions
Passing Arguments to Functions
  • Input variables to functions are calledarguments to the function
  • For example, the following sends 2 arguments
    • OutputTableRow("A First Cell", "A Second Cell");
  • Within function definition can access values

function OutputTableRow($col1, $col2) {

print "$col1$col2";

}

consider the following code
Consider the following code …

1.

2. Simple Table Function

3. Revised Simple Table

4.

5. function OutputTableRow( $col1, $col2 ) {

6. print "

";

7. }

  • OutputTableRow( ‘Row 1 Col 1’ , ‘Row 1 Col 2’ );
  • OutputTableRow( ‘Row 2 Col 1’ , ‘Row 2 Col 2’ );
  • OutputTableRow( ‘Row 3 Col 1’ , ‘Row 3 Col 2’ );
  • OutputTableRow( ‘Row 4 Col 1’ , ‘Row 4 Col 2’ );

12. ?>

13.

$col1$col2

OutputTableRow()

Function definition.

Four calls to

OuputTableRow()

returning values
Returning Values
  • Your functions can return data to the calling script.
    • For example, your functions can return the results of a computation.
  • You can use the PHP return statement to return a value to the calling script statement:

return $result;

This variable’s value will be returned to the calling script.

example function
Example function

1. function Simple_calc( $num1, $num2 ) {

2. // PURPOSE: returns largest of 2 numbers

3. // ARGUMENTS: $num1 -- 1st number, $num2 -- 2nd number

4. if ($num1 > $num2) {

5. return($num1);

6. } else {

7. return($num2);

8. }

9. }

What is output if called as follows:

$largest = Simple_calc(15, -22);

Return $num1 when it is the larger value.

Return $num2 when it is the larger value.

consider an application that
Consider an application that …

Main form element:

Starting Value:

Ending Value:

a full example2
A Full Example ...
  • Consider a script that calculates the percentage change from starting to an ending value
  • Uses the following front-end form:

Starting Value:

Ending Value:

http://webwizard.awl.com/~phppgm/C4/driveperc.html

the source code
The Source Code

1.

2. Your Percentage Calculation

3. Percentage Calculator

4.

5. function Calc_perc($buy, $sell) {

6. $per = (($sell - $buy) / $buy) *100;

7. return($per);

8. }

9. $start = $_POST[“start”]; $end = $_POST[“end”];

10. print "
Your starting value was $start.";

11. print "
Your ending value was $end.";

12. if (is_numeric($start) && is_numeric($end) ) {

13. if ($start != 0) {

14. $per = Calc_perc($start, $end);

15. print "
Your percentage change was $per %.";

16. } else { print "
Error! Starting values cannot be zero "; }

17. } else {

18. print "
Error! You must have valid numbers for start and end ";

19. }

20. ?>

Calculate the percentage

change from the starting

value to the ending value.

The call to Calc_perc()

returns the percentage

change into $per.

using external script files
Using External Script Files
  • Sometime you will want to use scripts from external files.
    • Reuse code from 1 situation to another
    • Create header and footer sections for code
  • PHP supports 2 related functions:

require ("header.php");

include ("trailer.php");

  • Both search for the file named within the double quotation marks and insert its PHP, HTML, or JavaScript code into the current file.

The require() function

produces a fatal

error if it can’t

insert the specified file.

The include() function

produces a warning

if it can’t

insert the specified file.

consider the following example
Consider the following example

1.

2. Welcome to Harry’s Hardware Heaven!

3.
We sell it all for you!

4.

5. $time = date('H:i');

6. function Calc_perc($buy, $sell) {

7. $per = (($sell - $buy ) / $buy) * 100;

8. return($per);

9. }

10. ?>

The script will output

these lines when the

file is included.

The value of $time will be set

when the file is included.

This function will

be available for

use when the file

is included.

header php
header.php
  • If the previous script is placed into a filecalled header.php …

1. Hardware Heaven

2.

3. include("header.php");

4. $buy = 2.50;

5. $sell = 10.00;

6. print "
It is $time.";

7. print "We have hammers on special for \$$sell!";

8. $markup = Calc_perc($buy, $sell);

9. print "
Our markup is only $markup%!!";

10. ?>

11.

Include the file header.php

Calc_perc() is defined in

header.php

more typical use of external code files
More Typical Use ofExternal Code Files
  • More typically might use one or more files with only functions and other files that contain HTML
  • For example, might use the following as footer.php.


Hardware Harry's is located in beautiful downtown Hardwareville.


We are open every day from 9 A.M. to midnight, 365 days a year.


Call 476-123-4325. Just ask for Harry.

  • Can include using:

even more practical example
Even More Practical Example
  • Check out the following linkhttp://condor.depaul.edu/~dlash/website/Indellible_Technologies.php
  • Original found at perl-pgm.com
  • Could hard code header in each file that needs it or …
    • Separate the header info into a different file (Say header.php.)
    • Include it everywhere needed.
    • E.g.,

Indellible Technologies

alink="#000099">

here is contents of header php
Here is contents of header.php

height="102">


href="requestinfo.html">Request Information |

href="preregister.html">Pre-register |

CourseCatalog |

 Testimonials

summary
Summary
  • To learn to use several PHP functions useful for Web application development
    • Some basic numeric PHP functions—E.g., abs(), sqrt(), round(), is_numeric(), and rand().
    • The print() function
    • The date() function.
  • To learn to write and use your own functions
    • Writing own functions
    • returning values
    • Passing arguments
here is the receiving code
Here is the receiving code ...

< Receiving Script

$passwd= $_POST["pass"];

$fname= $_POST["fname"];

if ($passwd == "password" ) {

print "Thank you $fname welcome
";

print "Here is my site's content";

} else {

print "Hit the road jack you entered password=$passwd
";

print "Contact someone to get the passwd";

}

?>

summary1
Summary
  • Looked at using conditional statements
    • if statement
    • elsif statement
    • else statement
  • conditional statements have different format

if ( $x < 100 ) {

$x = $y + 1;

$z = $y + 2;

}

  • Can do multiple tests at once:

if ( $x < 100 && $name = “george” ) {

$x = $y + 1;

$z = $y + 2;

}

  • Can test if variable(s) set from form
  • if ( !$_POST[‘var1’] || !$_POST[‘var1’] ) {
ad