PHP Fundamentals and Form Processing

PHP Fundamentals and Form Processing

An Introduction to PHP

"PHP is an open source general-purpose server-side scripting language originally designed for Web development to produce dynamic Web pages. It is one of the first developed server-side scripting languages to be embedded into an HTML source document rather than calling an external file to process data. The code is interpreted by a Web server with a PHP processor module which generates the resulting Web page. It also has evolved to include a command-line interface capability and can be used in standalone graphical applications. PHP can be deployed on most Web servers and also as a standalone shell on almost every operating system and platform free of charge. A competitor to Microsoft's Active Server Pages (ASP) server-side script engine and similar languages, PHP is installed on more than 20 million Web sites and 1 million Web servers. Software that uses PHP includes MediaWiki, Joomla, Wordpress, Concrete5, MyBB, and Drupal." (from wikipedia)

General Notes on PHP

The following provides a summary of what PHP is:

  • PHP stands for PHP: Hypertext Preprocessor
  • PHP is a server-side scripting language, like ASP, JSP, etc.
  • PHP scripts run on the server.
  • PHP supports many databases, e.g., MySQL, Oracle.
  • PHP is an open source software.

How to Start Your First PHP Program?

WebDev supports PHP, so you don't need to do anything on it, for example, installation or configuration. The only thing you need to do is to create a .php file in the php_web directory. Note: you still need to set correct permissions. To sumarize you can follow the steps below:

  1. Create a .php file.
  2. Upload the .php file into the php_web folder.
  3. Set the permission for the php file:
    ssh webdev 
    cd php_web/
    chmod 644 *.php
  4. Open your browser, input and visit the following address:
    http://www.webdev.cs.uregina.ca/~your_cs_username/filename.php

Where to Write Your PHP Scripts?

PHP script always appears between a pair of symbols, <?php and ?>. For example,

<?php
 echo "<h1>Hello CS215 Students!<h1>";
 echo "<p>Hi this is a sentence.</p>";
?>
      

A PHP Server (WebDev) parses the PHP scripts and returns plain HTML code back to the client browser. That is, the echo function sends a level-one header (H1) and a paragraph (P) to your browser. You can try this example on the web server.

Anything outside those symbols in a PHP file is echoed automatically and may contain text, HTML tags and scripts, so your skills of HTML, CSS and JavaScript are usful in writing a .PHP file. The following PHP script is written mixed with HTML.

<!DOCTYPE html>
<html>
<head>
   <title>A Sample Php Program</title>
</head>

<body>

<?php
   echo "<h1>Hello CS215 Students!<h1>";
?>

</body>
</html>

In Class Exercise Exercise 1

  1. Create and run a simple .php page on WebDev.
  2. To run .php programs on WebDev, type php filename.php at the WebDev prompt sign
  3. You can visit your php page by using the following url:
    http://www.webdev.cs.uregina.ca/~your_cs_username/filename.php

Syntax of PHP Scripts

The following introduces basic syntax of PHP scripts, including variables, operators, control structures, arrays, functions:

PHP Variables

Variables in PHP starts with a $ sign, followed by the name of the variable. The following link provides the detail.

PHP variables: https://www.w3schools.com/php/php_variables.asp

Operators

PHP script language provides arithmetic operators, assignment operators,comparison operators, increment/decrement operators, logical operators, string operators and array operators. The following link provides the detail.

PHP Operators: https://www.w3schools.com/php/php_operators.asp

Control Structures

PHP control structures includes conditional statetment and loop statement. The following links provide the detials.

Conditional statement: https://www.w3schools.com/php/php_if_else.asp

Loop statement: https://www.w3schools.com/php/php_looping.asp

Functions and Arrays

Functions: https://www.w3schools.com/php/php_functions.asp

Array: https://www.w3schools.com/php/php_arrays.asp

An Example of PHP

Example:

This is the php example of page that will display four sentences each with a different color. The text alternates between the number of the sentence and the color of the sentence .

<!DOCTYPE html>

<html>
<head>
 </head>
<body>
<h1> Hello CS215 Students! </h1>

<?php
echo "<p>Hi this is a sentence written using echo ... .</p>";
$colors = array("red","green","blue","yellow");
for ($x=0; $x<4; $x++) {

     echo '<p style="color:'.$colors[$x].'" > ';  


    if ($x%2==0) {
      echo "The sentence number is: $x   </p>";
    } else {
    echo "The  sentence  color is: $colors[$x]  </p>";
    }

}
?> 

</body>
</html>
      

PHP Form Processing

In this section, you will use PHP to obtain user inputs in an HTML form, validate the HTML form and learn to upload files to a folder on the server.

PHP Form Handling

The server-side script language, PHP, can be used to process user inputs from client-sides. Two global associative arrays are used to obtain inputs, namely, $_GET and $_POST. The former corresponds to the get method of an HTTP request, while the latter corresponds to the post method of an HTTP request. The following link provides the detail of PHP form handling.

PHP form handling: https://www.w3schools.com/php/php_forms.asp

Form Validation

You need server-side data validation, although you have already validated user inputs by JavaScripts at the client-side.

PHP form validation: https://www.w3schools.com/php/php_form_validation.asp

PHP form complete Form Example https://www.w3schools.com/php/showphp.asp?filename=demo_form_validation_complete

An Example of PHP Form Handling: File Uploading

File uploading: https://www.w3schools.com/php/php_file_upload.asp Hint: The upload.php file is useful for the lab assignment.

Object Oriented PHP

Object Oriented Programming in PHP, refers to the method of programming PHP that invokes the use of classes to organize the data and structure of an application. Limited OOP was introduced in PHP 4, but it was rewritten and improved for PHP 5.

W3Schools PHP 5 Tutorial

Object Oriented PHP

Troubleshooting Your PHP

Are You Getting a Blank Page? If so, you can try running your code from the WebDev command line: php sqlphp.php

This will indicate if there are syntax errors such as missing semi-colons, curly brackets, or quotation marks.

You should also watch this PHP Debugging Tips video . It will show you how to enable and disable detailed PHP error messages from WebDev in your web browser, give you tips for printing debug variable values, and it will let you debug the values received from the $_POST and $_GET arrays. Make sure to check out the links in the video description!!