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 Web server MySQL: the widely-used, free, open source database PHP: the programming language Perl: 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.php 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 databases 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 <?php denotes start of PHP code?> denotes end of PHP code The PHP code can be nested within HTML code. <html> PHP statements <head><title>hello world page</title></head> must be ended with <body> a semicolon. Hello <?php HTML! echo "Hello PHP!";?> </body> </html> 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 <html> is sent to the browser. <head><title>hello world page</title></head> <body> Hello HTML!<br> <?php echo "Hello PHP!";?> </body> </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: <BODY> <p> <?php $test = "Hello World!"; echo $test;?> </p> </BODY> Or, you can call HTML from PHP : <?php echo "<html><head><title>hello</title>?> 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 <?php // declare string variable $output $output = "<b>hello PHP!</b>"; 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 "<p>the legal voting age is. $VotingAge. ".</p>"; 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 <? $output1 = "Hello PHP!"; $output2 = 'Hello again!';?> 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. <? echo "Welcome ".$_POST ['username']."!";?> The PHP script receives the data as $_GET and $_POST arrays and runs. <body> Welcome Mike! Producing HTML according 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"> <input type="text" name= firstname" /> <input type="password" name="pass" /> </form> 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 condition is met Boolean Don't expression forget the brackets! $a = 5; $b = 7; if ($a > $b) echo "A is greater than B"; if ($a % 2) { echo "A is odd"; $b = $a % 2; echo "A%2 is :".$b; } If ($a % 2) is true (i.e., = 1), this entire code block will be executed. Code blocks must 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 ifelse 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 <= 100) if ($SalesTotal >= 50 && $SalesTotal <= 100) echo " <p>the sales total is between 50 and 100, inclusive.</p> "; 54
A 80-100% B 65-79% C 50-64% F 0-49% if ($mark>= 80) echo "A"; if ($mark >= 65) echo B"; if ($mark >= 50) echo C"; else echo F"; What will happen when $mark=85 $mark=75 if ($mark >= 80 && $mark < 100) echo "A"; if ($mark >= 65 && $mark < 80) echo B"; if ($mark >= 50 && $mark < 65) echo C"; else echo F"; if ($mark >= 80) echo "A"; elseif ($mark >= 65) echo B"; elseif ($mark >= 50) echo C"; else 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/webprogramming/ 57
58