XAMPP Installation

1 Introducing XAMPP

• An integration package containing a number of useful packages that make it easy to host web sites on various platforms. Apache – MySQL - PHP – WAMP or LAMP • Allow the ease of installation and set up • Main Page: http://www.apachefriends.org/en/xampp.html

2 Introducing XAMPP (cont.)

Basic packages include system, programming & server software: •Apache : the famous •MySQL : the widely-used, free, open source •PHP : the programming language • : the programming language •ProFTPD: an FTP server •OpenSSL : for secure sockets layer support •PhpMyAdmin : for MySQL admin.

3 XAMPP Installation

• Download XAMPP installer and let the install begin: – Using the installer version is the easiest way to install XAMPP. – Use default directory for convenience

4 There can be some problems

Port 80 (Apache’s default port) can be occupied by other programs 

http://www.apachefriends.org/en/faq-xampp-windows.html 5 XAMPP Directories

• XAMPP default installation directory is c:/xampp/ • The directory of interest is “c:/xampp/htdocs/” and it’s called the webroot (or document root) – PHP files are put in the webroot (c:/xampp/htdocs/) – c:/xampp/htdocs/ maps to http://localhost/ • For example, c:/xampp/htdocs/project/script. maps to  http://localhost/project/script.php – If no file is specified, Apache looks for index.php • For example, c:/xampp/htdocs/project/ maps to  http://localhost/project/index.php

6 Installation complete!

7 XAMPP Control Panel

No need to tick for running as “service”

Apache  HTTP Server MySQL  DBMS FileZilla  FTP Client Mercury  SMTP Client

8 Starting Apache & MySQL

Toggle button

9 Type http://localhost/ or http://127.0.0.1/

If the server is up and running, you will get this splash screen. Click on English.

10 Once English is clicked on, the Welcome webpage is shown for XAMPP. 11 http://localhost/xampp/index.php

You’re not accessing the WWW but rather a webpage locally hosted on your computer, which is now running as a web server (localhost).

12 Click on Status to determine if everything is working correctly.

13 What you chose to install should be lighted green on this chart

14 Check the “working environment ”

Click on phpinfo() to check

the working environment. 15 From, Tools  phpMyAdmin, we can manage MySQL

16 PHP Fundamentals • PHP “Hello World” Example • PHP Variables • Variable Types • Working with User Input • Variable Operators • Conditional Statements

17 What is PHP?

•PHP: Hypertext Preprocessor – Server-side scripting language – Creation of dynamic content – Interaction with – Can be embedded in HTML – Open source, written in C – First introduced in 1995; at that time PHP stood for Personal Home Page. – Similar to Perl and C

18 Exercise #1: Hello PHP

• The PHP code is usually in files with extension ".php“ denotes end of of PHP code PHP code • The PHP code can be nested within HTML code. PHP statements Hello world pagemust be ended with a semicolon.

19 Client-side vs. Server-side Script

PHP code is never sent to a client’s Web browser; only the HTML output of the processing is sent to the browser. Hello world page Hello HTML!
20 Client-side vs. Server-side Script

• HTML code is processed by browsers as web pages are loading. (client-side) • PHP code is preprocessed by PHP Web servers that parse requested web pages as they are being passed out to the browser. (Server-side) • You can embed sections of PHP inside HTML:

• Or, you can call HTML from PHP :

Hello … ?> 21 PHP Comments

• You can add comments to the code – Starting with "//", "#" or block in "/*" and "*/" – Only "/*" – "*/" can be used over several lines – Comments are NOT executed

22 PHP Fundamentals • PHP “Hello World” Example • PHP Variables • Variable Types • Working with User Input • Variable Operators • Conditional Statements

23 PHP Variables

• What are variables? • The values stored in computer memory are called variables. • The values, or data, contained in variables are classified into categories known as data types. • The name you assign to a variable is called an identifier.

24 PHP Variables

• Prefixed with a $ (Perl style) • Assign values with = operator • Example: $name = “John Doe”; • No need to define type • Variable names are case sensitive • $name and $Name are different

25 PHP Variables

Hello PHP!"; Echo $output;  Hello PHP! ?>

• Each variable is declared when it's first assigned value.

• The type of the value determines the type of the variable.

26 PHP Fundamentals • PHP “Hello World” Example • PHP Variables • Variable Types • Working with User Input • Variable Operators • Conditional Statements

27 Variable/Data Types • A data type is the specific category of information that a variable contains

• Possible PHP Variable Types are: – Numeric (real or integer)

– Boolean (TRUE or FALSE)

– String (set of characters)

28 Variable/Data Types

• Unlike C, PHP is not strictly typed. • PHP decides what type a variable is based on its value. • PHP can use variables in an appropriate way automatically • For Example: • $HST = 0.12; // HST Rate is numeric • echo $HST * 100 . “%”; //outputs “12%” • $HST is automatically converted to a string for the purpose of echo statement 29

Displaying Variables

• To display a variable with the echo statement, pass the variable name to the echo statement without enclosing it in quotation marks : – $VotingAge = 18; – echo $VotingAge; • To display both text strings and variables, you may used concatenation operator “.” :

• echo "

The legal voting age is “. $VotingAge. " .

"; Concat. operator Period 30 Naming Variables

• The name you assign to a variable is called an identifier

• The following rules and conventions must be followed when naming a variable: • Identifiers must begin with a dollar sign ($) • Identifiers may contain uppercase and lowercase letters, numbers, or underscores (_). • The first character after the dollar sign must be a letter. • Identifiers cannot contain spaces or special characters. • Identifiers are case sensitive 31 Declaring and Initializing Variables • Specifying and creating a variable name is called declaring the variable • Assigning a first value to a variable is called initializing the variable • In PHP, you must declare and initialize a variable in the same statement: – $variable_name = value;

32 PHP Strings

• String values – Strings may be in single or double quotes – Start and end quote type should match – Difference between two types of quotes is the escape sequences

33 Strings escaping

• Special chars in strings are escaped with backslashes (C style)

• Double-quoted string

$str1 = "this is \"PHP \""; echo $str1;  outputs this is “PHP”

• Single-quoted string $str2 = ' "I \'ll be back ", he said. '; echo $str2;  outputs "I'll be back", he said.

34 Variables in strings • Double quoted strings offer something more: $saying = "I'll be back!"; $str1 = “He told me: $saying "; outputs  He told me: I'll be back!

• Variables are evaluated in double-quoted strings, but not in single-quoted strings. $saying = "I'll be back!"; $str2 = ‘He told me: $saying ’; outputs  He told me: $saying

• For single-quoted strings, use concatenation : $saying = "I'll be back!"; $str3 = ‘He told me: ’ . $saying ; outputs  He told me: I'll be back! 35 PHP Fundamentals • PHP “Hello World” Example • PHP Variables • Variable Types • Working with User Input • Variable Operators • Conditional Statements

36 Working with user input

• The user sends data to the server only one way – with HTML Forms – They are sets of fields that determine the types of data to be sent. – The server receives the filled-in data and sends the HTML response back to the user/ – The forms data is similar to user inputs to a normal application

37 How Does It Work

The user enters data and submits the form. The form has "action" URL to send the data to.

The PHP script receives arrays and runs.

… Producing HTML according Welcome Mike! to user's posted data. …

38 $_POST and $_GET

• PHP receives the data in the $_GET and $_POST arrays – URL parameters ( data from HTML forms with method=“GET“) go into the $_GET array. – Data from HTML forms with method="post" go into the $_POST array. – Both arrays are global and can be used anywhere in the requested page.

39 $_POST • $_POST is an associative array (key and value pairs) – The “ name” attribute of form input becomes key in the array < form method=" post " action="test.php"> – If in the above form the user fills "John" and "mypass“

– test.php will start with built-in array $_POST ": • $_POST[“firstname"] will be "John" • $_POST['pass'] will be "mypass"

40 $_GET

• $_GET is also associative array – If we open the URL: http://phpcourse.com/test2.php? page=1&user=john – The test2.php script will start with built-in array $_GET • $_GET['page'] will be 1 • $_GET['user'] will be "john"

41 $_POST Versus $_GET

• $_GET passes the parameters trough the URL – Allows user to send link or bookmark the page as it is. – Parameters are visible in the URL; security concerns. – URL is limited to 255 symbols. • $_POST passes the parameters trough the request body – More secure; parameters are not visible in the URL. – Prevent bookmarking; user cannot open the page without first filling the post data in the form. – Unlimited size of data. 42 Exercise #2

Ex1.html

Thank_You.php

Thank you Test Example! We received your information.

43 PHP Fundamentals • PHP “Hello World” Example • PHP Variables • Variable Types • Working with User Input • Variable Operators • Conditional Statements

44 Variable Operators

• Standard Arithmetic operators • +, -, *, / and % (modulus  the remainder of division of one number by another, e.g, 5 % 2 = 1 and 9 % 3 = 0 ) • String concatenation with a period (.) • $car = “Hello” . “ World!”; • echo $car; output “Hello World!” • comparison operators • Equal  == (double equal sign is a comparison operator) – Using only one equal sign will initialize/overwrite the value of variables (the assignment operator). • Not Equal  != • Less than  < • greater than  > • Less than or equal  <= • greater than or equal  >= 45

Combined Operators

• $a = 3;//Assignment – Initializes/overwrites $a to 3 • $a += 5; // Combined Assignment – sets $a to 8  $a = $a +5 • $a ++ ; // Increment Operator – sets $a to 9  $a = $a +1  $a += 1 • $a -- ; // Decrement Operator – sets $a back to 8  $a = $a - 1  $a -= 1 • $a == 5; // Comparison operator – compares the value of $a to 5, produces false. • Combined operator for strings – $b = "Hello "; – $b .= "There!"; // sets $b to "Hello There!"; 46

Strict Comparison

• ===, !== operators for strict comparison – different from ==, != – $a="10";$b=10;$a==$b will produce true. – $a="10";$b=10;$a===$b will produce false.

• Strict comparison: $a === $b : – TRUE if $a is equal to $b, and they are of the same type.

47 PHP Fundamentals • PHP “Hello World” Example • PHP Variables • Variable Types • Working with User Input • Variable Operators • Conditional Statements

48 Conditional Statements

• Decision making or flow control is the process of determining the order in which statements execute in a program

• The special types of PHP statements used for making decisions are called decision-making statements or conditional statements.

49 Conditional Statements

• Decision making involves evaluating Boolean expressions (true / false)

• Initialize $cat_is_hungry = false; If($cat_is_hungry == true ) { /* feed cat */ } If($cat_is_hungry) { /* feed cat */ }

• AND and OR for combinations

if($cat_is_hungry AND $havefood) {/* feed cat*/}50

Conditional Statements - if • if statement allows code to be executed only if certain conditionBooleanDon't is expressionforget met the brackets! $a = 5; $b = 7; if ($a > $b) echo "A is greater than B"; if ($a % 2) { If ($a % 2) is true (i.e., = 1), echo "A is odd"; this entire code block will be $b = $a % 2; executed. Code blocks must echo "A%2 is :".$b; start and end with opening } and closing braches { }

– Can we write this code block as one statement?

if ($b = $a%2) echo "A is odd - A%2 is :".$b; 51 If - else

• if-else statement allows you to execute one code if condition is met or another if not. • An else clause executes when the condition in an if...else statement evaluates to FALSE

$a = 5; $b = 7; if ($a > $b) echo "A is greater than B"; else echo "B is greater or equal to A";

52 if - elseif

• if – elseif is an extension to the if- else statement – Allows you to add conditions for the else body if ($a > $b) echo "A is greater than B"; elseif ($a == $b) echo "A is equal to B"; else echo "B is greater than A";

– You can have multiple elseif statements

53 Nested if

• When one decision-making statement is contained within another decision-making statement, they are referred to as nested decision-making structures if ($SalesTotal >= 50 if ($SalesTotal >= 50) && $SalesTotal <= 100) if ($SalesTotal <= 100) echo "

The sales total is between 50 and 100, inclusive.

"; 54

if ($mark>= 80) echo "A";  A 80-100% if ($mark >= 65) What will happen when B  65- 79% $mark=85 echo “B"; C  50- 64% $mark=75 F  0- 49% if ($mark >= 50) echo “C"; else echo “F";

if ($mark >= 80 && $mark < 100) if ($mark >= 80) echo "A"; echo "A"; if ($mark >= 65 && $mark < 80) elseif ($mark >= 65) echo “B"; echo “B"; if ($mark >= 50 && $mark < 65) elseif ($mark >= 50) echo “C"; echo “C"; else else echo “F"; echo “F";

55 Exercise #3

Ex1_c.html

Thank_You.php

56 Important Links– CISC:492

Learning without feedback is like learning archery in a darkened room. (Cross, 1996)

Feedback Form http://goo.gl/nWchh

Slides are adapted from: http://schoolacademy.googlecode.com/svn/trunk/ http://rizki.staff.ub.ac.id/category/web- 57 programming/ 58