Web Application Design and Implementation: Apache 2, PHP5, MySQL, JavaScript, and Linux/UNIX / Edition 1

Hardcover (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $14.44
Usually ships in 1-2 business days
(Save 85%)
Other sellers (Hardcover)
  • All (11) from $14.44   
  • New (7) from $63.71   
  • Used (4) from $14.44   


This text allows readers to gain the core programming knowledge needed to build a database-driven Web site using a step-by-step approach. Each stage of Web site development is carefully explained, from installation to production of the site. The book, based on a course developed by the author, features a carefully constructed organization that shows readers how to begin creating Web pages, and then incrementally add greater functionality as they progress through the text. A key strength of this book is its use of multiple programming languages and applications. By selecting among the best options from HTML, JavaScript, MySQL, PHP, Apache, and Linux/UNIX, readers learn to develop Web sites that are specifically tailored to meet their needs. Brief chapters, each focusing on one core theme, are designed to allow readers to learn at their own pace. Among the key chapters is one dedicated to teaching how to install a Web server with all the required modules to run the scripts presented in the book. Examples are used extensively throughout, illustrating key concepts and techniques, Author draws from his own extensive experience to offer expert tips and point out pitfalls to avoid, Exercises help readers put their knowledge into practice, The examples, as well as sample solutions to the exercises, are posted online to give readers more opportunity to work with the scripts.

With its step-by-step approach, this book is ideally suited for anyone who wants to learn how to create complete Web sites. No previous knowledge of any programming language is needed. For experienced Web designers, the book will bring their programming skills to a higher level by enabling them to create dynamic pageslinked to a database.

About the Author:
Steven A. Gabarro, MSc, is a member of the faculty at Stevens Institute of Technology

Read More Show Less

Editorial Reviews

From the Publisher
"It explains all concepts at a very elementary level, and allows the novice reader (with basic knowledge of programming) to learn fundamental concepts of Web programming and practical Web design. For an experienced reader, it will provide very good overview of Web programming practices form one particular perspective, that of using open-source software tools." (Computing Reviews, November 25, 2008)
Read More Show Less

Product Details

  • ISBN-13: 9780471773917
  • Publisher: Wiley
  • Publication date: 12/26/2006
  • Series: Quantitative Software Engineering Series , #4
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 295
  • Product dimensions: 6.46 (w) x 9.35 (h) x 0.99 (d)

Meet the Author

STEVEN A. GABARRÓ, MSc, is a member of the faculty at Stevens Institute of Technology. He created the first Web programming course at Stevens in 2003, a course which is now considered one of the most instructive computer science elective courses by students and fellow faculty. The success of the course became the drive to create this book.

Read More Show Less

Table of Contents


About the Author.

Before We Get Started.

Who Should Read this book?

About The Examples.

How to read this book.


Introduction: Web Application Recipe.


Step 1 - Understanding the problem and finding the solution.

Step 2 - Designing the database.

Step 3 - Major functionalities.

Step 4 - Back side.

Step 5 - Improvements on functionality.

Step 6 - Improvements on looks.

Step 7 - Thorough testing, hacking attempts.

Step 8 - Presentation.

Step 9 - Publication.

Step 10 - Celebration (and maintenance).

Chapter 1. Fundamentals.

The origins of the Internet.

The World Wide Web.

The Web Browsers.

The Web Servers.


The Internet Layer.

The Transport Layer.

The Application Layer.

The Toolbox.



E-Mail Clients.

Programming Tools.

Other Useful Tools.

Chapter 2. The Different Approaches of Web Programming.

Before We Get Started.

The Basics - HTML.

The Creator - SGML.

Other SGML-based languages - XML / XSL.

The good old Java.

Something different - JavaScript.

The Savior - PHP.

The rival - ASP.NET.

The Myth - CGI.

Another Big Option - Perl.

The Future? - C#.

Client-side versus Server-side - Which side to pick?

My Choices - PHP, MySQL, JavaScript.

Chapter 3. Introduction To HTML.

What do you need to get started?

How does HTML work?

Syntax basics.

File Structure.

Tags Parameters.

Basic Text Formatting.

External References.



Organizing Data.




Special Characters.

Chapter 4. Work Environment.


Downloading the Software.

Installing the Apache Server.

Installation Steps.

Checking the Installation.

Possible Errors.

Configuring Apache.

Installing PHP5.

Testing PHP.

Installing MySQL.

Adding a MySQL user.

How do I know if MySQL is running?

Installing phpMyAdmin.

Installing a Bulletin Board: phpBB.

Installation Steps.

Basic Security things to consider!


Chapter 5. PHP - A server Side Scripting Language.

How does it work?

Some “new” words on PHP.

Syntax Generalities.



Mathematical Functions.

Data Types.



Chapter 6. PHP Arrays and Flow of Control.


Basic Arrays.

Associative Arrays.

Multidimensional Arrays.

Arrays Functions.

PHP Program Structure and Flow of control.




Chapter 7. Using files, folders and Strings in PHP.

Using Files.

Folder Manipulation.

Basic String Manipulation.

Changing a string.

Finding and Comparing.

Formatting Strings.

Manipulating HTML files.

PHP Information Functions.

Closing Remarks.

Writing a basic File Explorer.



Case Study: An Indexer/Searcher STEP 1.


The Indexer - Step 1.

Chapter 8. PHP5 and Object-Oriented Programming.


Classes and Objects.

Classes in PHP.

Constructors and Destructors.


The scope resolution operator.

The Static Keyword.

Class Constants.

Class Abstraction.

Object Interfaces.

Copying and Cloning objects.

Comparing Objects.

Type Hinting.


Final words.

Chapter 9. Creating Some Interactivity.



Writing a form in HTML.


Retrieving the form info on a PHP script.

Dynamically creating forms.

Transferring data between PHP scripts.



One last useful function and design techniques.


File explorer step 2.

Case study: Indexer/Searcher - Step 2.

Chapter 10: Making Cleaner Code and Output.

Cleaning up your code.

What you need.

How to use it? - HTML side.

How to use it? - PHP side.

Cleaning up your output.

The CSS file.

Useful tools.


Chapter 11. Using Databases.


Database Basics.

The entity-relationship model.

More Practical Example.

Typical sources of Errors.

Simplifying the Diagrams.

Using MySQL.

MySQL Syntax.

Data Types.

MySQL numeric data types.

Date and Time data types.

String Data types.

MySQL Operators.

MySQL Instructions.

Using Functions in MySQL.

Chapter 12. Using PhpMyAdmin.


Creating a Database.

Creating tables.

Accessing an existing table.

Exporting/Importing a database structure and content.

Assignment - Final Project.

Chapter 13. Creating Database-Driven Websites with PHP/MySQL.


Connecting to your MySQL server with PHP.

Submitting SQL queries.

Processing the results of a query.

Example of login procedure.

Other useful functions.

Grouping our Methods in a class.

Indexer/Searcher - Steps 3 and 4.

Chapter 14: JavaScript - A client side scripting language.


JavaScript syntax.

Types of Data and Variables.

Operations and calculations.




Using Functions.

Using Objects.

The String Objects.

The Math class.

The Array objects.

Chapter 15. Programming the Browser.


The Window Object.

The Location Object.

The History Object.

The Navigator Object.

The Screen Object.

The Document Object.

Using Events.


Time to practice!

Chapter 16. Windows and Frames.

Frames and JavaScript.

Windows and JavaScript.


One Last Funny Example.

Chapter 17: String Manipulations Revisited.


New Basic String methods.

Regular Expressions in JavaScript.

Regular Expressions in PHP.

The set of PCRE.

Chapter 18. JavaScript and DHTML.


Positioning Elements.

Writing dynamic menus in DHTML.

You turn!! .

Chapter 19. Putting it All Together!


Step 1 - Understanding the problem and finding the solution.

Step 2 - Designing the database.

Step 3 - Main functionalities.

Step 4 - Back side.

Step 5 - Improvements on functionality.

Step 6 - Improvements on looks.

Step 7 - Thorough testing, hacking attempts.

Step 8 - Presentation.

Step 9 - Publication.

Step 10 - Celebration :) (and maintenance).

What language to use?

Appendix A: Special Characters.

Appendix B: Installing on UNIX.


Installing Apache and PHP.

Installing MySQL.

Appendix C: Advanced phpBB.

Appendix D: class.FastTemplate.PHP.

Appendix E - File Upload Script.



Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Posted September 8, 2009

    Read before you buy

    It's a dirty trick to list this book under "Linux Web" instead of PHP category so that it stays up in the list as an eye-catcher instead of falling behind tons of awesome books on PHP programming such as Welling/Thomson. Bad news is that it literally has no information on Linux programming at all; perhaps half a page about how to create new directories under Linux. Being in his class and all, I'm convinced that the author himself has no idea how to set up the work environment in Linux. I had to download and tune everything, I even updated my kernel to use web services on Linux and the instructor/author simply said that they should have come by default. If you do not understand what I mean scroll down to product details.

    If I were the author, for one I'd show some modesty and some respect to the reader and I wouldn't review my own book or rather say review the reviews on my book. It says "customer review" not "what author thinks of what you have to say on his book". If you wrote it of course you'll rate it 5 stars or a 100 if you could. I also find it so lame to say "don't buy it if you don't like it". Dealing with criticism is an important step in growing up.

    Second I wouldn't force my students to buy my book. It's extremely rude to say "go get the book don't come to me asking anything about the assignments." It's the worst possible way to sell something. Also, the instructor/author repeatedly claims that he did not use any of the references listed in the back but he was forced by the publisher to provide a list; so, he picked a couple of sources he did not actually refer to, neither does he know what they are about. So don't bother going through them, trying to find more detailed explanations. It'd be a waste of time.

    The writing style is less formal than most text books. I think that style would suit better for a book titled "PHP MySQL .. for DUMMIES". I'd expect a publication from IEEE to be more formal and I'd like it better if the author kept himself out of context. I'm not sure if this is a book about the author or web design. It would be more professional to keep the focus on the material not author's personal life, his background, where he grew up or his favorite team, which ultimately the learner does not give a damn.

    I would enjoy a more technical and higher level examples. The ones presented in this book were silly and childish; they also lack originality. It's a failure as a textbook. It introduces you to server side programming but certainly won't help you develop it forget mastering.

    So in author's words, I don't have to buy it if I don't like it but I have to buy it if I accidentally happen to be in class. I guess what he is trying to say is a confession: don't buy it if you don't have to.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)