Web Design/Dynamic Websites/Simple Functions in PHP

Note: Work in progress PHP.net has a reference on PHP functions, but it's a little complicated for your average beginner.

Web Design Simple Functions in PHP
This page is part of the Web Design project.

Example PHP file with function edit

Try testing the following PHP file:

<?php

 //
 // A simple function that prints a welcome message
 //
 function welcome()
 {
   print("<h2>Hi there. Welcome to PHP functions</h2>");
   print("<p>Here we'll learn a little about functions</p>");
 }


 welcome();

 welcome();

 welcome();

?>

Can you explain why it does what it does?

Example 2: a function with an argument edit

A small modification:

<?php

 //
 // A simple function that prints a welcome message
 //
 function welcome($username)
 {
   print("<h2>Hi there $username. Welcome to PHP functions</h2>");
   print("<p>Here we'll learn a little about functions</p>");
 }


 welcome("Michael");

 welcome("Izaak");

 welcome("Brigitte");

?>

Can you explain what's happening this time?

Example 3: Something more useful edit

So far we've done simple PHP templating using include files. But we can replace this with functions to, and give ourselves some extra power while we're at it! Try the following:

<?php

 //
 // A simple function that prints the code that's at the
 // beginning of every page on my site.
 //
 function printHeader()
 {
?>
  <html>
    <head>
      <title>Home page of my site</title>
    </head>
    <body>

      <h1> My website </h1>
      <div id="main">
<?php
 }

 


 printHeader();

 print("<p> The content of my page would go here</p>");

 // printFooter(); // woops, we don't have this function yet!

?>

Again, test out this page and then see if you can explain what it's doing!

Here's the challenge:

  1. See if you can modify your printHeader() function so that you can say: printHeader("Page 2"); - and the text "Page 2" will be displayed in the title tags (look back to a previous example!)
  2. Try creating and using your own printFooter() function.

Of course, we'd remove these functions into an include-file so that we can reuse them on other pages!