0% found this document useful (0 votes)
11 views

PHP Introduction

Uploaded by

Prithu Misra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

PHP Introduction

Uploaded by

Prithu Misra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Introduction to PHP, MySQL

and AJAX
PHP

 PHP is a powerful tool for making dynamic and interactive


Web pages.

 PHP stands for PHP: Hypertext Preprocessor


 It is server side scripting Language.

 It runs on apache server.

 PHP supports many databases (MySQL, Informix, Oracle,


Sybase, Solid, PostgreSQL, Generic ODBC, etc.)
 PHP is an open source software
PHP - What is it / does it do?

Web Page Request Load PHP File


PHP Engine –
Run Script

HTML Response
Web Server PHP Results
User
PHP

 PHP is similar to C
 All scripts start with <?php and with with ?>
 Line separator: ; (semi-colon)
 Code block: { //code here } (brace brackets)
 White space is generally ignored (not in strings)
 Comments are created using:
 // single line quote
 /* Multiple line block quote */

 Precedence
 Enforced using parentheses
 E.g. $sum = 5 + 3 * 6; // would equal 23
 $sum = (5 + 3) * 6; // would equal 48
Variables in PHP

 A variable is defined with a $ Sign in PHP.


 $var_name = value;
 A variable name must start with a letter or an underscore
"_“.
 A variable name can only contain alpha-numeric characters
and underscores (a-z, A-Z, 0-9, and _ )
 A variable name should not contain spaces. If a variable
name is more than one word, it should be separated with an
underscore ($my_string), or with capitalization
($myString).
PHP - Constants

 Constants are special variables that cannot be


changed
 Use them for named items that will not change
 Created using a define function
 define(„milestone‟, 1.6);
 Used without $
 $km = 5 * milestone;
 Example
 Create a constant with a case-sensitive name:
 <?php
define("GREETING", "Welcome to W3Schools.com!");
echo GREETING;
?>
 Create a constant with a case-insensitive name:
 <?php
define("GREETING", "Welcome to W3Schools.com!", true);
echo greeting;
?>
Datatypes in PHP

 PHP supports the following data types:


 String
 Integer
 Float (floating point numbers)
 Boolean
 Array
 Object
 NULL
PHP Forms

 What is Form?
 When you login into a website or into your mail box, you are interacting
with a form.

 Forms are used to get input from the user and submit it to the web
server for processing.

 The diagram below illustrates the form handling process.


The code below creates a simple registration form

 <html>
 <head>
 <title>Registration Form</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 </head>
 <body>
 <h2>Registration Form</h2>

 <form action="registration_form.php" method="POST"> First name:

 <input type="text" name="firstname"> <br> Last name:

 <input type="text" name="lastname">

 <input type="hidden" name="form_submitted" value="1" />

 <input type="submit" value="Submit">


 </form>
 </body>
 </html>
Submitting the form data to the server

 PHP POST method


 This is the built in PHP super global array variable that is used to get
values submitted via HTTP POST method.

 The array variable can be accessed from any script in the program; it
has a global scope.

 This method is ideal when you do not want to display the form post
values in the URL.

 A good example of using post method is when submitting login details


to the server.
Cont..

 <?php
 $_POST['variable_name'];
 ?>

 “$_POST[…]” is the PHP array


 “'variable_name'” is the URL variable name.
Cont..

 PHP GET method


 This is the built in PHP super global array variable that is
used to get values submitted via HTTP GET method.

 The array variable can be accessed from any script in the


program; it has a global scope.

 This method displays the form values in the URL.

 It‟s ideal for search engine forms as it allows the users to


book mark the results.
 <?php
 $_GET['variable_name'];
 ?>

 “$_GET[…]” is the PHP array


 “'variable_name'” is the URL variable name.
PHP - Validate Name

 The code below shows a simple way to check if the


name field only contains letters and whitespace. If
the value of the name field is not valid, then store an
error message:
 $name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
PHP - Validate E-mail

 The easiest and safest way to check whether an email


address is well-formed is to use PHP's filter_var() function.
 In the code below, if the e-mail address is not well-formed,
then store an error message:
 $email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
PHP - Validate URL

 $email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email,FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
PHP Arrays

 An array stores multiple values in one single


variable:
 Example
 <?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " .
$cars[2] . ".";
?>
What is an Array?

 An array is a special variable, which can hold more than


one value at a time.
 If you have a list of items (a list of car names, for example),
storing the cars in single variables could look like this:
 $cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";
Create an Array in PHP

 In PHP, the array() function is used to create an


array:
 array();
 In PHP, there are three types of arrays:
 Indexed arrays - Arrays with a numeric index
 Associative arrays - Arrays with named keys
 Multidimensional arrays - Arrays containing one
or more arrays
What is MySQL?

 MySQL is a database system used on the web


 MySQL is a database system that runs on a server
 MySQL is ideal for both small and large applications
 MySQL is very fast, reliable, and easy to use
 MySQL uses standard SQL
 MySQL compiles on a number of platforms
 MySQL is free to download and use
 MySQL is developed, distributed, and supported by Oracle
Corporation
 MySQL is named after co-founder Monty Widenius's
daughter: My
 The data in a MySQL database are stored in tables. A table
is a collection of related data, and it consists of columns and
rows.
 Databases are useful for storing information categorically.
A company may have a database with the following tables:
 Employees
 Products
 Customers
 Orders
Database Queries

 A query is a question or a request.


 We can query a database for specific information and have
a recordset returned.
 Look at the following query (using standard SQL):

 SELECT LastName FROM Employees

 The query above selects all the data in the "LastName"


column from the "Employees" table.
PHP Connect to MySQL

 PHP 5 and later can work with a MySQL database using:

 MySQLi extension (the "i" stands for improved)


Open a Connection to MySQL

 Before we can access data in the MySQL database, we need to be able to


connect to the server:
 <?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
Close the Connection

 The connection will be closed automatically when the script


ends. To close the connection before, use the following:

 mysqli_close($conn);
 The PHP functions for use with MySQL have the following
general format −

 mysql_function(value,value,...);

 The second part of the function name is specific to the


function, usually a word that describes what the function
does.

 mysqli_connect($connect); mysqli_query($connect,"SQL
statement");
MySQL Connection Using PHP Script

 PHP provides mysql_connect() function to open a database


connection. This function takes five parameters and returns a MySQL
link identifier on success or FALSE on failure.

 Syntax
 connection mysql_connect(server,user,passwd,new_link,client_flag);
 server
 Optional − The host name running the database server. If not specified,
then the default value will be localhost:3306.

 user
 Optional − The username accessing the database. If not specified, then
the default will be the name of the user that owns the server process.

 passwd
 Optional − The password of the user accessing the database. If not
specified, then the default will be an empty password.
 new_link
 Optional − If a second call is made to mysql_connect() with the same
arguments, no new connection will be established; instead, the
identifier of the already opened connection will be returned.

 client_flags
 Optional − A combination of the following constants −
 MYSQL_CLIENT_SSL − Use SSL encryption.
 MYSQL_CLIENT_COMPRESS − Use compression protocol.
 MYSQL_CLIENT_IGNORE_SPACE − Allow space after function
names.
 MYSQL_CLIENT_INTERACTIVE − Allow interactive timeout seconds
of inactivity before closing the connection.
Create a Database using PHP Script

 PHP uses mysql_query function to create or delete


a MySQL database. This function takes two
parameters and returns TRUE on success or FALSE
on failure.
 mysql_query( sql, connection );
 sql
 Required - SQL query to create or delete a MySQL
database
 connection
 Optional - if not specified, then the last opened
connection by mysql_connect will be used.
Drop Database using PHP Script

 PHP uses mysql_query function to create or delete a MySQL


database. This function takes two parameters and returns TRUE on
success or FALSE on failure.
 Syntax
 bool mysql_query( sql, connection );

 sql
 Required − SQL query to create or delete a MySQL database

 connection
 Optional − if not specified, then the last opened connection by
mysql_connect will be used.
AJAX Introduction

 AJAX is a developer's dream, because you can:


 Read data from a web server - after the page has
loaded
 Update a web page without reloading the page
 Send data to a web server - in the background
 What is AJAX?
 AJAX = Asynchronous JavaScript And XML.
 AJAX is not a programming language.
 AJAX just uses a combination of:
 A browser built-in XMLHttpRequest object (to
request data from a web server)
 JavaScript and HTML DOM (to display or use the
data)
 AJAX allows web pages to be updated
asynchronously by exchanging data with a web
server behind the scenes.

 This means that it is possible to update parts of a


web page, without reloading the whole page.
 1. An event occurs in a web page (the page is loaded, a
button is clicked)
 2. An XMLHttpRequest object is created by JavaScript
 3. The XMLHttpRequest object sends a request to a web
server
 4. The server processes the request
 5. The server sends a response back to the web page
 6. The response is read by JavaScript
 7. Proper action (like page update) is performed by
JavaScript
AJAX - The XMLHttpRequest Object

 The XMLHttpRequest Object


 All modern browsers support the XMLHttpRequest object.

 The XMLHttpRequest object can be used to exchange data with a web


server behind the scenes.

 This means that it is possible to update parts of a web page, without


reloading the whole page.

 Create an XMLHttpRequest Object

 All modern browsers (Chrome, Firefox, IE7+, Edge, Safari,


Opera) have a built-in XMLHttpRequest object.

 Syntax for creating an XMLHttpRequest object:

 variable = new XMLHttpRequest();


 Older Browsers (IE5 and IE6)
 Old versions of Internet Explorer (5/6) use an ActiveX
object instead of the XMLHttpRequest object:

 variable = new ActiveXObject("Microsoft.XMLHTTP");

 To handle IE5 and IE6, check if the browser supports


the XMLHttpRequest object, or else create
an ActiveX object:
 Example
 if (window.XMLHttpRequest) {
// code for modern browsers
xmlhttp = new XMLHttpRequest();
} else {
// code for old IE browsers
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
 The url - A File On a Server
 The url parameter of the open() method, is an address to a file on a
server:

 xhttp.open("GET", "ajax_test.asp", true);

 The file can be any kind of file, like .txt and .xml, or server scripting
files like .asp and .php (which can perform actions on the server before
sending the response back).
The onreadystatechange Property

 The readyState property holds the status of the


XMLHttpRequest.

 The onreadystatechange property defines a function to be


executed when the readyState changes.

 The status property and the statusText property holds the


status of the XMLHttpRequest object.
Property Description
onreadystatec Defines a function to be called when the readyState property
hange changes
readyState Holds the status of the XMLHttpRequest.
0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready
status 200: "OK"
403: "Forbidden"
404: "Page not found"
AJAX - Send a Request To a Server

 The XMLHttpRequest object is used to exchange data with


a server.
 Send a Request To a Server
 To send a request to a server, we use the open() and send()
methods of the XMLHttpRequest object:
 xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
Method Description
open(method, url, Specifies the type of request
async)
method: the type of request: GET or POST
url: the server (file) location
async: true (asynchronous) or false (synchronous)
send() Sends the request to the server (used for GET)
send(string) Sends the request to the server (used for POST)
GET or POST?

 GET is simpler and faster than POST, and can be used in most cases.
 However, always use POST requests when:
 A cached file is not an option (update a file or database on the server).
 Sending a large amount of data to the server (POST has no size
limitations).
 Sending user input (which can contain unknown characters), POST is
more robust and secure than GET.
 GET Requests
 A simple GET request:
 Example
 xhttp.open("GET", "demo_get.asp", true);
xhttp.send();
 POST Requests
 A simple POST request:
 Example
 xhttp.open("POST", "demo_post.asp", true);
xhttp.send();
 Synchronous Request
 To execute a synchronous request, change the third
parameter in the open() method to false:
 xhttp.open("GET", "ajax_info.txt", false);
 Sometimes async = false are used for quick testing. You will
also find synchronous requests in older JavaScript code.

 Since the code will wait for server completion, there is no


need for an onreadystatechange function:
 Example
 xhttp.open("GET", "ajax_info.txt", false);
xhttp.send();
document.getElementById("demo").innerHTML = xhttp.responseText;

You might also like