18
PHP 1-1 PHP Lecture 2 Xingquan (Hill) Zhu [email protected]

PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu [email protected]

Embed Size (px)

Citation preview

Page 1: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-1

PHP Lecture 2

Xingquan (Hill) [email protected]

Page 2: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-2

PHP

PHP overview PHP General Syntactic Characteristics PHP Output to browser Primitives, Operations, and Expressions Control Statement Array Function File access Cookie Session Form process

Page 3: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-3

PHP: Files Deal with any file on the server

$fptr = fopen(filename, use_indicator) Use indicators:

“r” read only, from the beginning “r+” read and write, from the beginning “w” write only, from the beginning (also creates the

file, if necessary) “w+” read and write, from the beginning (also creates

the file, if necessary) “a” write only, at the end, if it exists (creates the

file, if necessary) “a+” read and write, read at the beginning, write at

the end “b” binary file: on systems which differentiate between

binary and text files $fptr1=fopen(“test1.php”, “w+”); files.php$fptr2=fopen(“test1.php”, “r+”);

Page 4: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-4

PHP: Files

fopen could fail it will return “false” Use file_exists(filename) to determine

whether file exists before trying to open it Use fopen with “die” Always use fclose(file_var) to close a file,

after your reading/writing

Fopen.php

Page 5: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-5

PHP: Write to Files

$bytes_written = fwrite(file_var, string) fwrite returns the number of bytes it wrote Return “false” on error

fwrite.php

Page 6: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-6

PHP: Reading Files Read all or part of the file into a string variable

$str = fread(file_var, #bytes) To read the whole file, use filesize(file_name) as the

second parameter Read one line from the file

$line = fgets(file_var[, #bytes]) Reads characters until eoln, eof, or #bytes characters

have been read Read one character from the file

$ch = fgetc(file_var)• Control reading lines or characters with eof detection

using feof (TRUE for eof; FALSE otherwise)

while(!feof($file_var)) {

$ch = fgetc($file_var);}

Readingfile.php

Page 7: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-7

PHP file access

Read the lines of the file into an array array file ( string filename)

• file() returns the file in an array • Each element of the array corresponds to a line in

the file, with the newline still attached. • Upon failure, file() returns FALSE

File.php Filtering.php

Page 8: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-8

PHP

PHP overview PHP General Syntactic Characteristics PHP Output to browser Primitives, Operations, and Expressions Control Statement Array Function File access Cookie Session Form process

Page 9: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-9

Building a Shopping Cart What is a shopping cart

Putting things together and then check out. A series of scripts that keep track of items a visitor picks to buy

from your site until they proceed to the "checkout Web server is basically stateless

HTTP is stateless It does not store any information about a web client

• Why? Web server records nothing about the previous actions of a web

client• It only knows the current web page the web browser is visiting

How are we going to keep our browser “continuously” connected to the server So we can feel the we are connected to the server all the time

How are we going to collect information across different web pages Cookie & Session Hidden fields of a form

• <input type = "hidden" name = “customername" value = “San Jose" />

Page 10: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-10

Cookie What is a cookie?

An message given to a web browser by a web server, then send back to the server each time the browser requests a page from the server.

What can cookie do for us? Identify users and store client side information Authenticate or identify a registered user

• No need to sign in again every time they access a website Where is the cookie located? How does it look like?

C:\Documents and Settings\YourLoginID\Local Settings\Temporary Internet Files

Cookie:[email protected] Will browser return all cookies to each server?

No, only those matched domains Malicious cookies setting

Are cookies dangerous to my computer? No

Is this a major privacy issue? You could lose identify information You have choices of not using any cookie

Page 11: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-11

Cookie Create a cookie with setcookie

setcookie(cookie_name, cookie_value, lifetime)• setcookie("voted", "true", time() + 86400);• setcookie("voted", "true", time() + 60*60*24);

Is “lifetime” important?• Without this value, cookie expires right after you close the current

web browser window.• Expired cookies will be deleted without sending back to the server

Cookies must be created before any other HTML is created by the script Before <html><body>…were sent

How to access the cookie value Using the $_COOKIE array

• setcookie("visits“, $visitcount, time()+3600);• $visitcount = $_COOKIE["visits"];

Check whether a cookie has been set before• Isset($_COOKIE[“visits”])

Cookie_simple.php cookie1.php

Page 12: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-12

Simple Shopping Cart

How to update cookie value based on your choice? $_SERVER["PHP_SELF"]

• The name of the current script Using implicit arrays for form values

• $_POST• $_GET

Simpleupdate.php

Updatecookie.php uppdatecookie1.php

Page 13: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-13

Simple Shopping Cart

At checkout page, summarize all the cookie values

Checkout.php checkout1.php

Checkoutmain.php

Page 14: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-14

Session Tracking What is a session

SUN API: Provides a way to identify a user across more than one page request or visit to a Web site and to store information about that user

web applications make use of sessions to remember who you are A session is available as long as the browser is opened A session is closed as soon as the browser is closed or you go to

another website Why session?

Some users block cookies for privacy concerns Are cookie & session same thing?

Cookie• cookies are normally stored in your hard disk • privacy

Session• A session aren't stored in your hard disk • Considered more secure

Page 15: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-15

Session tracking

For session tracking, PHP creates and maintains a session tracking id Create the id with a call to session_start with no

parameters Subsequent calls to session_start retrieves any session

variables that were previously registered in the session To create a session variable

$_SESSION['myVar'] = $myVarValue; Check session

if(isset($_SESSION['myVar'])){

print $_SESSION['myVar'];$_SESSION['myVar']++;

} Example: count number of pages visited

Session.php main_1.php main_2.php

Page 16: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-16

Form Process

Action property Where to send form data

Method property Post vs get

Each element has unique name Using implicit arrays for form element access

• $_POST• $_GET

Simpleform.html simpleform.php

Page 17: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-17

A complete Shopping Cart Client Side:

Set cookie for each page Collect information across web pages A summarization form (before user submit the

order) “Submission” -> invoke form processing program

Server Side: A form processing program Read form values from $_POST or $_GET array Process and save values Confirmation

formselection.php formselection1.phpformprocess.php

Page 18: PHP1-1 PHP Lecture 2 Xingquan (Hill) Zhu xqzhu@cse.fau.edu

PHP 1-18

PHP

PHP overview PHP General Syntactic Characteristics PHP Output to browser Primitives, Operations, and Expressions Control Statement Array Function File access Cookie Session Form process