Web programming step by step - Second edition. - Raleigh, N.C.: Self-published via Lulu, 2012

  1. Έκδοση
  2. Βιβλίο έντυπο
  3. Stepp, Martin | Miller, Jessica | Kirst, Victoria
  4. Second edition
  5. Marty Stepp, Jessica Miller, Victoria Kirst
  6. Raleigh, N.C.: Self-published via Lulu, 2012
  7. xvi, 652 pages : illustration ; 25 cm.
  8. 9781105578786 (paperback).
  9. "Updated for HTML5"--Cover
  10. Includes bibliographical references and index
  11. Original: Βιβλιοθήκη Πανεπιστημίου Κύπρου . - Rules: RDA
    • CHAPTER 1 THE INTERNET AND WORLD WIDE WEB

      • 1.1 WHAT IS THE INTERNET?
        • History
        • People and Organizations
        • Technologies
      • 1.2 THE WORLD WIDE WEB (WWW)
        • Clients and Servers
        • URLs and DNS
        • Hypertext Transmit Protocol (HTTP)
        • Languages of the Web

      CHAPTER 2 HTML BASICS

      • 2.1 BASIC HTML
        • History
        • Page Structure
        • Block Elements
        • Inline Elements
      • 2.2 MORE HTML ELEMENTS
        • Lists
        • Tables
        • Quotations
        • Pre-Formatted Text
        • A Few Miscellaneous Elements
        • Audio and Video
      • 2.3 WEB STANDARDS
        • Why Follow Web Standards?
        • The W3C HTML Validator
        • Web Page Metadata

      CHAPTER 3 CSS FOR STYLING

      • 3.1 BASIC CSS
        • CSS Syntax
        • Applying CSS to a Web Page
        • Color Properties
        • CSS Comments
      • 3.2 CSS PROPERTIES
        • Font Properties
        • Text Properties
        • Background Properties
        • List Properties
        • Table Properties
      • 3.3 MORE CSS SYNTAX
        • Style Inheritance and Conflicts
        • IDs and ID Selectors
        • Classes and Class Selectors
        • Pseudo-class Selectors
        • W3C CSS Validator
      • 3.3 CASE STUDY: TRAVELER TIMES REVISITED
        • HTML Content
        • Fonts and Colors
        • Text and List Properties
        • Targeting Elements with IDs and Classes
        • Final File Contents

      CHAPTER 4 PAGE LAYOUT

      • 4.1 STYLING PAGE SECTIONS
        • Page Sections (div et al)
        • Spans of Text (span)
        • CSS Context Selectors
      • 4.2 INTRODUCTION TO LAYOUT
        • The CSS Box Model
        • Default Styles
        • Finding Box Model Problems with Firebug
      • 4.3 FLOATING ELEMENTS
        • The float Property
        • The clear Property
        • Making Floating Elements Fit
        • Multi-Column Layouts
      • 4.4 SIZING AND POSITIONING
        • Width and Height
        • Positioning
        • Z-indexing
        • Element Visibility
      • 4.5 CASE STUDY: ULTIMATE FRISBEE
        • Page Sections and General Styles
        • Images, Headings, and Lists
        • Page Layout
        • Final File Contents

      CHAPTER 5 PHP

      • 5.1 SERVER-SIDE BASICS
        • Lifecycle of a Web Request
        • Introduction to PHP
      • 5.2 PHP BASIC SYNTAX
        • Syntax Errors
        • The print Statement
        • Types
        • Arithmetic
        • Variables
        • Strings
        • Comments
        • Boolean Logic
        • Control Statements
        • Errors and Debugging
      • 5.3 EMBEDDED PHP
        • Embedding PHP in HTML
        • Expression Blocks
      • 5.4 ADVANCED PHP SYNTAX
        • Functions
        • Including Files
        • Arrays
        • The foreach Loop
        • File I/O
        • Classes and Objects
      • 5.5 CASE STUDY: WORD OF THE DAY
        • Index Page
        • Word Definition Page
        • Final File Contents

      CHAPTER 6 FORMS

      • 6.1 FORM BASICS
        • Parameterized Pages and Query Strings
        • A Simple Form
      • 6.2 FORM CONTROLS
        • Text Boxes
        • Checkboxes and Radio Buttons
        • Labels
        • Drop-down Menus and Lists
        • Reset Buttons
        • New Form Controls in HTML5
        • Grouping Controls (Field Sets)
        • Styling Forms
      • 6.3 SUBMITTING DATA
        • URL-encoding
        • Hidden Input Parameters
        • HTTP Requests: GET vs. POST
        • Uploading Files
      • 6.4 PROCESSING FORM DATA IN PHP
        • Superglobal Associative Arrays
        • Working with $_GET and $_POST
        • Processing Uploaded Files
      • 6.5 CASE STUDY: VOCAB QUIZ
        • Selecting Random Words
        • Submitting Guesses
        • Final File Contents

      CHAPTER 7 WEB DESIGN

      • 7.1 USER-CENTERED DESIGN
        • The Typical User
        • Visual Design Concepts
        • The Design Process
      • 7.2 PAGE LAYOUT
        • General Appearance
        • Home Pages
        • Navigation and Links
        • Forms and UI Controls
      • 7.3 ACCESSIBILITY
        • Accessibility Issues
        • An Accessibility Checklist

      CHAPTER 8 JAVASCRIPT

      • 8.1 KEY JAVASCRIPT CONCEPTS
        • Client-Side Scripting
        • Event-Driven Programming
        • A JavaScript Program
        • The Document Object Model (DOM)
      • 8.2 JAVASCRIPT SYNTAX
        • Types
        • Numbers and Arithmetic
        • Variables
        • Comments
        • Using DOM Objects
        • Debugging Common Errors
        • Strings
        • for Loops
        • The Math Object
        • Null and Undefined Values
      • 8.3 PROGRAM LOGIC
        • Comparison Operators
        • Conditional Statements: if/else
        • Boolean Values
        • Logical Operators
        • While Loops
      • 8.4 ADVANCED JAVASCRIPT SYNTAX
        • Scope and Global Variables
        • Arrays
        • Function Parameters and Returns
        • Input Dialog Boxes
      • 8.5 CASE STUDY: HANGMAN
        • Initial HTML/CSS Code
        • Choosing a Word with JavaScript
        • Making Guesses
        • Right and Wrong Guesses
        • Final File Contents

      CHAPTER 9 THE DOCUMENT OBJECT MODEL (DOM)

      • 9.1 GLOBAL DOM OBJECTS
        • window.onload and Unobtrusive JavaScript
        • Anonymous Functions
        • The Keyword this
      • 9.2 DOM ELEMENT OBJECTS
        • Interacting with Text
        • Adjusting Styles
        • Unobtrusive Styling
      • 9.3 THE DOM TREE
        • DOM Nodes
        • Traversal Properties and Methods
        • Traversing Elements
        • Selecting Groups of Elements
        • Creating and Removing Nodes
      • 9.4 CASE STUDY: COLORED SQUARES
        • Initial HTML/CSS Code
        • Creating Squares
        • Add Squares, Change Colors
        • Clickable Squares
        • Final File Contents

      CHAPTER 10 PROTOTYPE AND SCRIPTACULOUS

      • 10.1 PROTOTYPE
        • Introduction to Prototype
        • Language Improvements
        • Prototype and the DOM
        • Accessing Styles
        • Traversing the DOM
        • Prototype and Forms
      • 10.2 SCRIPTACULOUS
        • Visual Effects
        • Drag-and-Drop
        • Controls and Sounds

      CHAPTER 11 EVENTS

      • 11.1 EVENT-HANDLING
        • The Event Object
        • Mouse Events
        • Keyboard and Text Events
        • Form Events
        • Page Events
        • Timer Events
      • 11.2 CASE STUDY: MULTIPLICATION QUIZ
        • Initial HTML/CSS Content
        • Problems and Guesses
        • Time Limits
        • Final File Contents

      CHAPTER 12 AJAX, XML, and JSON

      • 12.1 AJAX CONCEPTS
        • History and Compatibility
      • 12.2 USING XMLHTTPREQUEST TO FETCH DATA
        • Synchronous Requests
        • Checking for Ajax Errors
        • Asynchronous Requests
        • Prototype's Ajax Features
        • Ajax Security and Debugging
      • 12.3 XML
        • What is XML?
        • XML Document Structure, Schemas, and DTDs
        • Processing XML Data
      • 12.4 JSON
        • JavaScript Object Literals
        • JSON Data Format
        • Processing JSON Data
      • 12.5 CASE STUDY: ANIMAL GAME
        • Initial HTML/CSS Content
        • Fetching Question Data Using Ajax
        • End-of-Game and Adding Polish
        • Final File Contents

      CHAPTER 13 RELATIONAL DATABASES AND SQL

      • 13.1 DATABASE BASICS
        • Motivation
        • Example Database: imdb
      • 13.2 SQL
        • Connecting to MySQL
        • Database/Table Information
        • The SELECT Statement
        • Filtering Results with the WHERE Clause
        • Ordering Results: ORDER BY
        • Aggregating Data: GROUP BY, HAVING
        • Modifying Data: INSERT, EDIT, and DELETE
      • 13.3 MULTI-TABLE QUERIES
        • Cartesian Product
        • Joins
        • Keys
        • Designing a Query
      • 13.4 QUERYING A DATABASE IN PHP
        • Connecting to a Database
        • Performing Queries
        • Error Checking
        • MySQL-specific Database Functions
      • 13.5 CASE STUDY: ADVENTURE RECOMMENDER
        • Index Page
        • Adventure Recommendations Page
        • Final File Contents

      CHAPTER 14 COOKIES AND SESSIONS

      • 14.1 COOKIE BASICS
        • What is a Cookie?
        • Myths About Cookies
        • Lifecycle of a Cookie
        • How Cookies are Stored
      • 14.2 PROGRAMMING WITH COOKIES
        • Cookies in PHP
        • Cookies in JavaScript
        • A JavaScript Cookie Library
      • 14.3 SESSIONS
        • Lifecycle of a Session
        • Sessions in PHP
      • 14.4 CASE STUDY: USER LOGIN SYSTEM
        • Basic HTML/CSS Content
        • User Login Page
        • Grades and Teachers Pages
        • Restricting Access
        • Logging Out
        • Adding "Flash" Messages
        • Final File Contents

      CHAPTER 15 WEB SECURITY

      • 15.1 SECURITY PRINCIPLES
        • Threats and Attacks
        • Thinking Like an Attacker
        • The Security Mindset
      • 15.2 CROSS-SITE SCRIPTING (XSS)
        • A Typical XSS Attack
        • Defending Against XSS
      • 15.3 VALIDATING INPUT DATA
        • Client-Side Validation
        • Server-Side Validation
        • Regular Expressions
        • Regular Expressions in HTML
        • Regular Expressions in PHP
        • Regular Expressions in JavaScript
      • 15.4 SQL INJECTION
        • Typical SQL Injection Attacks
        • Defending Against SQL Injection
      • 15.5 SESSION-BASED ATTACKS
        • Session Hijacking
        • Cross-Site Request Forgery (CSRF)
        • Defending Against CSRF

      APPENDIX A SYNTAX REFERENCE

      • HTML
      • CSS
      • PHP
      • JavaScript
      • SQL
      Webstepbook
    • This textbook is designed for use in an introductory web programming course for students who have had a bit of prior introduction to programming (CS1-equivalent) or more.  Web Programming Step by Step is written for a broad audience with material that has been used in the classroom with hundreds of undergraduates at the University of Washington, most of whom were not computer science majors.

      One of the philosophies of the book was to take advantage of the web and move a lot of content online. Supporting online content, including end-of-chapter exercises, can be found in the Supplements section.

      Webstepbook