Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
150 views

Ajax and PHP: Click To Add Text

PHP is a server-side scripting language commonly used for web development. It allows developers to add dynamic content and functionality to websites. Some key points about PHP include: - PHP code is embedded into HTML files and run on the server side. - It supports variables, functions, classes/objects, and can connect to databases. - Variables in PHP are loosely typed and do not require declaration. There are global, superglobal, and local variable scopes. - PHP provides many built-in functions for string manipulation, file handling, and interacting with servers and databases.

Uploaded by

Andreea Mahulet
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
150 views

Ajax and PHP: Click To Add Text

PHP is a server-side scripting language commonly used for web development. It allows developers to add dynamic content and functionality to websites. Some key points about PHP include: - PHP code is embedded into HTML files and run on the server side. - It supports variables, functions, classes/objects, and can connect to databases. - Variables in PHP are loosely typed and do not require declaration. There are global, superglobal, and local variable scopes. - PHP provides many built-in functions for string manipulation, file handling, and interacting with servers and databases.

Uploaded by

Andreea Mahulet
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 50

AJAX and PHP

Click to add Text


What is PHP ?
 comes from PHP: Hypertext Preprocessor
 is a server-side programming language
 is simple and efficient
 is free and open-source
 it runs on Apache and IIS
 http://www.php.net
First php example

<html>
<head></head>
<body>
test…<br />
<?php echo “first example.”; ?>
</body>
</html>
Php history (PHP: Hypertext
Preprocessor)
 1995, PHP/FI – Personal Home Page/Forms Interpreter,
a set of CGI scripts written in CS for tracking access to a
web page; it included database access and server-side
functionality [Rasmus Lerdorf]
 1997, PHP/FI 2.0
 1997, PHP 3.0 [Andi Gutmans, Zev Suraski] – complete
rewrite of PHP/FI
 1999-2000, PHP 4.0, the Zend engine
 2005, PHP 5.0, Zend Engine 2.0, new Object model and
features
 2015, PHP 7.0, Zend Engine 3.0, more compact data
structures, cache, new language features
Php code in HTML files
1. <?php … code … ?>
2. <script language=“php”>
… code …
</script>
3. <? … code … ?>
<?= expression ?>
4. ASP-style tags:
<% … code… %>
Php variables
 php is a loosely-typed language (variable is not bound
to a specific type)
 a variable name, when used or defined, is preceded by

“$”
 no type is specified when the variable is defined

 ex.:

$text=“example”;
$no=4;
$no1=5.6l;
$vect=array(1,2,3,4,5);
$b=TRUE;
Variables (2)
 by default, variables are always assigned by value:
$x = “test”; $x1=$x;
 but they can be assigned by reference:
$x1 = &$x;
//$x1 is an alias for $x;
 variables need not be initialized, but this is a good
practice; they have a default value depending on the
context (FALSE in boolean context, 0 in numeric context)
 var_dump($var) – prints information about $var
Variables (3) - scope
 regular PHP variables have a single scope – the context
within the variable is defined (function, file etc.); the
scope include required and include files
ex.: $n=4;
include “vars.php”; //$n is visible in “vars.php”
 local variables from user-defined functions have a local
function scope:
$n=4;
function foo() { echo $n; } // $n is undefined here
 static variables – have a local function scope, but they
exist outside the function and keep their values
between calls; ex.:
function test() {
static $n = 0; $n++; echo $n; }
Variables (4) – global scope
 global variables declared within a function will refer to
the global version of those variables; ex.:
$a=2; $b=2;
function test() {
global $a, $b;
$c = $a + $b; //$c is here 4
}
 global variables can be accessed through the $GLOBALS
array:
$c = $GLOBALS[‘a’] + $GLOBALS[‘b’];
 the $GLOBALS array is an associative array with the
name of the global variable being the key and the
contents of that variable being the value of the array
element; $GLOBALS exists in any scope, this is because
Variables (4) – superglobal scope
 superglobal variables are available in all scopes throughout the script; no
need to be declared global in a local function; were introduced in PHP 4
 the superglobal variables are:
$GLOBALS – contains references to all variables defined in the global scope of
the script
$_SERVER - array containing information such as headers, paths, and script
locations; built by the web server
$_GET - array of variables passed to the current script via the URL parameters
$_POST - array of variables passed to the current script via the HTTP POST
method
$_FILES - array of items uploaded to the current script via the HTTP POST
method
$_COOKIE - array of variables passed to the current script via HTTP Cookies
$_SESSION - array containing session variables available to the current script
$_REQUEST - array that by default contains the contents of $_GET, $_POST
and $_COOKIE
$_ENV - array of variables passed to the current script via the environment
method
Variables (5) – global vs. superglobal
examples
function test_global()
{
    // Most predefined variables aren't "super" and require 
    // 'global' to be available to the functions local scope.
    global $HTTP_POST_VARS;
    
    echo $HTTP_POST_VARS['name'];
    
    // Superglobals are available in any scope and do 
    // not require 'global'. Superglobals are available 
    // as of PHP 4.1.0, and HTTP_POST_VARS is now
    // deemed deprecated.
    echo $_POST['name'];
}
$GLOBALS
function test() {
    $foo = "local variable";

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
    echo '$foo in current scope: ' . $foo . "\n";
}
$foo = "Example content";
test();

will print:
$foo in global scope: Example content
$foo in current scope: local variable
$_Server
 keys:
‘PHP_SELF’ – the filename currently executed
‘SERVER_ADDR’ – the IP address of the server
‘SERVER_PROTOCOL’ – name and version of the protocol via which
the page is requested; HTTP/1.1
‘REQUEST_METHOD’ – the request method
‘QUERY_STRING’ – the query string
‘DOCUMENT_ROOT’ – the document root under which the current
script is executed
‘REMOTE_ADDR’ – the client IP address
‘REMOTE_PORT’ – the client port
‘HTTP_ACCEPT’ – the HTTP accept field of the HTTP protocol
etc.
$_GET
 an html example
<form action="welcome.php" method="get">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
 after submit, the URL is:
http://www.w3schools.com/welcome.php?fname=Peter&age=37
 the ‘welcome.php’ file:
Welcome <?php echo $_GET["fname"]; ?>.<br />
You are <?php echo $_GET["age"]; ?> years old!
$_POST
 an html example
<form action="welcome.php" method=“post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
 after submit, the URL is:
http://www.w3schools.com/welcome.php
 the ‘welcome.php’ file:
Welcome <?php echo $_POST["fname"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old!
Functions
 the syntax of defining a function is:
function functionName($param1, $param2,…,$paramn) {
… statements…
return …;
}
 ex.:
<?php
function add($x,$y) {
$total=$x+$y;
return $total;
}

echo "1 + 16 = " . add(1,16);


?>
Classes and Objects – simple
example
class SimpleClass {
    // property declaration
    public $var = 'a default value';
    // method declaration
    public function displayVar() {
        echo $this->var;
    }
}
$instance = new SimpleClass();
class ExtendClass extends SimpleClass {
    // Redefine the parent method
    function displayVar() {
        echo "Extending class\n";
        parent::displayVar();
    }
}
$extended = new ExtendClass();
$extended->displayVar();
Classes and objects
 PHP treats objects are references (a variable
contains the reference of the object, not the
entire object)
 new keyword for creating an object
 class, this, extends
 __construct() - for constructor
 __destruct() - for destructor
 Visibility: public, protected, private (declaring
with var means public visibility)
Class visibility example
class MyClass
{
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private';

function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
Types
 boolean: a non-zero numeric value or empty string or array, NULL
are automatically converted to FALSE; other values are cast to TRUE
 integer, float, double: integers in decimal base, hexadecimal
(prefixed by “0x”), and octal (prefixed by “0”)
 string
 array
 object: reference type to cast class instances to
 resource: a reference to an external resource(curl session, ftp
session, database link, pdf document etc.) created and used by special
functions
 NULL: a variable with no value (no value has been set or the variable
has been unset() )
 pseudo-types: mixed (e.g. the type parameter of gettype()),
callback functions, void (e.g. function returning void)
The String type
 a character is a byte (native Unicode support expected in PHP 6)
 4 ways of defining a string literal:
 single quotes: $str = ‘this is a string’;
 double quotes: $str = “this is a string”;
 heredoc: (the closing identifier must be in the beginning of the line and can only be followed by ‘;’)
$str = <<<FOO
this is
a string
FOO;
 nowdoc: (no parsing is done inside a nowdoc; usefull for embedding PHP code or large body of thext
without escaping)

$str = <<<‘FOO’
this is
a string
FOO;
The String type (2)
 in a double quotes or heredoc string, variables are
parsed within it, in a single quotes and nowdoc string,
they are not
 there are 2 syntaxes for using variables in a string:
 simple - variable is preceded by ‘$’: echo “some text $var”;
 complex – complex expressions are enclosed in “{…}”:
echo “some text {$ob->vect[‘foo’]->val}”;
 a string can be indexed, e.g. $str[3] – 4th character of str
 in string context all other values are automatically
converted to strings (e.g. 23->”23”, TRUE->”1”)
 in numeric context, strings are automatically converted
to integer/float; e.g. $n=1+”2 zzz” => $n=3
 the “.” operator is for string concatenation (‘+’ is not
ok)
The String type (3) - functions
 echo(), print(), printf(), sprintf(), fprintf() – for
displaying strings
 crypt(), md5(), sha1() – hashing function
 explode(), strtok() – string tokenizer
 ltrim(), rtrim(), str_replace(), str_shuffle(), str_split(),
str_word_count(), strchr(), strcmp(), strlen(), strstr(),
strpos(), strtolower(), strtoupper(), substr(),
substr_compare(), substr_count(), substr_replace() –
string manipulation functions
 sscanf() – parsing input
Arrays
 arrays in PHP are actually ordered maps (key-value pair
sequences)
 keys can be only integer or string values
 in no key is specified for an element, the value of the
previous key plus 1 is used (keys start at 0 if not
specified)
 examples:
$a = array(“a”=>45, 2=>7, 36=>”zzz”)
$b = array(4=>40, 67, 87, “b”=>3) is the same as:
$b = array(4=>40, 5=>67, 6=>87, “b”=>3)
$c = array(2=>“zz”, 45=>array(“a”=>11, 23=>34)) –
a multidimensional array
Arrays (2)
 accessing a component of the array by indexing it:
$v = array(1=>2, 2=>”zz”, vect=>array(2, 3, 4));
$v[2] = 45;
$v[‘vect’][1]=4;
 defining an array can be done by setting a value for a specific
component:
$v[2]=3;
 removing a key/pair value or the whole array:
unset($v[2]);
unset($v);
 a primary value (i.e. integer, float, string, boolean) can be
converted automatically to an array with one component having at
index 0 that value
 count($v) counts the elements of $v and sort($v) sorts the
elements of $v
 parsing a vector: foreach($persons as $p) { echo $p; }
Functions useful with types
 gettype($var) – return the type of $var
 settype($var,”newtype”) – for explicit conversion
 boolean is_array($var)
 boolean is_binary($var)
 boolean is_bool($var)
 boolean is_buffer($var)
 boolean is_callable($var)
 boolean is_double($var)
 boolean is_float($var)
 boolean is_int($var)
 boolean is_integer($var)
 boolean is_long($var)
 boolean is_null($var)
 boolean is_numeric($var)
 boolean is_object($var)
 boolean is_real($var)
 boolean is_resource($var)
 boolean is_scalar($var)
 boolean is_string($var)
 boolean is_unicode($var)
Operators
 arithmetic operators:
+ - * / % ++ --
 assignment operators:
= += -= *= /= .= %=
 comparison operators:
== != <> > >= < <=
=== (identical) !== (not identical)
 bitwise operators:
& | ^ ~ << >>
 logical operators: && || ! and or xor
 string operators: . (concatenation)
 ternary operator: (expr) ? (exprTrue) : (exprFalse)
Other operators
 error control operator (@) : when ‘@’ is placed in front
of an expression, if that expression generates an error
message, that error message will be ignored
 execution operator (`…`) – like in Unix shells:
$output = `ls –l `
 cast operators: ex.: (string) $a; (float) $b;
 array operators:
$a + $b : union of arrays $a and $b (duplicate keys are not overwritten)
$a == $b : true if $a and $b have the same key/value pairs
$a === $b : true if $a and $b have the same key/value pairs in
the same order and of the same type
$a!=$b and $a<>$b : true if $a and $b don’t have the same
key/value pairs
$a !== $b : true if $a and $b are not identical
Constants
 their scope is global
 are declared using the function define() or using const:
define(“const1”, “something”);
 the constant name is not prepend with ‘$’ when
referenced:
echo const1;
 there are some predefined constants PHP offers:
__LINE__ : the current line number of the file
__FILE__ : the full path and name of current file
__DIR__ : the directory of the file
__FUNCTION__ : the name of the current function
__CLASS__ : the class name
__METHOD__ : the class method name
__NAMESPACE__ : the current namespace
Instructions
 if (cond) {…} elseif (cond) {…} … else {…}
 while (cond) { … }
 switch($var) { case val1: statements; case val2:
statements; … ; default: statements; }
 do { … } while(cond)
 break can exit a do-while/while/for/foreach/switch
structure
 continue skips the rest of the current iteration and
begins a new iteration (if the condition is true) in a do-
while/while/for/foreach loop
 for(init ; continue_cond; next) { … }
 foreach($vector as $val) { … }
 foreach($vector as $key=>$val) { … }
Other instructions
 PHP offers an alternative syntax for if, switch, while,
for, foreach where the opening brace ‘{‘ is changed to
‘:’ and the closing brace ‘}’ is changed to endif;,
endswitch;, endwhile;, endfor;, endforeach;. ex.:
while($n<4):
$i++;
echo $i;
endwhile;
 return – ends execution of current function
 goto:
label:
$i++;

goto label;
include() and require()
 include() and require() include in the current context
another PHP file
 ex.: include “settings.php”;
require “global.php”;
 the code included inherits the variable scope of the line
on which the include occurs
 parsing drops out of PHP mode and into HTML mode at
the beginning of the included file and resumes again at
the end
 if “allow_url_fopen” is enabled, the file to be included
can be specified using an URL
Predefined Variables (superglobals)
 Superglobals — Superglobals are built-in variables that are always available
in all scopes
 $GLOBALS — References all variables available in global scope
 $_SERVER — Server and execution environment information
 $_GET — HTTP GET variables
 $_POST — HTTP POST variables
 $_FILES — HTTP File Upload variables
 $_REQUEST — HTTP Request variables
 $_SESSION — Session variables
 $_ENV — Environment variables
 $_COOKIE — HTTP Cookies
 $php_errormsg — The previous error message
 $HTTP_RAW_POST_DATA — Raw POST data
 $http_response_header — HTTP response headers
 $argc — The number of arguments passed to script
 $argv — Array of arguments passed to script
Cookies
 A cookie is often used to identify a user. A cookie is a
small file that the server embeds on the user's
computer. Each time the same computer requests a
page with a browser, it will send the cookie too. With
PHP, you can both create and retrieve cookie values.
 creating a cookie:
<?php
$expire=time()+60*60*24*30;
setcookie("user", "Alex Porter", $expire);
?>

<html>
.....
</html>
Cookies (2)
 retrieve a cookie value:
<html>
<body>

<?php
if (isset($_COOKIE["user"]))
   echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
  echo "Welcome guest!<br />";
?>

</body>
</html>
Cookies (3)
 delete a cookie = assuring the expiration date is in the
past

<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
PHP sessions
 A PHP session variable is used to store information
about, or change settings for a user session. Session
variables hold information about one single user, and
are available to all pages in one application.
 Sessions work by creating a unique id (UID) for each
visitor and store variables based on this UID. The UID
is either stored in a cookie or is propagated in the URL.
 starting a session:
<?php session_start(); ?>

<html>
<body>

</body>
</html>
PHP sessions (2)
 storing a session variable:
<?php
session_start();

if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>
PHP sessions (3)
 free a session variable:
<?php
unset($_SESSION['views']);
?>
 destroy a session:
<?php
session_destroy();
?>
PHP and MySQL
 opening and closing a connection:
<?php
$con = mysql_connect("localhost",“user",“pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

// some code

mysql_close($con);
?>
PHP and MySQL (2)
 querying and displaying the result example:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con) {
   die('Could not connect: ' . mysql_error());
}

mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");

echo "<table border='1'>


<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";

while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
AJAX - Asynchronous JavaScript and
XML JSON

Click to add Text


What is AJAX ?
 AJAX is not a new programming language, but a new
technique for creating better, faster, and more
interactive web applications.
 With AJAX, a JavaScript can communicate directly with
the server, with the XMLHttpRequest object. With this
object, a JavaScript can trade data with a web server,
without reloading the page.
 AJAX uses asynchronous data transfer (HTTP requests)
between the browser and the web server, allowing web
pages to request small bits of information from the
server instead of whole pages.
 The AJAX technique makes Internet applications
smaller, faster and more user-friendly.
JSON (JavaScript Object Notation)
 A lightweight data interchange format based on
javascript, readable by both humans and machines
 Uses 3 data types:
 Simple types: numeric, string, boolean, null
 Array: [ elem1, elem2, elem3 … ]
 Object: { prop1: value1, prop2: value2, prop3: value3 … }
 Ex.:
{ “Name”: “Adrian Sterca”,
“Age”: 39,
“Profession”: “teacher”,
“Courses”: [ “Web Programming”, “Audio-Video Data Processing” ]
}
JSON in javascript
 Convert JSON string into js object:
var obj = JSON.parse(‘ { “name”: “forest”, “age” : 39, “sex”: “M”} ’);
document.write(obj.name);
obj.age=20;
 Convert js object to JSON string:
var obj = new Object();
obj.name=“forest”;
obj.age=25;
obj.sex=“M”;
var jsonString = JSON.stringify(obj);
JSON in php
 convert PHP object/associative array to JSON string:
$arr = array(“name” => “forest”, “age” =>39, “sex” => “M”);
$jsonString = json_encode($arr);
echo $jsonString;
 convert JSON string to PHP object/associative array
$arr = json_decode($jsonString, true);
$obj = json_decode($jsonString, false);
AJAX example – plain javascript
var xmlhttp
function showHint(str) {
if (str.length==0) {
  document.getElementById("txtHint").innerHTML="";
  return;
}
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null) {
  alert ("Your browser does not support XMLHTTP!");
  return;
}
var url=“submit.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged() {
if (xmlhttp.readyState==4) {
  document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
}
if (window.ActiveXObject) { // code for IE6, IE5
    return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
Ajax example – GET request, jQuery
1) $.get("showStudentsFromGroup-GET.php",
{groupid : "2" , name : “forest"},
function(data,status) {
$("#maindiv").html(data);
});
2) $.ajax({
type : "GET",
url : "showStudentsFromGroup-GET.php",
data: {groupid : "2" , name : “forest"},
success: function(data,status) {
$("#maindiv").html(data);
}
Ajax example – POST request, jQuery
$.post("showStudentsFromGroup-POST.php",
{groupid : "2" , name : “forest"},
function(data,status) {
$("#maindiv").html(data);
});
PHP the right way..
http://www.phptherightway.com/

You might also like