Presentation is loading. Please wait.

Presentation is loading. Please wait.

PHP and Sessions. Session – a general definition The GENERAL definition of a session in the “COMPUTER WORLD” is: The interactions (requests and responses)

Similar presentations


Presentation on theme: "PHP and Sessions. Session – a general definition The GENERAL definition of a session in the “COMPUTER WORLD” is: The interactions (requests and responses)"— Presentation transcript:

1 PHP and Sessions

2 Session – a general definition The GENERAL definition of a session in the “COMPUTER WORLD” is: The interactions (requests and responses) that take place between 2 computers during a set period of time.  There are many kinds of sessions in the “Computer World” that even you have experienced. ssh / telnet session sftp session Session between your app and a server –like a Bank of America App that communicates with the Bank server

3 Session – a web definition When we think about Sessions in terms of Web Systems we add to the general definition The interactions (requests and responses) that take place between 2 computers during a set period of time. PLUS, we typically store data (persistence) between these requests and response. This data will go away once the session is ended. Languages built for the web (or that are useful for the web) will have built-in code to handle Web Sessions

4 PHP Sessions In PHP, we have the ability to:  Start a session  Grab existing session  Add data ‘to” a session  Remove data “from” a session  Set the lifetime of a session  Destroy (kill/end) a session 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.

5 PHP Sessions In PHP, we have a special pre-defined array we can use to store session data in:  $_SESSION[] This is an associative array (key to values) where $_SESSION[‘the_name’] is the data value associated with the key ‘the_name’…..

6 PHP Sessions Remember our Session data holds information about one single user (client) during its session with another computer (server) By default (though you can alter this), any php program served from the same Server and base URL has access to the same $_SESSION[] data. So if you have a cart.php and a processorder.php both coming from you account in puzzle –they have access to the same $_SESSION[] data with the client invoking those php programs.

7 PHP Sessions session_start() Before you can store user information in your PHP session, you must first start up the session. NOTE: this function will create a new session if none exists between the client and server OR if one exists will “grab” the session and populate $_SESSION[] array --- THIS IS DONE FOR YOU by the PHP interpreter/Apache server. The session_start() function must appear BEFORE the tag

8 PHP Sessions $_SESSION['views']=1; if(isset($_SESSION['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; echo "Views=". $_SESSION['views'];

9 Example --- See our website <?php session_start(); //if session variable already exists then increment it by 1 //else set to 1 if(isset($_SESSION['views'])) $_SESSION['views'] = $_SESSION['views']+ 1; else $_SESSION['views'] = 1; echo "views = ". $_SESSION['views']; ?>

10 Example --- See our website <?php session_start(); // store session data $_SESSION['views'] = 1; //retrieve data echo "Pageviews = ". $_SESSION['views']; ?>

11 Example 2 --- See our website – VIEWS Counter <?php session_start(); //if session variable already exists then increment it by 1 //else set to 1 if(isset($_SESSION['views'])) $_SESSION['views'] = $_SESSION['views']+ 1; else $_SESSION['views'] = 1; echo "views = ". $_SESSION['views']; ?> Hit it 2 times Hit it 3 times

12 PHP Sessions – removing data unset($_SESSION['views']); The unset() function is used to free the specified session variable <?php session_start(); //removes session variable cart if it exists if(isset($_SESSION['cart'])) unset($_SESSION['cart']); ?>

13 PHP Sessions --destroying (killing) session_destroy(); will reset your session and you will lose all your stored session data. <?php session_start(); //intermediate code //..... //ready to destory session session_destroy(); ?>

14 Another page visit example

15 visit.php <?php session_start(); $current=time(); // look at the current time if($_SESSION[last_click]) { $passed=$current-$_SESSION[‘last_click’]; $to_print.="$passed seconds have passed since your last visit.\n"; $_SESSION[‘last_click’]=$current; } else { $to_print="This is your first visit.\n"; $_SESSION[‘last_click’]=$current; } print "$top\n$to_print\n$bottom"; ?> FIRST TIME: Your Visit Status This is your first visit. Thank you and please return SECOND TIME Your Visit Status 43 seconds have passed since your last visit. Thank you and please return

16 YOU CAN ALSO STORE INFORMATION ON THE CLIENT CALLED COOKIES THAT IS AUTOMATICALLY SENT TO SERVER WHEN CLIENT RE- REQUESTS THAT SERVER Did you know….

17 This is how Amazon knows your name See it knows about “Behzad’s Amazon”

18 Cookies Cookies are (name, value) pairs that are stored in the Client machine (in our case the client SW is a browser and it does this storing for you in a file) that is persistent –and it is returned to the Server everytime you go back to same URL/Server.

19 cookies A cookie is a piece of attribute/value data. A server can send cookies as value of a HTTP header Set-Cookie:. Multiple headers may be sent. When the client visits the web site again, it will send the cookie back to the server with a HTTP header Cookie:

20 Set-Cookie Set-Cookie: name=value; [expires= date;] [path=path;] [domain= domain] [secure] where  name= is the variable name set in the cookie  value= is the variable's value  date= is a date when the cookie expires  path= restricts the cookie to be sent only when requests to a path starting with path are made  domain= restricts the sending of the cookie to a certain domain  secure restricts transmission to https

21 Cookies: The browser compares the request it wants to make with the URL and the domain that sent the cookie. If the path is not set the cookie will only be sent to a request with the originating URL. If the cookie matches the request a request header of the form Cookie: name1=value1 ; name2=value2 is sent.

22 22 PHP and Cookies Cookies in PHP are fairly easy to use:  setcookie() function is called to create a cookie that will be sent to the client See http://php.net/manual/en/function.setcookie.phphttp://php.net/manual/en/function.setcookie.php As always with cookies, they must be sent with the http header  Thus, you should determine and set any cookies in PHP mode prior to using any html (or even simple text)  $_COOKIE array contains the cookies received back from the client machine Cookies sent to client by server previously Associative array allows access of cookies by name

23 Confused --- Sessions and Cookies


Download ppt "PHP and Sessions. Session – a general definition The GENERAL definition of a session in the “COMPUTER WORLD” is: The interactions (requests and responses)"

Similar presentations


Ads by Google