
- •Initializing with Constructor Functions . . . . .
- •Into a Web page as a separate section. Although JavaScript code can
- •Is that standard php script delimiters are guaranteed to be available
- •In the block. Any text or lines between the opening /* characters and
- •2.7541 Are not integers; they are floating-point numbers. A floating-
- •Value 300
- •Is a value of 2.5, because 6 goes into 15 exactly 2.5 times. But if you
- •IsEven.Php.
- •Ing example,
- •Ing curly brace is on its own line following the function statements.
- •In php 3 and earlier, it was necessary to put a function definition
- •Is called an iteration. When the conditional expression evaluates
- •Including Files
- •13. Close your Web browser window.
- •Including Files
- •In php, you can also use two operators to combine strings. The first
- •Xhtml source code gen-
- •Input. Php provides several functions for manipulating the case of a
- •Is uppercase. If you need the reverse of ucfirst(), the lcfirst()
- •In some situations, you will need to find and extract characters and
- •Information Interchange, or ascii, which are numeric represen-
- •In comparison, the following preg_match() function returns a value
- •In the pattern is optional. The following code demonstrates how to
- •Values; any strings you validate against a regular expression must
- •Value of 1 because the top-level domain contains a valid value of .Com.
- •Is submitted using the “post” method, the form data is embedded in
- •Validating String Data
- •Xhtml tags or character entities. The message field is a text string
- •Value of the header element. For example:
- •Xhtml code within a php script section.
- •Is typically the person who created the resource. Otherwise, the net-
- •If even a single character of the Web page is sent prior to sending
- •Variables to the file_put_contents() function.
- •Xhtml hyperlink. To download a file from outside the xhtml
- •If...Else statement to display the appropriate version of the mes-
- •Iterating Through an Array
- •Iterating Through an Array
- •In Chapter 2, you learned how to use a foreach statement to iterate
- •Iterating Through an Array
- •Iterating Through an Array
- •In comparison, the following code declares and initializes
- •If ((!file_exists("MessageBoard/messages.Txt"))
- •Values from the array to create a thumbnail gallery of images in which
- •Introduction to Databases
- •Including php, allow you to create Web pages that can read and write
- •Introduction to Databases
- •Information that can be organized into ordered sets of data, and
- •Information. Each recipe in a recipe database, for instance, is a single
- •Introduction to Databases
- •Index, which identifies records in a database to make retrievals and
- •In a single table. However, you might want to break the information
- •Into multiple tables to better organize it into logical sets. Another
- •Information in one of the tables confidential and accessible only by
- •Is the employee information table from Figure 7-1. The related table
- •Is a payroll table that contains confidential salary and compensation
- •Information. Notice that each table contains an identical number of
- •Introduction to Databases
- •Introduction to Databases
- •In a junction
- •Introduction to Databases
- •In a relational format is called a relational database management
- •Is a standard data manipulation language among many dbmSs.
- •Into the query area at the top of the screen or by dragging tables and
- •It is important to understand that even though many dbmSs sup-
- •Introduction to Databases
- •If you ever
- •Is. In comparison, the bigint data type stores integer values between
- •5 Rows in set (0.00 sec)
- •Int);[enter ]
- •Important, these two tabs can cause you to lose all of the data in the
- •Internet Explorer to export the table, click the Save button in the File
- •Ifies the table being changed and the change to make.
- •It easier for you to write php code that can be used with a variety of
- •Information about queries that match one of the following formats:
- •Various types of actions, depending on the type of query.
- •Include fields for the date and time of the flight, flight number, and
- •In the ChineseZodiac folder and upload the file to the server. Open
- •Including white space,
- •Information on a Web server. When you start a new session, the
- •Introduction to Object-Oriented Programming
- •Introduction to Object-Oriented
- •Variables associated with an object are called properties or attributes.
- •In the Loan object example, a function that calculates the number of
- •Introduction to Object-Oriented Programming
- •Introduction to Object-Oriented Programming
- •Include instances of objects inherit the object’s functionality.
- •In this chapter, you will create the Web site for an online order form
- •In an online store application. The application includes information
- •Ity of building a working online store. Online store classes are very
- •Information and products. The OnlineStore class requires that store
- •Information is stored in a table containing six fields: storeId, name,
- •Information. Instead, the class simply uses session iDs to keep track
- •Variable and function as necessary, without bothering with all this
- •In a class
- •Is developed. Imagine what would happen if Microsoft distributed
- •Ing class is invalid because it does not include an access specifier:
- •If they will not be supported by future xhtml versions or are not
- •Xhtml standards. To review the guide of current w3c css specifi-
- •Information to remind yourself or others of what the code is doing. A
- •Xhtml document to the external style sheet. This link informa-
- •If you select Apache from the WampServer menu and select Service
- •Ing code uses the number_format() function to add comma separa-
- •In data that a user submits to a php script.
- •Value of “On” and the display_startup_errors directive is assigned
- •Instead. By looking at the source code, you could see that the value of
- •Ing engine can even help locate logic errors.
- •In Chapter 8, along with the equivalent mssql_* functions, where
- •Inline styles, 632
- •Xhtml, 620–635 (continued)
APPENDIX
E
rather
than the Web browser’s formatted display. Often you can see
problems
in the source code that you cannot see in the browser win-
dow
itself, such as empty <p>
tags,
missing attributes or values, and
fields
with incorrect values. Most Web browsers allow you to view the
underlying
XHTML code for a Web page.
For
example, assume you were attempting to use the
$_SERVER['SCRIPT_NAME']
autoglobal
as the value of the action
attribute
of a <form>
tag,
but typed $_SERVER['SCIPT_NAME']
the
action
attribute
of the <form>
tag
was empty. This would indicate
the
source of the error.
Combining
Debugging Techniques
As
you can see from the preceding examples, no single technique will
find
all errors. It is often more efficient to track down a bug by com-
bining
debugging techniques. For example, consider the following
code,
which should display the Canadian territories and capitals:
$TerritorialCapitals
= array(
array("Territory"
=> "Nunavut",Instead. By looking at the source code, you could see that the value of
"Capital" => "Iqaluit"),
array("Territory" =>
"Northwest Territories",
"Capital" => "Yellowknife"),
array("Territory" =>
"Yukon Territory",
"capital" => "Whitehorse"));
$TerritoryCount=count($TerritorialCapitals);
for ($i=1;$i<=$TerritoryCount;++$i) {
echo "<p>" . $TerritorialCapitals[$i]["Capital"] .
" is the capital of " .
$TerritorialCapitals[$i]["Territory"] .
"</p>";
}
To view the
source code
for a Web
page in
Mozilla
Firefox 3, you select View
from the menu bar and
then select Page Source.
In Apple Safari 4, you
select View from the
menu bar and then select
View Source. In Microsoft
Internet Explorer 7, you
click the Page button and
then select View Source
from the pop-up menu.
Most Windows browsers
also allow you to view the
source code by right-
clicking the page and
selecting View Source
from the pop-up menu.
In Chapter 3,
you learned
how to use
the \n escape
sequence to
insert a line break at the
end of the string. This
approach is useful when
you look at the script
output in your Web
browser. Without using
\n escape sequences to
format the XHTML source
code, the code will
appear on a single line,
which makes it difficult to
follow.
665
As Figure E-2 shows, this code has some problems. The first territory,
Nunavut, is not displayed anywhere on the list. Whitehorse is not
displayed as the capital of the Yukon Territory, and one line displays
neither a capital nor a territory. Several techniques can help to isolate
the cause of these problems.

APPENDIX
E
666
Figure
E-2
Web
page for a PHP script that is not working correctly
First,
examine the code. It is already properly formatted, so you can
tell
that the structure of the code blocks and the array declaration are
correct.
Next,
examine the script output shown in Figure E-3. As you can see,
the
entire body of the Web page source code is on a single line, which
makes
it difficult to read through the XHTML code. To help with
debugging,
place a \n
after
the closing </p>
tag.
Figure
E-3
Unformatted
output of a PHP script that is not working correctly
Next,
you can use echo
statements
to verify that variables are
being
set correctly. Add the following code immediately after the
$TerritorialCapitals[]
array
declaration to verify the contents.
The
print_r()
function
will display the contents of the array, and
using
the <pre>
tag
will ensure that the array is displayed correctly on
the
Web page.
APPENDIX
E
//
DEBUG: Verifying $TerritorialCapitals
echo
"<pre>\n";
echo
"\$TerritorialCapitals => ";
print_r($TerritorialCapitals);
echo
"</pre>\n";
//
DEBUG: End verifying $TerritorialCapitals
There
are three lines of output in Figure E-2, so the $TerritoryCount
variable
is probably set correctly. However, you can add the following
line
of code after the declaration of $TerritoryCount
to
verify the
value:
//
DEBUG: Verifying $TerritoryCount
echo
"<p>\$TerritoryCount = " .
$TerritoryCount
. "</p>\n";
667
As with $TerritoryCount, it appears that the for loop is work-
ing correctly because there are three lines of output in Figure E-2.
However, you can add the following line of code to the beginning of
the for loop code block to verify the value of $i:
// DEBUG: Verifying $i
echo "<p>In for loop: \$i = " .
$i . "</p>\n";
Notice that all of the code added for debugging purposes is com-
mented, and that each comment has the text “DEBUG:” before the
description, which makes it easier to find and remove all of the
debugging code once the script is working correctly. Also notice that
the debugging code for the $TerritorialCapitals[] array consists
of multiple statements. As a result, a comment marks both the begin-
ning and end of the debugging code, which helps ensure that all of the
debugging code is removed.