1. Trang chủ
  2. » Công Nghệ Thông Tin

Học php, mysql và javascript - p 53 pdf

8 260 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 689,28 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

regeneration, session, 295register_globals function PHP, 254 regular expressions, 361–370 breakdown of typical regular expression, 365 breakdown of validateUsername regular expression ex

Trang 1

regeneration, session, 295

register_globals function (PHP), 254

regular expressions, 361–370

breakdown of typical regular expression,

365

breakdown of validateUsername regular

expression (example), 366

character classes, 363

examples of, 368

general modifiers, 369

grouping through parentheses, 363

metacharacters, 361

summary of, 367

negation of character class, 364

ranges in, 364

using in JavaScript, 369

using in PHP, 369

using to validate username in a form, 360

using with ereg_replace function in PHP,

149

relational databases, 158

(see also MySQL)

normalization, 203

relational operators

in JavaScript, 323–325

in PHP, 67–70

relationships in database data, 211–214

many-to-many, 213

one-to-many, 212

one-to-one, 211

privacy and, 214

remote server, accessing MySQL on, 162

RENAME command, 175

rename function (PHP), 140

replace method (JavaScript), 369

request/response process, 2

for dynamic web pages, 3

require statements (PHP), 97

require_once (PHP), 97, 227

reset function, using with PHP arrays, 127

results from PHP query of MySQL database,

229

fetching a row, 231

return statements, 92

reverse method (JavaScript), 352

Robin’s Nest project (see social networking site,

creating)

ROLLBACK command, 216

rows

defined, 158 deleting from table, 184 preventing duplicates, using

AUTO_INCREMENT type, 172

S

\S (nonwhitespace character) in regular

expressions, 367

\s (whitespace character) in regular characters,

367 Safari, accessing JavaScript error messages,

303 salting passwords, 285 sanitizeString and sanitizeMySQL functions

(PHP), 263 sanitizing user input, PHP authentication using

MySQL, 288 scope of variables global and local variables in JavaScript, 312 PHP, 53–58, 96

scope resolution operator (::), 106

<script> </script> tags, 300 scripting languages, VBScript and Tcl, 302 security

register_globals function in PHP, 254 sessions, 293–296

superglobal variables in PHP, 57 SELECT command, 7, 183 grouping results with GROUP BY, 191 issuing SELECT * FROM statement using

PHP, 241 joining two tables in single SELECT, 193 SELECT COUNT, 183

SELECT DISTINCT, 184 sorting results with ORDER BY, 191 using LIKE qualifier, 186

using LIMIT qualifier, 187 WHERE keyword, 185 select tags in forms, 260 using with multiple parameter, 261 self keyword (PHP), referencing constants,

107 servers, 1 Apache web server, 8 basic request/response procedure, 2 dynamic request/response procedure, 3 shared, session security and, 296 sessions, 289–296

ending, 292

Trang 2

setting timeout, 293

security, 293–296

forcing cookie-only sessions, 296

preventing session fixation, 294

preventing session hijacking, 293

using shared server, 296

starting, 289–291

retrieving session variables, 290

session_regenerate_id function (PHP), 295

shuffle function, using with PHP arrays, 124

sign-up page, social networking site project,

412–417

checking username availability, 412

YUI version, 415–417

signed or unsigned data types, 171

sizeof function (PHP), testing, 482

SMALLINT data type, 171

changing column type from CHAR to, 175

Smarty templating system, 269–277

benefits of, 270

creating scripts, 271

creating templates, 272

installation, 270

rewriting sqltest.php program to use Smarty

(example), 272–277

social networking site, creating, 405–433

checking username for availability and

notifying user, 417

code examples on website, 406

designing the site, 405

friends module, 427–430

home page, index.php file for, 411

include file of main functions, 407–409

log out page, 433

login page, 418

members module, 424–427

messaging module, 430–433

MySQL tables setup file, 410

page design and layout include file, 409

profiles, 419–424

sign-up module for users, 412–417

checking username availability, 412

YUI version, 415–417

sorting

sort function in PHP, 124

sort method in JavaScript arrays, 352

sprintf function (PHP), 133

SQL (Structured Query Language), 7, 157

SQL injection, preventing in MySQL, 245–

248 SSH, using for remote access, 27 SSL (Secure Socket Layer), 293 START TRANSACTION command, 216 statements

defined, 320 PHP, 63 static modifier static methods and properties in JavaScript,

345 static methods in PHP 5, 105 static properties and methods in PHP 5,

108 static variables in PHP, 56, 96 stopwords, 182, 457–459

in MySQL search strings, 189 storage engines, transaction, 215 string functions (MySQL), 461–465 string variables

JavaScript, 306 multiline string variable assignment in PHP,

48 PHP, 38 strings JavaScript arrays of, 307 concatenating, 310 converting to and from numbers, 311 escaping characters, 310

PHP, 46 concatenating, 46 converting to and from numbers, 49 escaping characters, 47

exploding into arrays, 125 functions for, 90

padding in printf results, 132 printf conversion specifier components,

133 types, 46 strrev function, 91 strtolower function, 92 strtoupper function, 91 Structured Query Language (see SQL) str_repeat function, 91

subclass constructors (PHP), 111 submit button in forms, changing label text,

262 superglobal variables (PHP), 56

Trang 3

security and, 57

switch statements

in JavaScript, 329

break command, 330

default action, 330

in PHP, 74–77

alternative syntax, 77

breaking out, 76

default action, 76

system calls in PHP, 149

T

\t (tab character)

in JavaScript strings, 310

in PHP strings, 47

in regular expressions, 367

use with echo statement to print out array

data, 122

tables

adding new column, 175

checking whether new table has been

created, 167

creating for MySQL database, 166

creating in MySQL using PHP, 238

creating, viewing, and deleting, 177

defined, 158

describing in MySQL using PHP, 239

dropping in MySQL using PHP, 240

indexing, 177–183

intermediary table for many-to-many

relationships, 213

joining, 192–194

linking through insert ID, 244

populating using INSERT command, 174

relationships among, 212

renaming, 175

Tcl scripting language, 302

Telnet, using for remote access, 27

templating, 269

ternary operator (?), 77

ternary operators, 64

test function (JavaScript), 360

test method (JavaScript), 360, 369

text areas in forms, 256

controlling text wrapping, 257

text boxes in forms, 256

TEXT data type

listing of TEXT types, 170

VARCHAR versus, 170

<textarea> </textarea> tags, 256 this keyword (JavaScript), 342

$this variable (PHP), 105 TIME data type, 172 time function (PHP), 53, 133 time functions (MySQL), 471 timeout, setting for sessions, 293 TIMESTAMP data type, 172 TINYINT data type, 171 transactions, 214–217 beginning with BEGIN or START

TRANSACTION, 216 canceling using ROLLBACK, 216 committing using COMMIT command,

216 storage engines for, 215 triggers, 211

try catch (JavaScript), 327 two-dimensional arrays (PHP), 40 type of a variable (in JavaScript), 311 typeof operator (JavaScript), 311, 313

U

ucfirst function, 92 unary operators, 64 Unauthorized error, 283 unit testing with PHPUnit, 481–484 Unix

installing MDB2 package, 477 installing other PEAR packages, 481 installing PHPUnit, 482

system calls from PHP, 149 unlink function (PHP), 140 UNSIGNED qualifier, MySQL numeric data

types, 171 UPDATE SET queries, 190 updates, database

triggers for, 211 URLs

encoding question mark (?) in URL for GET

request, 399 links object in JavaScript, 317 user agent string (browsers), 294 user profiles (see profiles, social networking site

project) usernames and passwords checking validity in PHP authentication,

284

Trang 4

sign-up page for social networking site

project, 412–417

checking username availability, 412

YUI version, 415–417, 415

social networking site project

checking username against database for

availability, 417

login page, 418

storing, 285

salting, 285

validating form input using JavaScript, 359

users, creating in MySQL, 165

V

validate function (JavaScript), 357

validateUsername function (JavaScript

example)

breakdown of regular expression, 366

validation

form data, 147

JavaScript, 355–361

redisplaying form after PHP validation, 370–

375

XHTML, 154

VARBINARY data type, 169

VARCHAR data type, 168, 169

TEXT versus, 170

variable assignment in PHP, 45–47

incrementing and decrementing variables,

45

string concatenation, 46

string types, 46

variable substitution, 46

variables

JavaScript, 306–307

arrays, 307

checking scope of, 313

global variables, 312

incrementing and decrementing, 310

local variables, 312

numeric variables, 307

string variables, 306

typing, 311

passing by reference, 94

PHP, 37–42

arrays, 39

as expressions, 62

assigning ? conditional result to, 77

functions returning global variables, 95

naming rules, 42 numeric variables, 39 scope of, 53–58, 96 string variables, 38 syntax of, 37 typing, 49 VBScript, 302

W

\W (nonword character) in regular expressions,

367

\w (word character) in regular expressions,

367 WAMPs (Windows, Apache, MySQL, and

PHP), 13 alternatives to EasyPHP, 18 installing on Windows, 14–18 WAMPServer, 18

Web 1.0, 1 Web 2.0, 5 web browsers (see browsers) web page for this book, xvi web servers (see servers) websites and online resources, 453 WHERE keyword (MySQL), 185 using logical operators with, 194 while loops, 78

in JavaScript, 331 removing controls from loop body, 80 when to use, for loops versus, 83 whitespace

matching a space in regular expressions,

363 use in PHP programs, 37 Windows

accessing MySQL via command line, 159 accessing MySQL via phpMyAdmin, 195 installing a WAMP, 14–18

installing other PEAR packages, 481 installing PEAR, 473

installing PHPUnit, 482 likely location for mysqldump, 219 system calls from PHP, 149 working remotely on development server,

27 Windows, Apache, MySQL, and PHP (see

WAMPs) with statement (JavaScript), 325

Trang 5

word (\w) character in regular expressions,

368

WordPress blogging platform, 86

World Wide Web, 1

X

XAMPP, 18

downloading for Mac OS X, 25

installing on Linux, 25

XHTML, 151

benefits of, 151

document types in XHTML 1.0, 153

HTML 4.01 document types, 153

rules differentiating it from HTML, 152

validation, 154

versions, 151

XML

Ajax XML example using YUI, 399–400

example XHTML 1.0 document, 152

example XML document and DOM tree,

389

fetching Yahoo! XML news feed via Ajax,

390

reasons to use with Ajax, 391

sending XML requests with

XMLHttpRequest, 387

XMLHttpRequest object, 378–391

cross-browser function for, 378

example program (urlpost.html), 380–385

readyState property, 382

server half of Ajax process, 383

example program using GET, 385–387

properties and methods, 379

sending XML requests, 387–391

xor (exclusive or) operator, 44

precedence in PHP, 65

XOR operator, 69

XSS injections, 248

Y

Yahoo! User Interface (see YUI)

yahoo-min.js file, 396

YEAR data type, 172

YUI (Yahoo! User Interface), 394–403

compressed versions, 396

installing, 394

other uses for, 400

sign-up page for social networking site

project, 415–417 simple calendar, 400–403 using for Ajax, 396–400 Ajax GET example using YUI, 397 Ajax XML example using YUI, 399–400 asyncRequest method, 397

including framework files, 396

Z

Zend Server CE, 25 ZEROFILL qualifier, using with INT type, 171

Trang 7

About the Author

Robin Nixon has worked with and written about computers since the early 1980s (his

first computer was a Tandy TRS 80 Model 1 with a massive 4 KB of RAM!) During this time he has written in excess of 500 articles for many of the UK’s top computer

magazines Learning PHP, MySQL, and JavaScript is his third book.

Robin started his computing career in the Cheshire homes for disabled people, where

he was responsible for setting up computer rooms in a number of residential homes, and for evaluating and tailoring hardware and software so that disabled people could use the new technology—sometimes by means of only a single switch operated by mouth or finger.

After writing articles for computer magazines about his work with disabled people, he eventually worked full time for one of the country’s main IT magazine publishers, where

he held several roles including editorial, promotions, and cover disc editing.

With the dawn of the Internet in the 1990s, Robin branched out into developing web-sites One of these presented the world’s first radio station licensed by the music copy-right holders, and was featured in several news reports on TV and radio networks in the United Kingdom In order to enable people to continue to surf while listening, Robin also developed the first known pop-up windows.

Robin lives on the southeast coast of England with his wife Julie, a trained nurse, and five children, where he also finds time to foster three disabled children, as well as working full time from home as a technical author.

Colophon

The animals on the cover of Learning PHP, MySQL, and JavaScript are sugar gliders (Petaurus breviceps) Sugar gliders are small, gray-furred creatures that grow to an adult

length of six to seven-and-a-half inches Their tails, which are distinguished by a black tip, are usually as long as their bodies Membranes extend between their wrists and ankles and provide an aerodynamic surface that helps them glide between trees Sugar gliders are native to Australia and Tasmania They prefer to live in the hollow parts of eucalyptus and other types of large trees with several other adult sugar gliders and their own children.

Though sugar gliders reside in groups and defend their territory together, they don’t always live in harmony One male will assert his dominance by marking the group’s territory with his saliva and then by marking all group members with a distinctive scent produced from his forehead and chest glands This ensures that members of the group will know when an outsider approaches; group members will fight off any sugar glider not bearing their scent However, a sugar glider group will welcome and mark an out-sider if one of their adult males dies (the group will typically replace a deceased adult female with their one of their own female offspring).

Trang 8

Sugar gliders make popular pets because of their inquisitive, playful natures, and be-cause many think they are cute But there are disadvantages to keeping sugar gliders as pets: as they are exotic animals, sugar gliders need specialized, complicated diets con-sisting of items such as crickets, a variety of fruits and vegetables, and mealworms; healthy housing requires a cage or space no less than the size of an aviary; their dis-tinctive scents can be bothersome to humans; as they are nocturnal creatures, they will bark, hiss, run, and glide all night long; it’s not uncommon for them to extricate their bowels while playing or eating; and in some states and countries, it is illegal to own sugar gliders as household pets.

The cover image is from Dover’s Animals The cover font is Adobe ITC Garamond The

text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont’s TheSansMonoCondensed.

Ngày đăng: 05/07/2014, 20:20

TỪ KHÓA LIÊN QUAN