Symbols
- $aCounter->increment(
), Classes and Objects
- $HTTP_POST_VARS, Saving last-entered values as a session variable
- .php suffix,
debugging and, Other Common Problems
- <br> break element, Rendering newline characters with <br>
- <form>
- for client
entry, Improving the Client Entry <form>
- (see also client entry <form>)
- for
database writes, Writing to Web Databases, Inserting data, Inserting data
- for
login page, Login page, Login page
- prefilling
data and, Prefilling <form> data with JavaScript calculations
- processing
data and, Processing <form> Data on the Server Side, Other <form> issues
- validating
data and, Validating <form> Data with JavaScript, Case study: A password <form> validation function
- <form> validation
function, Case study: A password <form> validation function, Case study: A password <form> validation function
- <option selected>
element, Implementing the selectDistinct Function
- @ operator prefixing function
calls, Error Handling of MySQL Database Functions
- @
symbol, Validating email addresses, Case study: A generic JavaScript validation function
A
- absolute value, Absolute Value
- Access (Microsoft), Open DataBase Connectivity (ODBC)
- addCase( ), Inheritance
- AddSlashes( ), Uploading and Inserting Files into Databases
- AddType directive,
debugging and, Other Common Problems
- aggregation, GROUP BY
- alert(
), Validating <form> Data with JavaScript
- ALTER TABLE
statement, Altering Tables and Indexes
- alternative
patterns, Alternative patterns
- anchors, Anchors
- Apache
server, The Middle Tier, The Apache HTTP server, Version 1.3
- installing, Installing Apache, Installing Apache
- to use
SSL, Installing Apache to Use SSL, Installing Apache and ApacheSSL
- using for HTTP
authentication, Using Apache to Authenticate
- Apache Software
Foundation, The Middle Tier
- application logic in middle
tier, What You Need to Know
- developing with
PHP, Introducing PHP, Connecting to a MySQL Database
- for order
receipts, The application logic
- shipping.3 script
and, Templates in the Shipping Module
- stored procedures
and, Limitations of MySQL
- applications interface, Database Management Systems
- applications-layer
protocols, Hypertext Transfer Protocol
- argument types, Argument Types and Return Types
- arguments, Passing arguments by reference, Default argument values
- arithmetic
operators, Arithmetic and comparison operators
- array
functions, Basic Array Functions
- array mssql_fetch_row( ), Microsoft SQL Server
- array mysql_fetch_array( ), Frequently used functions
- array mysql_fetch_row( ), Essential Functions for Accessing MySQL with PHP
- array pg_fetch_row( ), PostgreSQL
- array pointers, Using Array Pointers
- array(
), Creating Arrays
- arrays, Arrays, Sorting with user-defined element comparison
- creating, Creating Arrays, Multidimensional arrays
- maximum/minimum
values and, Finding values in arrays with in_array( ) and array_search( )
- sorting, Sorting Arrays, Sorting with user-defined element comparison
- splitting a string
into, Splitting a string into an array
- array_map( ), Sorting with user-defined element comparison
- array_reverse(
), Reordering elements in arrays with array_reverse( )
- array_search( ), Finding values in arrays with in_array( ) and array_search( )
- array_walk(
), Sorting with user-defined element comparison
- arsort( )/asort(
), Sorting associative arrays
- assign( ), The template
- assignment
operator, vs. equality operator, Conditional Expressions
- assignments, Expressions, Operators, and Variable Assignment
- associative
arrays, Arrays, Associative arrays
- sorting, Sorting associative arrays
- asymmetric
encryption techniques, Certificates and Certification Authorities
- at (@) symbol in
email addresses, Validating email addresses, Case study: A generic JavaScript validation function
- attribute names, Creating Tables
- attributes, Creating Tables
- KEY clause
and, Keys, Primary Keys, and Indexes
- authenticated(
), Managing HTTP Authentication with PHP
- authenticateUser(
), Authentication Using a Database, Authenticating without HTTP, Authentication script
- authentication, Authentication, Authentication and Security, Certificates and Certification Authorities
- for
customers/users, Authenticating Users, Authenticating Users
- example
of, Case Study: Customer Authentication, Authorizing other requests
- how
it works, How HTTP Authentication Works, How HTTP Authentication Works
- script
for, Authentication script, Authentication script
- using
a database for, Authentication Using a Database
- web
database applications and, Web Database Applications and Authentication, Authorizing other requests
- authorization, script
for, Authorizing other requests
- automated
housekeeping, Automated Housekeeping, cron Jobs
- automatic type
conversion, Automatic type conversion
- auxiliary tables, locking
with, Locking with an auxiliary table, Locking with an auxiliary table
B
- BDB
table type, Other locking paradigms
- bold( ), User-Defined Functions
- reusing, Reusing Functions with Include and Require Files
- bookmarks, restrictions
on, Bookmark restrictions
- Boolean close( ), Building User-Defined Session Handlers
- Boolean destroy( ), Building User-Defined Session Handlers
- Boolean gc( ), Building User-Defined Session Handlers
- Boolean mail ( ), HTML and Email Receipts
- Boolean open( ), Building User-Defined Session Handlers
- Boolean session_destroy( ), Functions for Accessing Sessions in PHP
- Boolean session_is_registered( ), Functions for Accessing Sessions in PHP
- Boolean session_register( ), Functions for Accessing Sessions in PHP
- Boolean session_start( ), Functions for Accessing Sessions in PHP
- Boolean values, Automatic type conversion
- Boolean
variables, Types
- Boolean write( ), Building User-Defined Session Handlers
- BottleCounter(
), Inheritance
- branch
statements, Conditions and Branches, Conditional Expressions
- browse( ), Step 1: Using the Generic browse Function, What’s Missing from the Previous and Next Browser
- implementing, Step 2: Implementing the Generic browse Function, Step 2: Implementing the Generic browse Function
- producing page numbers
from, Step 3: Adding Page Numbers
- search1.script and, Searching and Browsing
- browsers
- authentication
and, Authenticating without HTTP
- interacting with
using JavaScript, Interacting with the web browser
- redirection
and, Winestore Scripts, Managing Redirection, Managing Redirection
- which
in use by users, Which browser is the user using?
- browsing, User-driven querying and browsing, Case Study: Previous and Next Browsing, What’s Missing from the Previous and Next Browser
- search.1
script for, Searching and Browsing, Searching and Browsing
- bulk loading of data, Bulk loading into a database
C
- caching responses, Caching
- callback
functions, Sorting with user-defined element comparison
- calling
pages, One-Component Querying
- cart.1 script
(winestore home page), Winestore Scripts, The Winestore Home Page
- cart.2 script (displaying shopping
cart), Winestore Scripts, Viewing the Shopping Cart, Viewing the Shopping Cart
- cart.3 script (adding
items to shopping
cart), Winestore Scripts, Adding Items to the Shopping Cart
- cart.4 script (emptying shopping
cart), Winestore Scripts, Emptying the Shopping Cart
- cart.5 script
(browser redirection), Winestore Scripts, Managing Redirection, Managing Redirection
- cart.6 script
(updating quantities in shopping
cart), Winestore Scripts, Updating the Shopping Cart Quantities
- cartesian product, Beware of the Cartesian Product
- Cascading
Style Sheets (CSS), templates and, The template
- case
study, Case Study: The Front-Page Panel
- (see also winestore application)
- case, changing, Changing case
- caseCount( ), Inheritance
- casting operators, Type Conversion
- ceil(
), Ceiling and Floor
- certificates, Certificates and Certification Authorities
- creating
for ApacheSSL, Creating a Key and Certificate, Creating a Key and Certificate
- challenge
method, How HTTP Authentication Works
- character lists, Character lists
- characters, Replacing Characters and Substrings, Escaping special characters
- escaping, String literals, String Literals
- special
characters and, Escaping special characters
- newline, Rendering newline characters with <br>
- charAt( ), Validating <form> Data with JavaScript
- checkdate( ), Validating a Date, Validating dates
- checkdnsrr( ), Validating email addresses
- cipher
suites, Cipher suites
- classes, Classes and Objects, Classes and Objects
- clean(
), Security and User Data
- preprocessing user data
and, Security and User Data
- session variables and, Saving last-entered values as a session variable
- updating
shopping cart quantities and, Updating the Shopping Cart Quantities
- client entry
<form>, Improving the Client Entry <form>
- script
for, The Client Entry <form> Script
- client tier, Three-Tier Architectures, The Client Tier
- managing
state in, Managing State in the Client Tier
- resources
for further reading, Client Tier Resources
- validation in, Validation in the client and middle tiers
- client-server
architecture, Thin Clients
- client-side
validation, Client-Side Validation with JavaScript, Comments
- performance
and, Models That Do Work, Validating <form> Data with JavaScript
- clients, thick vs.
thin, Thin Clients, Comments
- cmp_length( ), Sorting with user-defined element comparison
- combined
scripts, Combined Scripts, Combined Scripts
- command
interpreter for MySQL, MySQL Command Interpreter, MySQL Command Interpreter
- comments, Comments
- commit and rollback
processing, What isn’t covered here
- compare(
), Sorting with user-defined element comparison
- comparison
operators, Arithmetic and comparison operators
- concat(
), String-comparison operators and functions
- concurrency, Transactions and Concurrency, Locking for performance
- concurrent
access, The Database Tier
- conditional
expressions, Conditional Expressions, Conditional Expressions
- conditional
statements, Conditions and Branches, Conditional Expressions
- connection handles, Opening and Using a Database Connection
- consoles, Interacting with the web browser
- constants, Constants
- constraints, Terminology
- containsblanks(
), Validating <form> Data with JavaScript
- control characters, String Literals
- control flow
functions, Miscellaneous operators and functions
- cookies, Cookies, Starting a Session
- not
setting for session management, Session Management Without Cookies
- turning
off, Turning off cookies
- count(
), Counting elements in arrays, Essential Functions for Accessing MySQL with PHP
- CREATE
DATABASE statement, Creating Databases, Transferring data between databases and DBMSs
- CREATE TABLE
statement, Creating the winestore with SQL, Creating Tables
- creating
- arrays, Creating Arrays, Multidimensional arrays
- databases, Creating Databases
- formatted
output, Creating formatted output with sprintf( ) and printf( ), Creating formatted output with sprintf( ) and printf( )
- objects, Objects
- PHP
scripts, Creating PHP scripts
- tables, Creating Tables, Creating Tables
- with
visual appeal, Step 1: Producing Visually Appealing Tables, Limitations of Step 1
- winestore
application with SQL, Creating the winestore with SQL, Creating the winestore with SQL
- cron tables, cron Jobs
- crond
daemon, cron Jobs
- crypt( ), Authentication Using a Database, Authentication Using a Database, Customer Validation
- salt string to, Authentication script
- using
password( ) instead of, MySQL encryption
- cryptography, Security and Cryptography Resources
- (see also encryption)
- resources for
further reading, Security and Cryptography Resources
- SSL protocol
and, Cipher suites
- CSS (Cascading Style Sheets),
templates and, The template
- current( ), Using Array Pointers
- customer.1 script
(validation), Customer Validation, Customer Validation
- customer.2 script (data
entry), The Customer <form>, The Customer <form>
- customer.3 script
(receipt), The Customer Receipt Page, The Customer Receipt Page
- customers
- authenticating, Case Study: Customer Authentication, Authorizing other requests
- managing, Winestore Customer Management
- <form>
for, The Customer <form>, The Customer <form>
- receipt
page for, The Customer Receipt Page
- scripts
for, Customer Management, The Customer Receipt Page
- validation
script for, Customer Validation, Customer Validation
D
- data
- inserting, Inserting Data
- INSERT
INTO ... SELECT statement and, INSERTing with a SELECT Statement
- outputting
with echo/print statements, Outputting data with echo and print
- passing for
queries, User Input, Passing Data with Embedded Links
- tainted, Security and User Data
- web
security for, Protecting Data on the Web, Certificates and Certification Authorities
- working
with, Inserting, Updating, and Deleting Data, Updating Data
- writing to
databases, Data entry and saving records to a database, Writing to Web Databases
- Data Definition Language (DDL), SQL components
- data entry, script
for, The Customer <form>
- Data Manipulation Language (DML), SQL components
- data
versioning, The table-level locking paradigm in MySQL
- data-access module, Database Management Systems
- database
deletes, Database Inserts, Updates, and Deletes, Inserting, Updating, and Deleting Data, Deleting data
- database
inserts, Database Inserts, Updates, and Deletes, Inserting, Updating, and Deleting Data, Inserting data
- sample script for, Case study: Inserts and updates in practice
- database management
system, Three-Tier Architectures
- (see also DBMS)
- database
recovery, What isn’t covered here
- database
tier, Three-Tier Architectures, The Database Tier, SQL components
- managing sessions
in, Managing Sessions in the Database Tier, Using the User-Defined Session Handler Code
- resources for further
reading, Database Tier Resources
- storing session variables
in, Need for centralized session store
- database
updates, Database Inserts, Updates, and Deletes, Inserting, Updating, and Deleting Data, Updating data
- sample script
for, Case study: Inserts and updates in practice, Case study: Inserts and updates in practice
- database writes, Writing to Web Databases
- database-driven querying, Database-driven querying
- (see also querying,
database-driven)
- databases, Database Management Systems, Terminology
- creating, Creating Databases
- displaying
structure of with SHOW command, Displaying Database Structure with SHOW
- inserting
uploaded files into, Uploading and Inserting Files into Databases, Uploading and Inserting Files into Databases
- migrating
data and, Transferring data between databases and DBMSs, Transferring data between databases and DBMSs
- non-MySQL,
accessing, Interacting with Other DBMSs Using PHP
- vs.
spreadsheets, Why Use a DBMS?
- terminology
for, Database Basics
- using
for authentication, Authentication Using a Database
- writing
to, Writing to Web Databases
- datatypes, Creating Tables
- date
and time, Date and Time Functions, Validating a Date
- dates,
validating, Validating dates, Validating dates
- SQL functions
for, Date and time functions
- date(
), Formatting a Date, Validating dates
- db.inc include file, Using Include Files in Practice, The Winestore Include Files, The Winestore Include Files
- clean( ) in, Security and User Data
- DBMS
(database management system), Three-Tier Architectures, Database Management Systems, The MySQL DBMS, MySQL and SQL, Terminology
- migrating data
and, Transferring data between databases and DBMSs, Transferring data between databases and DBMSs
- DBMS
(database management system), Three-Tier Architectures
- (see also MySQL;
databases)
- components of, Database Management Systems
- modifying, Modifying the Database, INSERTing with a SELECT Statement
- reasons for
using, Why Use a DBMS?, Examples of when not to use a DBMS
- DDL (Data Definition Language), SQL components
- deadlock
problem, The LOCK TABLES and UNLOCK TABLES statements in MySQL
- debugging
- equality
operator vs. assignment operator and, Conditional Expressions
- flush(
) and, A Page That Produces Partial or No Output
- PHP
scripts, Common Mistakes, Other Common Problems
- print_r(
)/var_dump( ) for, Debugging with print_r( ) and var_dump( )
- decode(
), Encrypting other data in a database
- DELETE
statement
- limitations of, Limitations of MySQL
- vs. DROP
statement, Deleting Data
- WHERE clause
and, WHERE Clauses
- deletes, Database Inserts, Updates, and Deletes
- (see also database
deletes)
- deleting
- data, Deleting Data
- indexes, Altering Tables and Indexes
- users, Adding and Deleting Users
- DES encryption
method, Authentication Using a Database
- die( ), Error Handling of MySQL Database Functions
- digital
certificates, Certificates and Certification Authorities
- dirty read problem, Transactions and Concurrency, Finalizing Orders
- displayCart( ), Viewing the Shopping Cart
- displayWines( ), Formatting Results
- displayWinesList(
), Querying with User Input
- DISTINCT
clause, DISTINCT, Using DISTINCT in joins
- DML (Data Manipulation Language), SQL components
- do...while
loop, do...while
- doublevalue( ), Variable Scope, Passing arguments by reference
- downloads, Installation Guide, Installation Resources
- Apache
server, The Apache HTTP server, Version 1.3, Installing Apache
- ApacheSSL, Installing Apache to Use SSL
- mod_ssl, Installing Apache to Use SSL
- MySQL, Installing MySQL
- OpenSSL, Installing OpenSSL
- PHP, Installing PHP
- sample
scripts for, Installing the Winestore Examples
- DROP
DATABASE statement, Transferring data between databases and DBMSs
- DROP INDEX statement, Altering Tables and Indexes
- DROP TABLE
statement, Deleting Data
E
- each( ), Using Array Pointers
- echo
statement, Outputting data with echo and print
- email
addresses
- @ symbol
in, Validating email addresses, Case study: A generic JavaScript validation function
- validating, Validating email addresses
- email receipts, Ordering and Shipping at the Winestore, HTML and Email Receipts, HTML and Email Receipts
- shipping.1
script and, Winestore Scripts
- embedded
links, Adding Links to Results
- caution with, Adding Links to Results
- passing data with, Passing Data with Embedded Links, Passing Data with Embedded Links
- empty( ), Testing, setting, and unsetting variables, Other <form> issues
- encode( ), Encrypting other data in a database
- encryption, MySQL encryption, Cipher suites
- functions
for, Miscellaneous operators and functions
- resources for
further reading, Security and Cryptography Resources
- end tags, PHP Basics
- (see also start/end
tags)
- end(
), Using Array Pointers
- end-loop
statements, for
- entity-relationship modeling, Terminology
- (see also ER
modeling)
- equality operator, vs. assignment
operator, Conditional Expressions
- ER modeling, Terminology, Entity-Relationship Modeling, Step 5: Many-to-many relationships
- for winestore
application, The winestore entity-relationship model
- ereg(
), Regular Expression Syntax
- dates,
validating and, Validating dates
- extracting values and, Finding and extracting values
- numbers, validating
and, Validating numeric fields
- eregi( ), Finding and extracting values
- email addresses, validating
and, Validating email addresses
- error
handling
- custom error handlers
for, Custom Error Handlers, Custom Error Handlers
- for MySQL
functions, Error Handling of MySQL Database Functions, Error Handling of MySQL Database Functions
- error
messages
- displaying, Displaying error messages
- improving, Improving error messages
- error
reporting, Validation and Error Reporting for Web Database Applications, Models That Do Work
- error.inc include file, Using Include Files in Practice, The Winestore Include Files, Custom Error Handlers
- errorHandler( ), Custom Error Handlers
- error_log( ), Custom Error Handlers
- EscapeShellCmd(
), Security and User Data, The Winestore Include Files
- escaping characters, String literals, String Literals
- special characters
and, Escaping special characters
- events, Client-Side Validation with JavaScript
- exec( ), Security and User Data
- explode( ), Extracting multiple values from a string, Splitting a string into an array
- exponential functions, Powers and Logs
- expressions, Expressions, Operators, and Variable Assignment
F
- fieldError( ), Displaying error messages
- files, uploading and inserting into
databases, Uploading and Inserting Files into Databases, Uploading and Inserting Files into Databases
- filesize( ), Uploading and Inserting Files into Databases
- float
functions, Integer and Float Functions, Random Number Generation
- floating-point
numbers, Generating a Timestamp
- floats, Types
- floor( ), Ceiling and Floor
- flush( ), A Page That Produces Partial or No Output
- fopen(
), Uploading and Inserting Files into Databases
- for
loop, for
- foreach
loop, foreach
- using arrays with, Using foreach Loops with Arrays, Sorting with user-defined element comparison
- formatted output,
creating, Creating formatted output with sprintf( ) and printf( ), Creating formatted output with sprintf( ) and printf( )
- formatting
- dates, Formatting a Date
- strings, Printing and Formatting Strings, Rendering newline characters with <br>
- fread( ), Uploading and Inserting Files into Databases
- front-page
panel, Case Study: The Front-Page Panel, Fixing the queries
- functions (for other
databases), Interacting with Other DBMSs Using PHP
- functions
(PHP), Regular Expression Functions, Reusing Functions with Include and Require Files
- for accessing
sessions, Functions for Accessing Sessions in PHP
- array, Basic Array Functions
- for
database modifications, Inserting, Updating, and Deleting Data
- exponential, Powers and Logs
- float, Integer and Float Functions, Random Number Generation
- integer, Integer and Float Functions, Random Number Generation
- logarithmic, Powers and Logs
- for MySQL, Essential Functions for Accessing MySQL with PHP, Error Handling of MySQL Database Functions
- error handling
and, Error Handling of MySQL Database Functions, Error Handling of MySQL Database Functions
- functions to
avoid, Functions to avoid
- passing variables
to, How Variables Are Passed to Functions, Default argument values
- regular
expression, Regular Expression Functions, Splitting a string into an array
- reusing, Reusing Functions with Include and Require Files, Reusing Functions with Include and Require Files
- support, Support functions
- user-defined, User-Defined Functions, Reusing Functions with Include and Require Files
- functions (SQL), Functions, Miscellaneous operators and functions
G
- garbage collection, Garbage Collection
- session handlers
for, Garbage collection
- Gemini table
type, Other locking paradigms
- GET attribute, cookies
and, Session Management Without Cookies
- getCustomerID(
), Customer Validation
- gethostbyname(
), Validating email addresses
- getmxrr( ), Validating email addresses
- getrandmax(
), Random Number Generation
- global statement/global
variables, Global variables
- gmdate( ), Formatting a Date
- gmmktime(
), Creating timestamps with mktime( ) and gmmktime( )
- GRANT statement, Adding and Deleting Users
- GROUP BY
clause, GROUP BY
- grouping
output, Sorting and Grouping Output, DISTINCT
- groups, Groups
H
- handles, Opening and Using a Database Connection
- HAVING
clause, HAVING
- header(
), One-Component Querying
- browser redirection and, Winestore Scripts
- credentials and, Managing HTTP Authentication with PHP
- debugging and, Complaints About Headers
- insertion script and, Solving the reload problem in practice
- starting sessions and, Starting a Session
- heading( ), User-Defined Functions, Default argument values
- heterogeneous
arrays, Heterogeneous arrays
- hexadecimal
system, Number Systems
- hijacking, Session hijacking
- home
page for the winestore application, Winestore Scripts, The Winestore Home Page, The Winestore Home Page
- housekeeping, Automated Housekeeping, cron Jobs
- HTML (Hypertext Markup
Language), Three-Tier Architectures
- embedded links
and, Passing Data with Embedded Links, Passing Data with Embedded Links
- templates
and, Templates, The template
- W3C validator
for, A Page That Produces Partial or No Output
- HTML
<form> environment, Passing Data with the HTML <form> Environment, Passing Data with the HTML <form> Environment
- HTML <pre> formatted
text tag, Querying Web Databases, Connecting to a MySQL Database
- HTML
<table> environment, Querying Web Databases, Formatting Results
- HTML
receipts, Ordering and Shipping at the Winestore, HTML and Email Receipts
- shipping.2 script
and, Winestore Scripts, HTML and Email Receipts, HTML and Email Receipts
- HTTP (Hypertext Transfer
Protocol), Hypertext Transfer Protocol, State, Hypertext Transfer Protocol, MIME
- (see also protocols)
- HTTP
authentication, HTTP Authentication, Limits placed on IP addresses
- PHP and, HTTP Authentication with PHP, Limits placed on IP addresses
- problems
with, Authenticating without HTTP
- HTTP redirection, Reloading Data and Relocation Techniques
- HTTP requests, Request and Response Model, HTTP Requests, GET versus POST
- HTTP responses, Request and Response Model, HTTP Responses
- HTTP
servers, The Middle Tier, Web Servers
- Hypertext Markup
Language, Three-Tier Architectures
- (see also HTML)
I
- IBM, SQL and, History
- identifier
attributes, Creating Tables
- identifiers, Session Management Over the Web
- if...else
statement, if...else Statement, if...else Statement
- implode(
), Extracting multiple values from a string
- include
directive, Reusing Functions with Include and Require Files, Reusing Functions with Include and Require Files
- caution with, Reusing Functions with Include and Require Files
- using, Using Include Files in Practice
- include
files, The Winestore Include Files
- (see also db.inc include file error.inc include
file)
- incorrect summary
problem, Transactions and Concurrency
- index
files, Database Management Systems
- indexes, Keys, Primary Keys, and Indexes, Keys, Primary Keys, and Indexes
- deleting/working
with, Altering Tables and Indexes
- inheritance, Inheritance, Inheritance
- initial
statements, for
- InnoDB table
type, Other locking paradigms
- INSERT DELAYED
feature, The LOCK TABLES and UNLOCK TABLES statements in MySQL
- INSERT INTO ... SELECT
statement, INSERTing with a SELECT Statement
- INSERT INTO
statement, Inserting Data
- inserts, Database Inserts, Updates, and Deletes
- (see also database
inserts)
- installation guide for software used
with this book, Installation Guide, Installation Resources
- int mssql_close( ), Microsoft SQL Server
- int mssql_num_fields( ), Microsoft SQL Server
- int mssql_select_db( ), Microsoft SQL Server
- int mysql_affected_rows( ), PHP DML functions for database modifications
- int mysql_change_user( ), Other functions
- int mysql_close( ), Essential Functions for Accessing MySQL with PHP
- int mysql_create_db( ), Other functions
- int mysql_data_seek( ), Frequently used functions
- int mysql_drop_db( ), Other functions
- int mysql_free_result( ), Frequently used functions
- int mysql_insert_id( ), PHP DML functions for database modifications
- int mysql_num_fields( ), Essential Functions for Accessing MySQL with PHP
- int mysql_num_rows( ), Frequently used functions
- int mysql_select_db ( ), Essential Functions for Accessing MySQL with PHP
- int OCIExecute( ), Oracle 7 and 8 Through the OCI8 Interface
- int OCIFetch( ), Oracle 7 and 8 Through the OCI8 Interface
- int OCILogoff( ), Oracle 7 and 8 Through the OCI8 Interface
- int OCINumCols( ), Oracle 7 and 8 Through the OCI8 Interface
- int odbc_close( ), Open DataBase Connectivity (ODBC)
- int odbc_fetch_row( ), Open DataBase Connectivity (ODBC)
- int odbc_num_fields( ), Open DataBase Connectivity (ODBC)
- int pg_close( ), PostgreSQL
- int pg_num_fields( ), PostgreSQL
- integers, Types, Number Systems
- (see also numbers)
- converting to/from
strings, Validating dates
- functions
for, Integer and Float Functions, Random Number Generation
- rounding, Rounding
- interactive validation, Validation and Error Reporting for Web Database Applications
- intval(
), Validating dates
- in_array(
), Finding values in arrays with in_array( ) and array_search( )
- IP
addresses, IP addresses
- limits placed
on, Limits placed on IP addresses
- session
hijacking and, Recording IP addresses to detect session hijack attempts
- isset(
), Testing, setting, and unsetting variables, Counting elements in arrays
- debugging and, Missing output
- is_array( ), Counting elements in arrays
- is_uploaded_file(
), Uploading and Inserting Files into Databases
K
- key
exchange, SSL sessions
- key(
), Using Array Pointers
- keys, Keys, Primary Keys, and Indexes, Keys, Primary Keys, and Indexes
- sorting
on, Sorting on keys
- krsort(
)/ksort( ), Sorting on keys
L
- length
- of email addresses,
checking, Validating email addresses
- of
strings, Length of a string
- of
URLs, Managing State in the Client Tier, Uniform Resource Locators
- length(
), String-comparison operators and functions
- library functions, Integer and Float Functions
- LIMIT operator, Limiting Result Sets in MySQL, Step 1: Producing Visually Appealing Tables
- links, embedded, Adding Links to Results
- (see also embedded
links)
- Linux
operating system, installing software
and, Installation Guide, Installing PHP, Installation Resources
- list(
), Using Array Pointers
- locate(
), String-comparison operators and functions
- LOCK TABLES
statement, The LOCK TABLES and UNLOCK TABLES statements in MySQL
- locking
paradigms, The table-level locking paradigm in MySQL
- locking
tables, Locking for Concurrency in MySQL, Other locking paradigms
- locks, When and how to lock tables
- logarithmic functions, Powers and Logs
- logged_on_page(
), Login page
- login
- required for
users, Forcing users to a login page
- script
for, Authenticating Users, Authenticating Users
- login
<form>, Login page, Login page
- loginButtons( ), The Winestore Home Page
- login_page( ), Login page
- logout
script, Logout script
- loop conditions, for
- loops, Loops, Changing Loop Behavior
- changing behavior
of, Changing Loop Behavior
- lost update problem, Transactions and Concurrency
- lower(
), String-comparison operators and functions
- ltrim(
), Trimming whitespace, String-comparison operators and functions
M
- mail(
), Custom Error Handlers, Ordering and Shipping at the Winestore
- for order confirmation
receipt, HTML and Email Receipts
- mathematical
functions, Mathematical functions, Mathematical functions
- mathematical
library, Powers and Logs
- max( ), Finding the maximum and minimum values in an array
- MD5 hashing
algorithm, Session hijacking
- memory, performance
and, Performance
- metacharacters, Metacharacters
- microseconds, Subsecond times
- Microsoft Access, Open DataBase Connectivity (ODBC)
- Microsoft SQL
server, Microsoft SQL Server, Microsoft SQL Server
- microtime( ), Subsecond times
- middle tier, Three-Tier Architectures, The Middle Tier, Web Scripting with PHP
- components
of, The Middle Tier
- resources for further
reading, Middle Tier Resources, Open source PHP applications
- validation
in, Validation in the client and middle tiers
- MIME (Multipurpose Internet Mail
Extensions), MIME
- min(
), Finding the maximum and minimum values in an array
- mixed OCIResult( ), Oracle 7 and 8 Through the OCI8 Interface
- mixed read( ), Building User-Defined Session Handlers
- mixed
types, Types
- mktime( ), Creating timestamps with mktime( ) and gmmktime( )
- modifiers, Creating Tables
- mod_ssl, Installing Apache to Use SSL
- mouse roll-overs, Rollover presentation with mouseOver events
- mouse
rollovers, Client-Side Validation with JavaScript
- mssql_query(
), Microsoft SQL Server
- mssql_select_db(
), Microsoft SQL Server
- multidimensional
arrays, Multidimensional arrays
- MULTIPLE
attribute, Processing <form> controls with the MULTIPLE attribute
- multiple
queries, Adding a second or subsequent query
- Multipurpose
Internet Mail Extensions (MIME), MIME
- MyISAM
table, The table-level locking paradigm in MySQL
- MySQL, The Database Tier, The MySQL DBMS, Quick Start Guide, Creating the winestore with SQL
- command
interpreter for, MySQL Command Interpreter, MySQL Command Interpreter
- connecting
to, Connecting to a MySQL Database, Error Handling of MySQL Database Functions
- functions for, Essential Functions for Accessing MySQL with PHP, Error Handling of MySQL Database Functions
- encrypting and, MySQL encryption
- error handling and, Error Handling of MySQL Database Functions, Error Handling of MySQL Database Functions
- functions to avoid, Functions to avoid
- installing/configuring, Installing MySQL, Apache, and PHP, Configuring MySQL
- limitations
of, Limitations of MySQL
- LOCK
TABLES /UNLOCK TABLES statements in, The LOCK TABLES and UNLOCK TABLES statements in MySQL
- manual
for, Functions, Installation Resources
- modifying, Modifying the Database, INSERTing with a SELECT Statement
- querying
- database-driven, Querying Web Databases, PostgreSQL
- user-driven, User-Driven Querying
- with
join queries, Join Queries
- with
SELECT statement, Querying with SQL SELECT, Limiting Result Sets in MySQL
- table-locking paradigm
in, The table-level locking paradigm in MySQL
- techniques
for fine-tuning, Tuning the Database System, Tuning the Database System
- working
with, Managing Databases, Tables, and Indexes, Updating Data
- mysql_affected_rows(
), Frequently used functions, PHP DML functions for database modifications
- mysql_close( ), Opening and Using a Database Connection, Frequently used functions
- mysql_connect(
), Opening and Using a Database Connection, Essential Functions for Accessing MySQL with PHP, Custom Error Handlers
- error handling and, Error Handling of MySQL Database Functions
- mysql_data_seek(
), Step 2: Implementing the Generic browse Function
- mysql_errno( ), Custom Error Handlers
- mysql_error(
), Error Handling of MySQL Database Functions, Custom Error Handlers
- mysql_errorno(
), Error Handling of MySQL Database Functions
- mysql_fetch_array(
), Frequently used functions, Step 1: Producing Visually Appealing Tables, Step 2: Implementing the Generic browse Function
- second or subsequent queries
and, Adding a second or subsequent query
- tricks to using, Frequently used functions
- mysql_fetch_field(
), Other functions, Formatting Results
- mysql_fetch_object(
), Frequently used functions, Other functions
- mysql_fetch_row(
), Opening and Using a Database Connection, Essential Functions for Accessing MySQL with PHP, Frequently used functions
- mysql_insert_id(
), PHP DML functions for database modifications, When and how to lock tables
- mysql_list_tables(
), Other functions
- mysql_num_fields(
), Opening and Using a Database Connection
- mysql_num_rows(
), Frequently used functions, Other functions
- error handling and, Error Handling of MySQL Database Functions
- mysql_unbuffered_query()
and, Frequently used functions
- using instead of int
mysql_affected_rows( ), PHP DML functions for database modifications
- mysql_pconnect(
), Essential Functions for Accessing MySQL with PHP, Frequently used functions
- error handling and, Error Handling of MySQL Database Functions
- mysql_query( ), Opening and Using a Database Connection, Essential Functions for Accessing MySQL with PHP, Frequently used functions, Frequently used functions
- error handling and, Error Handling of MySQL Database Functions
- second or subsequent queries
and, Adding a second or subsequent query
- mysql_select_db(
), Opening and Using a Database Connection
- mysql_tablename(
), Other functions
- mysql_unbuffered_query(
), Frequently used functions
- error handling and, Error Handling of MySQL Database Functions
N
- natural joins, Elementary Natural Joins, Using DISTINCT in joins
- nested
queries, The MySQL DBMS
- not supported in
MySQL, Limitations of MySQL
- newline
characters, Rendering newline characters with <br>
- next( ), Using Array Pointers
- nl2br( ), Rendering newline characters with <br>
- normalization/normalized
databases, Terminology
- not
equals operator, Conditional Expressions
- numbered
arrays, Arrays
- numbers, Number Systems
- (see also integers)
- random, Random Number Generation
- systems
of, Number Systems
- validating, Validating numeric fields
- numeric
assignments, Expressions, Operators, and Variable Assignment
- numeric
attributes, Creating Tables
- NuSphere, Installation Resources
O
- object mysql_fetch_field( ), Other functions, Other functions
- object mysql_fetch_object( ), Frequently used functions
- objects, Objects
- OCIExecute( ), Oracle 7 and 8 Through the OCI8 Interface
- OCIFetch(
), Oracle 7 and 8 Through the OCI8 Interface
- OCILogon(
), Oracle 7 and 8 Through the OCI8 Interface
- OCIParse( ), Oracle 7 and 8 Through the OCI8 Interface
- OCIResult( ), Oracle 7 and 8 Through the OCI8 Interface
- octal system, Number Systems
- ODBC
functions, Open DataBase Connectivity (ODBC)
- odbc_connect(
), Open DataBase Connectivity (ODBC)
- odbc_exec(
), Open DataBase Connectivity (ODBC)
- one-component
querying, User-Driven Querying, One-Component Querying
- Open DataBase Connectivity
functions, Open DataBase Connectivity (ODBC)
- OpenSSL
- certificates
and, Creating a Key and Certificate
- downloading/installing, Installing OpenSSL
- operator precedence, Operator precedence
- operators, Functions, Miscellaneous operators and functions
- optional
characters, Optional and repeating characters, Optional and repeating characters
- Oracle
7/8, Oracle 7 and 8 Through the OCI8 Interface, Oracle 7 and 8 Through the OCI8 Interface
- ORDER BY
clause, ORDER BY, Beware of the Cartesian Product
- order.1 script
(logon), Winestore Scripts, Authenticating Users, Authenticating Users
- order.2 script
(logout), Winestore Scripts, Authenticating Users
- order.3 script
(finalizing orders), Winestore Scripts, Finalizing Orders, Finalizing Orders
- ordering
wines, Ordering and Shipping at the Winestore, HTML and Email Receipts
- receipts for, Winestore Scripts, The Customer Receipt Page, HTML and Email Receipts, HTML and Email Receipts, Templates in the Shipping Module, The template
- output
- debugging
and, A Page That Produces Partial or No Output, Missing output
- with echo/print statements, Outputting data with echo and print
- formatting, Creating formatted output with sprintf( ) and printf( ), Creating formatted output with sprintf( ) and printf( )
- sorting/grouping, Sorting and Grouping Output, DISTINCT
- variable substitution
and, Variable substitution
P
- padded strings, Padding strings
- page numbers/page links, Step 3: Adding Page Numbers
- panel (front-page
panel), Case Study: The Front-Page Panel, Fixing the queries
- parameters, User Input
- for changing session management behavior, Configuration of PHP Session Management, Configuration of PHP Session Management
- password( ), MySQL encryption
- performance
- client-side
validation and, Models That Do Work, Validating <form> Data with JavaScript
- locking tables
and, Locking for performance
- MySQL
and, Tuning the Database System, Limitations of MySQL
- server-side
validation and, Models That Do Work
- sessions
and, Performance, Performance
- synchronization
problems and, Timeouts
- user-defined
functions and, User-Defined Functions
- permissions, Permissions
- persistent
connections, Essential Functions for Accessing MySQL with PHP, Frequently used functions
- personalizing web sites, Personalization
- pg_connect(
), PostgreSQL
- pg_exec(
), PostgreSQL
- PHP scripting
language, The Middle Tier, Web Scripting with PHP, Web Scripting with PHP, PHP, Other Common Problems
- arrays
and, Arrays
- benefits for writing web-enabled scripts
and, Passing Data with the HTML <form> Environment
- branch statements
and, Conditions and Branches, Conditional Expressions
- conditional statements
and, Conditions and Branches, Conditional Expressions
- functions ), Inserting, Updating, and Deleting Data
- (see also functions
(PHP)
- HTTP authentication
and, HTTP Authentication with PHP, Limits placed on IP addresses
- initializing variables
and, How PHP Initializes Variables, How PHP Initializes Variables
- installing, Installing PHP
- loops
and, Loops, Changing Loop Behavior
- objects
and, Objects
- online manual
for, Installation Resources
- regular expressions
and, Regular Expressions, Splitting a string into an array
- scripting environment
of, Web Scripting with PHP
- session management
and, PHP Session Management, Configuration of PHP Session Management, PHP Session Management
- strings
and, Strings, Translating characters and substrings
- using to access non-MySQL
databases, Interacting with Other DBMSs Using PHP, PostgreSQL
- PHP
scripts
- for authentication, Authentication script, Authentication script
- creating, Creating PHP scripts
- debugging, Common Mistakes, Other Common Problems
- example of, A Working Example, Comments on Example 2.3
- for login
<form>, Login page
- for
logout, Logout script
- managing HTTP authentication
with, Managing HTTP Authentication with PHP, Managing HTTP Authentication with PHP
- of examples for the
winestore, Installing the Winestore Examples
- reusing functions
and, Reusing Functions with Include and Require Files, Reusing Functions with Include and Require Files
- PHP Triad for Windows, Installation Resources
- $PHPSESSID/PHPSESSID, Starting a Session, Turning off cookies
- PHP: Hypertext
Preprocessor, Introducing PHP
- ports, Ports
- POST attribute, cookies
and, Session Management Without Cookies
- post-validation error
finding, Validation and Error Reporting for Web Database Applications
- PostgreSQL, The MySQL DBMS, PostgreSQL, PostgreSQL
- powers, Powers and Logs
- precedence of
operators, Operator precedence
- prev(
), Using Array Pointers
- primary keys, Terminology, Keys, Primary Keys, and Indexes, Keys, Primary Keys, and Indexes
- print
statement, Outputting data with echo and print
- printf( ), Creating formatted output with sprintf( ) and printf( ), Creating formatted output with sprintf( ) and printf( )
- print_r( ), Debugging with print_r( ) and var_dump( ), Sorting with sort( ) and rsort( ), Sorting associative arrays
- private keys, Creating a Key and Certificate, Creating a Key and Certificate
- privileges, Permissions
- protocols, Internet and Web Protocols, MIME
- applications-layer, Hypertext Transfer Protocol
- SSL, The Secure Sockets Layer Protocol, Certificates and Certification Authorities, Installing Apache to Use SSL, Installing Apache and ApacheSSL
- TCP/IP, TCP/IP, Ports
- proxy
caches, The Client Tier
- pseudo-random
numbers, Random Number Generation
Q
- query evaluator, Database Management Systems
- query
results, Formatting Results, Using Include Files in Practice
- querying
- automated,
for housekeeping, Automated Housekeeping, cron Jobs
- database-driven, Database-driven querying, Querying Web Databases, PostgreSQL
- five steps to, Opening and Using a Database Connection
- INSERT INTO ...
SELECT statement and, INSERTing with a SELECT Statement
- with join queries, Join Queries, Joins with More than Two Tables
- multiple
queries and, Adding a second or subsequent query
- one-component, User-Driven Querying, One-Component Querying, One-Component Querying
- with SELECT
statement, Querying with SQL SELECT, Limiting Result Sets in MySQL
- table aliases
for, Table aliases in SQL queries
- techniques
of, The MySQL DBMS
- two-component, User-Driven Querying
- user-driven, User-driven querying and browsing, User-Driven Querying
- quick
start guide for MySQL, Quick Start Guide, Creating the winestore with SQL
R
- rand(
), Random Number Generation
- random numbers, Random Number Generation
- rawurlencode( ), Step 1: Using the Generic browse Function, Step 2: Implementing the Generic browse Function
- RDBMS (relational database management
system), Database Management Systems, Introducing Relational Databases, Terminology
- read
locks, When and how to lock tables
- read-lock
queue, The LOCK TABLES and UNLOCK TABLES statements in MySQL
- receipts for orders placed, Winestore Scripts, The Customer Receipt Page, HTML and Email Receipts, HTML and Email Receipts, Templates in the Shipping Module, The template
- records, Basic Querying
- recovery, What isn’t covered here
- redirection, Winestore Scripts, Managing Redirection
- references, Passing arguments by reference
- regular expression
functions, Regular Expression Functions, Splitting a string into an array
- regular
expressions, Regular Expressions, Splitting a string into an array
- metacharacters
as, Metacharacters
- relational database management
system, Introducing Relational Databases
- (see also RDBMS)
- relational
databases, The Database Tier, Introducing Relational Databases
- accessing, Interacting with Other DBMSs Using PHP, PostgreSQL
- planning/designing, Modeling and Designing Relational Databases, Step 5: Many-to-many relationships
- relational model, Terminology
- reload problem, Reloading Data and Relocation Techniques, Solving the reload problem in practice
- repeating
characters, Optional and repeating characters, Optional and repeating characters
- requests, HTTP
and, HTTP example
- require
directive, Reusing Functions with Include and Require Files, Reusing Functions with Include and Require Files
- reset( ), Using Array Pointers
- resource mssql_connect( ), Microsoft SQL Server
- resource mssql_query( ), Microsoft SQL Server
- resource mysql_connect( ), Essential Functions for Accessing MySQL with PHP
- resource mysql_pconnect( ), Frequently used functions
- resource mysql_query( ), Essential Functions for Accessing MySQL with PHP
- resource mysql_unbuffered_query( ), Frequently used functions
- resource OCILogon( ), Oracle 7 and 8 Through the OCI8 Interface
- resource OCIParse( ), Oracle 7 and 8 Through the OCI8 Interface
- resource odbc_connect( ), Open DataBase Connectivity (ODBC)
- resource odbc_exec( ), Open DataBase Connectivity (ODBC)
- resource pg_connect( ), PostgreSQL
- resource pg_exec( ), PostgreSQL
- resources for further
reading, Resources, Security and Cryptography Resources
- MySQL manual, Functions
- software installation and
configuration, Installation Resources
- responses, HTTP
and, HTTP example
- result
sets
- displaying, Case Study: Previous and Next Browsing
- limiting, Limiting Result Sets in MySQL
- results (query
results), Formatting Results, Using Include Files in Practice
- return types, Argument Types and Return Types
- return( ), Validating <form> Data with JavaScript
- REVOKE
statement, Permissions
- roll-over feature, Rollover presentation with mouseOver events
- rollover
feature, Client-Side Validation with JavaScript
- root user, The Apache HTTP server, Version 1.3
- round(
), Rounding
- rows, Database Management Systems
- rsort(
), Sorting with sort( ) and rsort( ), Sorting associative arrays
- rtrim(
), Trimming whitespace, String-comparison operators and functions
S
- salt string, Authentication Using a Database, Authentication script
- scope, Variable Scope, Global variables
- script tags, debugging
and, Other Common Problems
- scripting languages, Web Scripting with PHP
- (see also PHP scripting language)
- engine
for, Web Scripting with PHP
- scripts, Adding a second or subsequent query
- (see also PHP
scripts)
- adding multiple
queries to, Adding a second or subsequent query
- combined, Combined Scripts, Combined Scripts
- for
customer management, Customer Management
- for
the winestore application, Winestore Scripts, Winestore Scripts, The Winestore Home Page, Viewing the Shopping Cart, Managing Redirection
- search.1 script (browsing
wines), Winestore Scripts, Searching and Browsing, Searching and Browsing
- searching, Related Topics
- (see also browsing)
- Secure Socket Layer
protocol, The Secure Sockets Layer Protocol
- (see also SSL protocol)
- security, Security and User Data, Authentication and Security, Protecting Data on the Web, Certificates and Certification Authorities
- (see also authentication)
- importance
of, Security and User Data
- resources for
further reading, Security and Cryptography Resources
- sessions
and, Security
- select lists, Case Study: Producing a select List, Implementing the selectDistinct Function
- SELECT
statement, Querying with SQL SELECT, Limiting Result Sets in MySQL
- selectDistinct(
), Case Study: Producing a select List, Implementing the selectDistinct Function, Implementing the selectDistinct Function
- browsing and, Searching and Browsing
- client entry <form>
and, The Customer <form>
- semicolon ending statements, debugging
and, Other Common Problems
- send_confirmation_email(
), HTML and Email Receipts
- Sequel, History
- serializing
values, Using Session Variables
- server variables, How PHP Initializes Variables
- server-side
validation, Server-Side Validation, Other <form> issues
- performance
and, Models That Do Work
- session
cookies, Cookies
- session
handlers, Building User-Defined Session Handlers, Using the User-Defined Session Handler Code
- registering, Registering session handlers
- session hijacking, Session hijacking
- session IDs (session
identifiers), Session Management Over the Web, Overview
- session
management, User tracking and session management, Sessions
- configuring, Configuration of PHP Session Management
- database tier
and, Managing Sessions in the Database Tier, Using the User-Defined Session Handler Code
- security
and, Security
- session
time-outs, Session Management Over the Web, Timeouts
- session variables, How PHP Initializes Variables, Session Management Over the Web
- authorization script
for, Authorizing other requests
- saving
last-entered values as, Saving last-entered values as a session variable
- storing in
database tier, Need for centralized session store
- using, Using Session Variables
- session-based applications,
building, Building Session-Based Applications, Recording IP addresses to detect session hijack attempts
- session.use_cookies
parameter, Turning off cookies
- sessionClose( ), sessionClose
- sessionOpen( ), sessionOpen
- sessionRead( ), sessionRead
- sessions, Session Management Over the Web
- ending, Ending a Session
- PHP functions for
accessing, Functions for Accessing Sessions in PHP
- reasons
for using/not using, When to Use Sessions, Security
- starting, Starting a Session
- sessionWrite( ), sessionWrite
- session_destroy(
), Ending a Session, Garbage Collection, sessionDestroy
- session_id( ), Using Session Variables, Encoding the session ID as a GET variable
- session_is_registered(
), Functions for Accessing Sessions in PHP
- session_register(
), Using Session Variables, Functions for Accessing Sessions in PHP
- session_set_save_handler( ), Building User-Defined Session Handlers
- session_start(
), Starting a Session, Functions for Accessing Sessions in PHP
- session_unregister(
), Using Session Variables, Functions for Accessing Sessions in PHP
- session_unset( ), Functions for Accessing Sessions in PHP
- setcookie(
), Cookies, Starting a Session
- debugging and, Complaints About Headers
- setting/unsetting
variables, Testing, setting, and unsetting variables
- settype( ), Type Conversion
- setupQuery(
), Searching and Browsing
- set_error_handler(
), Variable naming, Custom Error Handlers
- shipping
wines, Ordering and Shipping at the Winestore
- shipping.1 script (email
receipt), Winestore Scripts, HTML and Email Receipts, HTML and Email Receipts
- shipping.2 script
(HTML receipt), Winestore Scripts, HTML and Email Receipts
- shipping.3 script (order
receipt), Templates in the Shipping Module, The template
- shopping
cart, The Winestore Shopping Cart
- adding items to, Adding Items to the Shopping Cart, Adding Items to the Shopping Cart
- converting items in to
orders, Winestore Scripts, Finalizing Orders, Finalizing Orders
- displaying
contents of, The Winestore Home Page, Viewing the Shopping Cart, Viewing the Shopping Cart
- emptying, Winestore Scripts, Emptying the Shopping Cart
- housekeeping for, Automated Housekeeping, cron Jobs
- updating quantities
in, Winestore Scripts, Updating the Shopping Cart Quantities, Updating the Shopping Cart Quantities
- short-circuit
evaluation property, Conditional Expressions
- SHOW
command, Displaying Database Structure with SHOW
- showCart( ), The Winestore Home Page
- showerror( ), Error Handling of MySQL Database Functions, Formatting Results, Custom Error Handlers
- showLogin( ), The Winestore Home Page
- showMessage( ), The Winestore Home Page, Adding Items to the Shopping Cart
- showPanel(
), The Winestore Home Page
- showPricing( ), Fixing the queries, Searching and Browsing
- showVarieties(
), Adding a second or subsequent query, The Winestore Include Files, The Winestore Home Page
- browsing and, Searching and Browsing
- vs. showPricing( ), Fixing the queries
- showWines( ), Searching and Browsing
- show_HTML_receipt(
), The application logic
- Smarty PHP template
engine, Templates
- sort( ), Sorting with sort( ) and rsort( ), Sorting associative arrays
- sorting
- arrays, Sorting Arrays, Sorting with user-defined element comparison
- output, Sorting and Grouping Output, DISTINCT
- space(
), String-comparison operators and functions
- split( ), Splitting a string into an array
- spreadsheets, vs. databases, Why Use a DBMS?
- sprintf( ), Creating formatted output with sprintf( ) and printf( ), Creating formatted output with sprintf( ) and printf( )
- SQL (Structured Query
Language), SQL, Terminology, More on SQL and MySQL, Permissions
- components
of, SQL components
- converting E/R model
to, Converting an Entity-Relationship Model to SQL, Step 5: Many-to-many relationships
- queries
and, Querying with SQL SELECT, INSERTing with a SELECT Statement
- winestore application, creating
with, Creating the winestore with SQL, Creating the winestore with SQL
- working with MySQL
and, Managing Databases, Tables, and Indexes, Updating Data
- SQL interpreter, Database Management Systems
- SQL server
(Microsoft), Microsoft SQL Server, Microsoft SQL Server
- srand(
), Subsecond times, Random Number Generation
- SSL
protocol, The Secure Sockets Layer Protocol, Certificates and Certification Authorities
- installing Apache to
use, Installing Apache to Use SSL, Installing Apache and ApacheSSL
- start/end
tags
- include
statement and, Reusing Functions with Include and Require Files
- omitting, PHP Basics
- starvation
problem, The LOCK TABLES and UNLOCK TABLES statements in MySQL
- state, State
- building
applications to maintain, Building Applications That Keep State
- stateless applications,
building, Building Stateless Applications
- stored
procedures, Limitations of MySQL
- strcasecmp( ), Comparing Strings
- strcmp(
), Conditional Expressions, Comparing Strings, String-comparison operators and functions
- strftime( ), Formatting a Date
- string assignments, Expressions, Operators, and Variable Assignment
- string clean( ), The Winestore Include Files
- string comparison
operators/functions, String-comparison operators and functions
- string crypt( ), Authentication Using a Database
- string getCustomerID( ), The Winestore Include Files
- string
literals, String literals, String Literals, Length of a string
- string mysql_tablename( ), Other functions
- string session_id( ), Functions for Accessing Sessions in PHP
- string showWine( ), The Winestore Include Files
- strings, Strings, Translating characters and substrings
- comparing, Comparing Strings
- converting to
timestamp, String to timestamp, Validating dates
- converting to/from
integers, Validating dates
- splitting into an
array, Splitting a string into an array
- stristr( ), Extracting a found portion of a string
- strlen(
), Length of a string
- strncasecmp( ), Comparing Strings
- strncmp(
), Comparing Strings
- strpos(
), Finding the position of a substring, Extracting multiple values from a string
- strrchr(
), Extracting a found portion of a string
- strrpos(
), Finding the position of a substring
- strstr(
), Extracting a found portion of a string
- strtotime( ), String to timestamp, Validating dates
- strtr(
), Translating characters and substrings
- Structured Query
Language, SQL
- (see also SQL)
- strval(
), Validating dates
- str_pad( ), Padding strings
- str_replace( ), Replacing substrings
- subject
string, Changing case
- subsecond times, Subsecond times
- substr(
), Extracting a substring from a string, Security and User Data
- substring(
), String-comparison operators and functions
- substrings, Finding and Extracting Substrings, Translating characters and substrings
- replacing, Replacing Characters and Substrings, Translating characters and substrings, Replacing substrings
- substr_replace(
), Replacing substrings
- superuser, The Apache HTTP server, Version 1.3
- support functions, Support functions
- swapping
memory, Performance
- switch
statement, switch Statement
- synchronization, problems with caused by
sessions, Timeouts
- system requirements for the
winestore application, System requirements, System requirements
- system(
), Security and User Data
T
- table aliases, Table aliases in SQL queries, Step 1: Producing Visually Appealing Tables
- tables
- creating, Creating Tables, Creating Tables
- with
visual appeal, Step 1: Producing Visually Appealing Tables, Limitations of Step 1
- displaying details
of, Displaying Database Structure with SHOW
- locking, Locking for Concurrency in MySQL, Other locking paradigms
- temporary, When and how to lock tables
- working
with, Altering Tables and Indexes
- tainted
data, Security and User Data
- TCP/IP protocol, TCP/IP, Ports
- HTTP and, HTTP and TCP/IP, Persistent connections
- templates, Templates, The template
- temporary tables, When and how to lock tables
- terminology for
databases, Database Basics
- testing variables, Testing, setting, and unsetting variables
- text files
- bulk loading data
from, Bulk loading into a database
- vs.
databases, Why Use a DBMS?
- thesame( ), Case study: A password <form> validation function
- thick clients, Thin Clients, Comments
- thin clients, Thin Clients
- threads, The Apache HTTP server, Version 2.0
- three-tier
architectures, Three-Tier Architectures, SQL components
- reasons for
using, Thin Clients
- time, Date and time functions
- (see also date and
time)
- time-outs, Session Management Over the Web, Timeouts
- time
string, String to timestamp
- time( ), Cookies, Using Session Variables
- timestamp, Generating a Timestamp, Subsecond times
- tracking, User tracking and session management
- (see also session
management)
- transaction management, SQL components
- transactions, Transactions and Concurrency
- commit/rollback
and, What isn’t covered here
- triggers, Limitations of MySQL
- trigger_error(
), Custom Error Handlers
- trigonometry
functions, Basic Trigonometry Functions
- trim(
), Trimming whitespace, String-comparison operators and functions
- trimming whitespace, Trimming whitespace
- two-component
querying, User-Driven Querying
- two-phase
locking, Locking for Concurrency in MySQL
- type
conversion, Type Conversion, Automatic type conversion
- type-casting, Type Conversion
- types, Types
U
- uasort( ), Sorting with user-defined element comparison
- unary not
operator, Conditional Expressions
- Unix cron tables, cron Jobs
- Unix
timestamp, Generating a Timestamp, Subsecond times
- unix_timestamp(
), Automated Housekeeping
- UNLOCK TABLES
statement, The LOCK TABLES and UNLOCK TABLES statements in MySQL
- unrepeatable
read problem, Issues in Writing Data to Databases, Transactions and Concurrency
- unset( ), Testing, setting, and unsetting variables
- Update Quantities
button, Viewing the Shopping Cart
- UPDATE
statement, Updating Data
- limitations of, Limitations of MySQL
- privileges and, Permissions
- WHERE clause
and, WHERE Clauses
- update( ), Prefilling <form> data with JavaScript calculations
- updateDiscount(
), Locking Tables in Web Database Applications
- updatePassword(
), Authentication Using a Database
- updates, Database Inserts, Updates, and Deletes
- (see also database
updates)
- updating
data, Updating Data
- upper(
), String-comparison operators and functions
- URL rewrite
feature, Encoding the session ID as a GET variable
- URLs, Uniform Resource Locators, URL encoding
- Apache
server, The Apache HTTP server, Version 1.3, Installing Apache
- ApacheSSL, Installing Apache to Use SSL
- embedded, Adding Links to Results
- caution
with, Adding Links to Results
- passing
data with, Passing Data with Embedded Links, Passing Data with Embedded Links
- mod_ssl, Installing Apache to Use SSL
- MySQL, Installing MySQL
- OpenSSL, Installing OpenSSL
- documentation
for, Creating a Key and Certificate
- passing data
with, Passing Data with URLs
- PHP, Installing PHP
- manual
for, Installation Resources
- PHP Triad for
Windows, Installation Resources
- PostgreSQL, The MySQL DBMS
- Smarty PHP template
engine, Templates
- this
book, Installing the Winestore Examples
- winestore
application, What Is Hugh and Dave’s Online Wines?
- XTemplate class
library, Templates
- user
agents, The Client Tier
- user
input, User Input, One-Component Querying
- querying with, Querying with User Input, One-Component Querying
- security and, Security and User Data
- user
tracking, User tracking and session management
- (see also session
management)
- user-driven
querying, Database-driven querying
- (see also querying, user-driven)
- users
- adding/deleting, Adding and Deleting Users
- authenticating, Authenticating Users, Authenticating Users
- accessing
credentials for, Access to User Credentials from PHP
- customer
authentication and, Case Study: Customer Authentication, Authorizing other requests
- authorizing
access for, Authorizing User Access, Limits placed on IP addresses
- customer
management and, Winestore Customer Management
- element comparisons
defined by, Sorting with user-defined element comparison
- functions
defined by, User-Defined Functions, Reusing Functions with Include and Require Files
- login requirement
for, Forcing users to a login page
- multiple,
issues affecting, Issues in Writing Data to Databases, What isn’t covered here
- reload
problem and, Reloading Data and Relocation Techniques, Solving the reload problem in practice
- session
handlers defined by, Building User-Defined Session Handlers, Using the User-Defined Session Handler Code
- which web browser used
by, Which browser is the user using?
- usort(
)
- comparing strings and, Comparing Strings
- sorting arrays and, Sorting with user-defined element comparison
V
- validation, Validation in the client and middle tiers, Validation in the client and middle tiers, Validation on the Server and Client, Comments
- client-side, Client-Side Validation with JavaScript, Comments
- for
dates, Validating a Date, Validating dates, Validating dates
- for email
addresses, Validating email addresses
- for
numbers, Validating numeric fields
- server-side, Server-Side Validation, Other <form> issues
- validation
scripts, The Validation Script
- for
customers, Customer Validation, Customer Validation
- validator for HTML, A Page That Produces Partial or No Output
- variable
substitution, Variable substitution
- variables, Variables
- assignment
and, Expressions, Operators, and Variable Assignment
- content/type
of, examining, Examining Variable Type and Content
- debugging
and, Variables
- initializing
with PHP, How PHP Initializes Variables, How PHP Initializes Variables
- passing
to functions, How Variables Are Passed to Functions, Default argument values
- scope
and, Variable Scope, Global variables
- var_dump( ), Debugging with print_r( ) and var_dump( ), Heterogeneous arrays
- verify( ), Case study: A generic JavaScript validation function
- views, The MySQL DBMS
- not
supported in MySQL, Limitations of MySQL
- void loginButtons( ), The Winestore Include Files
- void selectDistinct ( ), The Winestore Include Files
- void showCart( ), The Winestore Include Files
- void showLogin( ), The Customer <form>, The Winestore Include Files
- void showMessage( ), The Customer <form>, The Winestore Include Files
- void showPricing( ), The Winestore Include Files
- void showVarieties( ), The Winestore Include Files
- volumeDiscount(
), Inheritance
W
- W3C validator for HTML, A Page That Produces Partial or No Output
- Web
(the), Three-Tier Architectures
- protocols and, Internet and Web Protocols, MIME
- web
browsers, Interacting with the web browser
- (see also browsers)
- web database
applications
- authentication
and, Web Database Applications and Authentication
- building, Building Stateless Applications, Recording IP addresses to detect session hijack attempts
- case study
illustrating, Our Case Study
- (see also winestore
application)
- components
of, Our Case Study, Components of the Winestore, Validation in the client and middle tiers
- locking tables
and, Locking Tables in Web Database Applications, Other locking paradigms
- web pages, reload problem
and, Reloading Data and Relocation Techniques, Solving the reload problem in practice
- web
scripting languages, Web Scripting with PHP
- (see also PHP scripting language)
- web
servers, The Middle Tier, Web Servers
- web sites,
personalizing, Personalization
- web
spiders, The Client Tier
- WHERE
clause, WHERE Clauses, WHERE Clauses
- join queries and, Join Queries
- while
loop, while
- whitespace, Trimming whitespace
- wildcards, Characters and wildcards
- window.close(
), Interacting with the web browser
- window.open( ), Interacting with the web browser
- window.print(
), Interacting with the web browser
- windows.history.go(-1), Interacting with the web browser
- winestore
application, Our Case Study
- components of, Our Case Study, Components of the Winestore, Validation in the client and middle tiers
- creating with
SQL, Creating the winestore with SQL, Creating the winestore with SQL
- customer authentication
for, Case Study: Customer Authentication, Authorizing other requests
- customer management
for, Winestore Customer Management
- customer validation
for, Case Study: Customer Validation in the Winestore, Validating email addresses
- database for, Quick Start Guide, Creating the winestore with SQL
- loading, Loading the Winestore Database
- ER modeling
for, Entity-Relationship Modeling, Step 5: Many-to-many relationships
- front-page panel
for, Case Study: The Front-Page Panel, Fixing the queries
- home page for, The Winestore Home Page, The Winestore Home Page
- ordering and shipping wines
from, Buying a Bottle of Wine from the Winestore, Buying a Bottle of Wine from the Winestore, Ordering and Shipping at the Winestore
- regions, adding
to, Database Inserts, Updates, and Deletes
- relations
in, Case Study: Relations in the Winestore
- sample PHP scripts for,
downloading/installing, Installing the Winestore Examples
- scripts
for, Winestore Scripts, Winestore Scripts, The Winestore Home Page, Viewing the Shopping Cart, Managing Redirection
- sessions, adding
to, Case Study: Adding Sessions to the Winestore, The final client entry script
- shopping cart
for, The Winestore Shopping Cart
- system requirements
for, System requirements, System requirements
- wines, adding
to, Adding a New Wine to the Winestore, Adding a New Wine to the Winestore
- wizards, Sequence of interaction
- write-lock
queue, The LOCK TABLES and UNLOCK TABLES statements in MySQL
..................Content has been hidden....................
You can't read the all page of ebook, please click
here login for view all page.