Web Programming: Building Internet Applications

In stock
Regular price 15.000 KD inc. VAT
License
Table of contents
  • Front Matterxvii
  • Prefacexvii
  • THE INTENDED AUDIENCExviii
  • TYPOGRAPHYxix
  • CONTACTING THE AUTHORxxi
  • Acknowledgmentsxxiii
  • 1 Introduction1
  • 1.1 HTML, XML, AND THE WORLD WIDE WEB3
  • 1.1.1 A Little Bit of History4
  • The HTML 4.0 specification document from W3C says:5
  • 1.1.2 XML: The Future of the Web6
  • 1.1.3 Hypertext7
  • RULE OF THUMB8
  • 1.1.4 Styles versus Formatting8
  • RULE OF THUMB9
  • 1.1.5 Relative Positioning9
  • RULE OF THUMB10
  • 1.1.6 HTML Authoring Tools10
  • 1.1.7 MIME Types and Multimedia Content11
  • Multipurpose Internet Mail Extensions12
  • Helper Applications12
  • EXERCISES13
  • PART I HTML15
  • 2 Hypertext Markup Language17
  • 2.1 BASIC HTML17
  • 2.1.1 Tags18
  • 2.1.2 Structure of an XHTML Document18
  • RULE OF THUMB19
  • Commenting Your Pages20
  • 2.1.3 The Document Head21
  • 2.2 THE DOCUMENT BODY22
  • 2.2.1 Blocks22
  • Reducing Elements24
  • 2.2.2 The Basic Web Page – A Worked Example25
  • 2.3 TEXT26
  • Figure 2.1 The basic Web page26
  • Figure 2.2 Changing font sizes28
  • Figure 2.3 Font Variations29
  • Figure 2.4 Escape sequences30
  • RULE OF THUMB30
  • 2.3.1 Text Formatting – A Worked Example31
  • 2.4 HYPERLINKS31
  • Figure 2.5 Formatted text32
  • Figure 2.6 Hyperlinks33
  • 2.4.1 Relative Paths33
  • Figure 2.7 Sample site map34
  • 2.4.2 Uniform Resource Locators35
  • 2.4.3 Linking to Specific Sections35
  • RULE OF THUMB36
  • 2.4.4 Linking to Other Pages – A Worked Example36
  • 2.5 ADDING MORE FORMATTING37
  • 2.6 LISTS37
  • Figure 2.8 Linked Web pages38
  • RULE OF THUMB40
  • 2.6.1 Lists – A Worked Example40
  • Figure 2.9 Lists41
  • 2.7 USING COLOR AND IMAGES42
  • RULE OF THUMB42
  • 2.8 IMAGES43
  • RULE OF THUMB45
  • 2.8.1 Images-A Worked Example46
  • Figure 2.10 Using colors and images46
  • EXERCISES47
  • 3 More HTML50
  • 3.1 TABLES51
  • Figure 3.1 A simple table52
  • RULE OF THUMB53
  • RULE OF THUMB54
  • 3.1.1 A Table of Data – A Worked Example54
  • Figure 3.2 Data in tables55
  • 3.1.2 Advanced Table Elements55
  • Figure 3.3 A comprehensive table57
  • 3.2 MULTIMEDIA OBJECTS57
  • 3.2.1 Including Objects58
  • Figure 3.4 Microsoft powerpoint inside internet explorer59
  • Figure 3.5 Separate real player60
  • Figure 3.6 Embedded real player60
  • 3.2.2 Applets62
  • Figure 3.7 A Java applet63
  • 3.3 FRAMES64
  • RULE OF THUMB65
  • 3.3.1 Frames – A Worked Example66
  • Figure 3.8 Using simple frames66
  • 3.3.2 Iframes – Frames Within Pages67
  • Iframes–An Example68
  • Figure 3.9 Using inline frames69
  • 3.4 FORMS – TOWARD INTERACTIVITY69
  • Figure 3.10 Getting information via a form72
  • 3.4.1 Forms – A Worked Example72
  • 3.5 THE HTML DOCUMENT HEAD IN DETAIL73
  • 3.5.1 Control Information75
  • 3.6 XHTML – AN EVOLUTIONARY MARKUP77
  • 3.6.1 The XHTML Document78
  • Control Data78
  • Using An XML Declaration78
  • The New Document Type Definitions79
  • The Expanded HTML Element79
  • XHTML Elements80
  • 3.6.2 An Example81
  • EXERCISES82
  • PART II Stylesheets85
  • 4 Cascading Stylesheets87
  • 4.1 INTRODUCTION87
  • RULE OF THUMB88
  • 4.2 USING STYLES: SIMPLE EXAMPLES88
  • Changing h188
  • Figure 4.1 Changing h189
  • Changing More Styles90
  • Figure 4.2 Declaring styles inline and in the head90
  • A Slightly More Complex Example91
  • Figure 4.3 Using complex styles92
  • 4.3 DEFINING YOUR OWN STYLES93
  • 4.3.1 Cascading Styles93
  • 4.3.2 Rules93
  • 4.3.3 Classes94
  • Figure 4.4 Using classes of style95
  • Anonymous Classes95
  • 4.3.4 Including Stylesheets96
  • 4.4 PROPERTIES AND VALUES IN STYLES97
  • RULE OF THUMB97
  • 4.4.1 Formatting Elements97
  • Figure 4.5 The box model for CSS elements98
  • 4.4.2 Fonts98
  • 4.4.3 Backgrounds and Colors99
  • 4.4.4 Text100
  • 4.4.5 Boxes100
  • 4.4.6 Units and URLs101
  • Lengths101
  • 4.5 STYLESHEETS – A WORKED EXAMPLE102
  • 4.5.1 The stylesheet102
  • Figure 4.6 Formatting using stylesheets102
  • 4.5.2 The HTML Page104
  • 4.6 FORMATTING BLOCKS OF INFORMATION106
  • 4.6.1 Classes106
  • 4.6.2 Divisions108
  • 4.6.3 Spans108
  • RULE OF THUMB109
  • 4.7 LAYERS109
  • 4.7.1 Worked Examples of Divisions and Spans110
  • Overlapping Layers110
  • Figure 4.7 Using layers to format pages111
  • Adjoining Layers112
  • Figure 4.8 Multiple styles113
  • Figure 4.9 Styling inline frames116
  • Styling Inline Frames116
  • EXERCISES119
  • 5 Cascading Style Sheets Two121
  • 5.1 THE DESIGN OF CSS2122
  • 5.1.1 Media Types123
  • 5.2 STYLING FOR PAGED MEDIA124
  • 5.2.1 Page Rules125
  • 5.2.2 Page Breaks126
  • 5.3 USING AURAL PRESENTATION127
  • 5.3.1 Properties127
  • 5.4 COUNTERS AND NUMBERING131
  • Figure 5.1 Adding content with CSS2133
  • 5.4.1 Counters133
  • Figure 5.2 Dynamic counters134
  • EXERCISES135
  • PART III JavaScript137
  • 6 An Introduction to JavaScript139
  • 6.1 WHAT IS DYNAMIC HTML?140
  • RULE OF THUMB140
  • 6.2 JAVASCRIPT141
  • 6.2.1 How Simple is JavaScript?141
  • 6.2.2 Borrowing Code142
  • WARNING143
  • 6.2.3 Benefits of JavaScript143
  • 6.2.4 Problems with JavaScript143
  • 6.2.5 Do I Have to Use JavaScript?143
  • 6.3 JAVASCRIPT – THE BASICS144
  • 6.3.1 A Simple Script145
  • 6.3.2 JavaScript and the HTML Page146
  • Side Effects148
  • 6.3.3 The Output149
  • 6.3.4 The Code Samples149
  • Figure 6.1 Opening an alert box149
  • Figure 6.2 The Mozilla JavaScript console150
  • Figure 6.3 The dialog boxes151
  • 6.4 VARIABLES151
  • 6.4.1 Variable Names152
  • 6.4.2 Data Types152
  • 6.4.3 Creating Variables154
  • Using Variables in JavaScript154
  • RULE OF THUMB156
  • Converting data types157
  • Figure 6.4 Converting between data types158
  • 6.5 STRING MANIPULATION158
  • 6.6 MATHEMATICAL FUNCTIONS163
  • 6.6.1 Global Methods164
  • 6.6.2 The Math Library165
  • 6.7 STATEMENTS167
  • Table 6.1 JavaScript numerical constants168
  • 6.8 OPERATORS174
  • Table 6.2 JavaScript operators174
  • 6.9 ARRAYS175
  • Figure 6.5 The structure of an array175
  • 6.9.1 Basic Array Functions176
  • Creating Arrays176
  • Adding Elements to an Array176
  • Accessing Array Members177
  • Searching an Array178
  • Figure 6.6 Looping through an array178
  • Removing Array Members179
  • Figure 6.7 Removing an array element179
  • 6.9.2 Object-based Array Functions183
  • Figure 6.8 Concatenating arrays184
  • Figure 6.9 Array operations185
  • Figure 6.10 Splicing arrays188
  • 6.10 FUNCTIONS188
  • 6.10.1 Defining Functions188
  • 6.10.2 Parameter Passing189
  • Figure 6.11 Function call 1190
  • Figure 6.12 Function call 2191
  • Figure 6.13 Function call 3191
  • 6.10.3 Examining the Function Call191
  • 6.10.4 Comments192
  • 6.10.5 Parsing193
  • 6.10.6 Returning Values193
  • 6.10.7 Scoping Rules194
  • EXERCISES196
  • 7 Objects in JavaScript198
  • 7.1 DATA AND OBJECTS IN JAVASCRIPT198
  • 7.1.1 Objects – A Brief Introduction198
  • Objects198
  • JavaScript Objects200
  • 7.2 REGULAR EXPRESSIONS203
  • 7.2.1 Creating Regular Expressions204
  • 7.2.2 Writing Patterns204
  • Table 7.1 JavaScript regular expression grammar205
  • 7.2.3 Remembering the Result205
  • 7.2.4 Functions206
  • Class String Functions207
  • Class RegExp Functions208
  • 7.2.5 Flags208
  • 7.2.6 Examples208
  • Finding a Pattern Match209
  • Splitting a String209
  • Replacing a Matched String210
  • Swapping Two Words211
  • 7.3 EXCEPTION HANDLING211
  • 7.3.1 An Exceptional Example213
  • 7.4 BUILT-IN OBJECTS215
  • 7.4.1 The Document Object215
  • 7.4.2 The Window Object217
  • 7.4.3 The Form Object218
  • 7.4.4 The Browser Object219
  • Browser Sniffing220
  • 7.4.5 The Date Object222
  • Table 7.2 JavaScript date functions223
  • 7.5 COOKIES225
  • 7.5.1 Setting a Cookie225
  • 7.5.2 Retrieving a Cookie226
  • 7.5.3 Deleting a Cookie227
  • 7.5.4 Using Cookies228
  • 7.6 EVENTS230
  • Table 7.3 JavaScript events231
  • Table 7.4 JavaScript 1 objects and event handlers234
  • EXERCISES235
  • 8 Dynamic HTML with JavaScript237
  • 8.1 DATA VALIDATION238
  • 8.1.1 Validation: An Example239
  • 8.2 OPENING A NEW WINDOW242
  • RULES243
  • 8.3 MESSAGES AND CONFIRMATIONS244
  • Figure 8.1 The popup dialog boxes244
  • 8.4 THE STATUS BAR245
  • Figure 8.2 Writing to the status line245
  • 8.5 WRITING TO A DIFFERENT FRAME246
  • 8.5.1 The Frameset246
  • Figure 8.3 The color picker247
  • 8.5.2 The Upper Frame248
  • 8.5.3 The JavaScript Code249
  • Figure 8.4 The structure of color picker251
  • 8.6 ROLLOVER BUTTONS252
  • 8.6.1 The Explanation255
  • The JavaScript255
  • RULE OF THUMB256
  • 8.7 MOVING IMAGES257
  • 8.8 MULTIPLE PAGES IN A SINGLE DOWNLOAD261
  • 8.8.1 The Stylesheet261
  • 8.8.2 The HTML Page262
  • 8.8.3 The JavaScript264
  • 8.9 A TEXT-ONLY MENU SYSTEM264
  • 8.9.1 The HTML Page265
  • 8.9.2 The JavaScript267
  • 8.10 FLOATING LOGOS267
  • 8.10.1 The HTML Page268
  • 8.10.2 The JavaScript269
  • EXERCISES270
  • PART IV Perl273
  • 9 Programming in Perl 5275
  • 9.1 WHY PERL?277
  • 9.1.1 A Brief History Lesson278
  • 9.2 ON-LINE DOCUMENTATION278
  • Table 9.1 perldoc commands279
  • 9.3 THE BASIC PERL PROGRAM280
  • 9.4 SCALARS283
  • Table 9.2 Scalar data assignments284
  • 9.4.1 Functions Which Operate On Scalars286
  • 9.5 ARRAYS287
  • RULE OF THUMB290
  • RULE OF THUMB291
  • 9.5.1 Functions Which Operate on Arrays291
  • 9.6 HASHES293
  • RULE OF THUMB294
  • RULE OF THUMB296
  • 9.6.1 Functions Which Operate on Hashes298
  • 9.7 CONTROL STRUCTURES299
  • 9.7.1 Loops300
  • 9.7.2 Boolean Conditions305
  • RULE OF THUMB308
  • 9.8 PROCESSING TEXT308
  • 9.8.1 Splitting Strings309
  • 9.8.2 Building Strings313
  • 9.8.3 Formatting Date and Time313
  • 9.8.4 Character Manipulation315
  • 9.8.5 Printing Strings316
  • Table 9.3 printf formatting controls317
  • 9.9 REGULAR EXPRESSIONS319
  • 9.9.1 Using Regular Expressions320
  • 9.9.2 Pattern Matching Operators320
  • 9.9.3 Components of Regular Expressions321
  • Table 9.4 Modifiers for pattern matching321
  • Table 9.5 Modifiers for pattern replacement321
  • Table 9.6 Modifiers for list replacement322
  • Alphanumeric Characters322
  • Metacharacters322
  • Special Characters and Operators323
  • Alternatives323
  • Table 9.7 Special characters324
  • Table 9.8 Pattern matching multipliers325
  • Quantifiers325
  • Character Classes325
  • 9.9.4 Rules for Matching326
  • 9.9.5 A Few Other Things That You Should Know327
  • Backreferences – An Example327
  • 9.10 USING FILES328
  • 9.11 SUBROUTINES331
  • 9.11.1 Parameters into an Array332
  • 9.11.2 Parameters into a Hash334
  • 9.12 BITS AND PIECES335
  • 9.12.1 Operators335
  • Table 9.9 Logical operators (text and numerical)335
  • 9.12.2 Comments338
  • 9.12.3 Special Characters338
  • 9.12.4 Garbage Collection339
  • 9.12.5 Command-line Parameters339
  • 9.12.6 Things I Have Left Out340
  • EXERCISES340
  • 10 CGI Scripting346
  • 10.1 WHAT IS CGI?346
  • 10.2 DEVELOPING CGI APPLICATIONS347
  • 10.3 PROCESSING CGI348
  • 10.3.1 Rationale348
  • 10.4 INTRODUCTION TO CGI.PM349
  • 10.5 CGI.PM METHODS351
  • 10.5.1 Creating CGI objects351
  • 10.5.2 Extracting Parameter Names351
  • 10.5.3 Fetching Parameter Values352
  • 10.6 CREATING HTML PAGES DYNAMICALLY352
  • 10.6.1 The HTTP Header352
  • 10.6.2 Starting and Finishing a Page353
  • 10.6.3 The Body of the Page354
  • 10.7 USING CGI.pm – AN EXAMPLE356
  • 10.8 ADDING ROBUSTNESS357
  • 10.8.1 Taint Checking357
  • 10.8.2 Strict358
  • 10.9 CARP360
  • 10.10 COOKIES361
  • 10.10.1 Cookies in Detail362
  • 10.10.2 The Parts of a Cookie363
  • Name363
  • Value363
  • Expiry Date363
  • Domain363
  • Path364
  • Secure364
  • 10.10.3 Handling Cookies in Perl364
  • Creating a Cookie364
  • Reading a Cookie365
  • Deleting a Cookie367
  • EXERCISES367
  • 11 Building Web Applications With Perl369
  • 11.1 UPLOADING FILES371
  • 11.1.1 The HTML Page372
  • 11.1.2 The CGI Script374
  • 11.2 TRACKING USERS WITH HIDDEN DATA376
  • 11.2.1 The Initial HTML Page377
  • 11.2.2 The CGI Script378
  • 11.3 USING RELATIONAL DATABASES379
  • 11.3.1 Introducing DBI379
  • 11.3.2 RDBMS Neutral Database Applications380
  • Figure 11.1 The Perl DBI380
  • 11.3.3 Perl DBI Methods381
  • Sessions381
  • Preparing Statements383
  • Database Operations384
  • 11.3.4 Using DBI and a Relational Database-An Example385
  • Writing to a Database385
  • 11.3.5 Reading from a Database386
  • 11.4 USING libwww387
  • 11.5 TEMPLATE-BASED SITES WITH HTML::MASON393
  • 11.5.1 A Basic Application394
  • 11.5.2 Mason In Action396
  • main.html396
  • Figure 11.2 Using Mason397
  • thetop398
  • motd398
  • logo399
  • links399
  • thebody399
  • headlines400
  • footer401
  • 11.6 CREATING AND MANIPULATING IMAGES402
  • 11.6.1 Using GD404
  • Simple Applications405
  • Working On The Web408
  • Manipulating Existing Images409
  • 11.6.2 Creating Graphs With GD::Graph411
  • A Simple Application412
  • 11.6.3 Using ImageMagick414
  • Figure 11.3 Using Image::Magick415
  • A Simple Application415
  • The HTML Page415
  • The Script416
  • EXERCISES417
  • PART V PHP419
  • 12 An Introduction to PHP421
  • 12.1 PHP422
  • 12.2 INTRODUCING PHP423
  • Figure 12.1 Testing a PHP installation424
  • 12.3 INCLUDING PHP IN A PAGE425
  • 12.3.1 Variables426
  • 12.3.2 Accessing HTTP Data427
  • 12.4 DATATYPES429
  • 12.4.1 Numbers429
  • 12.4.2 Boolean429
  • 12.4.3 Strings430
  • Table 12.1 Escape sequences in PHP431
  • 12.4.4 Changing Data Type432
  • Figure 12.2 Converting strings to numbers432
  • 12.4.5 Other Useful Functions433
  • 12.5 PROGRAM CONTROL434
  • Table 12.2 Logical operators (text and numerical)435
  • 12.5.1 Using Multiple Source Files440
  • 12.6 ARRAYS441
  • 12.6.1 The Basic Array441
  • 12.6.2 Associative Arrays442
  • 12.6.3 Multidimensional Arrays443
  • 12.6.4 Array Functions444
  • Figure 12.3 Converting strings to numbers448
  • 12.7 USER-DEFINED FUNCTIONS450
  • 12.7.1 Variable Scope451
  • 12.8 BUILT-IN FUNCTIONS452
  • 12.8.1 Output452
  • 12.8.2 String Function454
  • Figure 12.4 Using printf in PHP455
  • Table 12.3 PHP printf formatting codes456
  • Figure 12.5 String manipulation in PHP459
  • 12.8.3 Math Functions460
  • 12.8.4 Dates and Times462
  • Table 12.4 Time and date formatting characters463
  • Figure 12.6 Formatted date string464
  • 12.9 REGULAR EXPRESSION464
  • Figure 12.7 Splitting strings468
  • 12.10 USING FILES468
  • Table 12.5 File modes472
  • 13 Building Web Applications With PHP475
  • 13.1 TRACKING USERS476
  • 13.1.1 Cookies476
  • 13.1.2 Sessions482
  • 13.2 USING DATABASES485
  • 13.2.1 LAMP485
  • 13.2.2 Introducing MySQL486
  • 13.2.3 Accessing MySQL from PHP490
  • 13.2.4 Using Pear DB494
  • 13.3 HANDLING XML498
  • 13.3.1 PHP’s XML Facilities498
  • 13.3.2 Processing RSS Feeds501
  • EXERCISES506
  • PART VI Miscellany509
  • 14 XML: Defining Data for Web Applications511
  • RULE OF THUMB512
  • 14.1 BASIC XML514
  • Figure 14.1 Internet Explorer 5 displaying XML515
  • Figure 14.2 Internet Explorer 5 displaying an XML error516
  • 14.1.1 Valid or Well Formed?516
  • 14.1.2 XML Elements516
  • Nesting Tags517
  • Case Sensitive517
  • Empty Tags517
  • Attributes518
  • 14.1.3 Control Information518
  • Comments519
  • Processing Instructions519
  • Document Type Declarations519
  • 14.1.4 Entities520
  • 14.1.5 Putting it All Together520
  • 14.2 DOCUMENT TYPE DEFINITION523
  • Figure 14.3 The XML recipe book525
  • 14.2.1 Elements525
  • Table 14.1 DTD elements which control repetition526
  • Attributes527
  • 14.2.2 Entities528
  • Internal Entities528
  • External Entities529
  • 14.2.3 Namespaces529
  • 14.3 XML SCHEMA530
  • 14.3.1 Schema for the Recipe Book531
  • 14.4 DOCUMENT OBJECT MODEL533
  • Figure 14.4 Sample document object model534
  • 14.5 PRESENTING XML535
  • 14.5.1 The Recipe Book XSL Explained538
  • Figure 14.5 The XML recipe book formatted with XSL539
  • 14.5.2 XSL Elements542
  • 14.5.3 Styling XML With Cascading Stylesheets544
  • Figure 14.6 Opera displaying CSS formatted XML545
  • 14.6 HANDLING XML WITH PERL546
  • 14.6.1 Parsing XML with Perl548
  • Parsing548
  • Parsing XML549
  • XML Parsers550
  • 14.7 USING XML::PARSER550
  • 14.7.1 XML::Parser Methods551
  • 14.7.2 XML::Parser Event Handlers553
  • 14.7.3 XML::Parser and the Recipe Book554
  • 14.8 HANDLING THE DOM WITH PERL558
  • 14.8.1 XML::DOM559
  • Table 14.2 Constants used in XML::DOM560
  • 14.8.2 XML::DOM::Node560
  • 14.8.3 XML::DOM::NodeList562
  • 14.8.4 XML::DOM::NamedNodeMap562
  • 14.8.5 XML::DOM::Element563
  • 14.8.6 XML::DOM::Text563
  • 14.8.7 XML::DOM and the Recipe Book563
  • EXERCISES568
  • 15 Good Design569
  • 15.1 STRUCTURE571
  • Figure 15.1 A breadcrumb trail571
  • 15.2 TABLES VERSUS FRAMES VERSUS…572
  • 15.2.1 The Code572
  • Using a Table572
  • Figure 15.2 Formatting a site within a table573
  • Using Frames574
  • Figure 15.3 Formatting using frames575
  • 15.2.2 Escaping from Framesets577
  • 15.2.3 Discussion577
  • 15.3 ACCESSIBILITY577
  • Table 15.1 Contrasting frames and tables578
  • 15.4 INTERNATIONALIZATION581
  • EXERCISES581
  • 16 Protocols583
  • 16.1 PROTOCOLS584
  • 16.2 IP AND TCP585
  • Figure 16.1 Layers of a network protocol585
  • 16.2.1 Internet Protocol586
  • Figure 16.2 The Internet Protocol packet header586
  • 16.2.2 Transmission Control Protocol587
  • Figure 16.3 The Transmission Control Protocol header587
  • 16.2.3 Internet Addresses588
  • 16.3 HYPERTEXT TRANSFER PROTOCOL588
  • 16.3.1 HTTP Sessions589
  • Connection Setup589
  • Browser Request589
  • Server Response590
  • Closing the Connection591
  • Table 16.1 HTTP server response codes591
  • 16.3.2 HTTP Server Response Codes592
  • 16.4 COMMON GATEWAY INTERFACE592
  • 16.4.1 The Dangers of Using CGI592
  • 16.4.2 Environment Variables593
  • Table 16.2 CGI-related environment variables594
  • 16.4.3 The GET and POST Methods595
  • 16.4.4 Using CGI Scripts595
  • Configuring Scripts on the Server595
  • Running Scripts from the Command-line596
  • 16.5 THE DOCUMENT OBJECT MODEL596
  • 16.6 INTRODUCING THE DOCUMENT OBJECT MODEL598
  • Figure 16.4 Sample Document Object Model599
  • EXERCISES599
  • 17 Case Study601
  • 17.1 THE PLAN601
  • 17.2 THE DATA603
  • PART VII Appendices607
  • Back Matter609
  • Glossary609
  • A Accessing a Database From PHP Usingmysqli613
  • B Accessing a Database From PHP Using Pear DB619
  • C HTML Color Codes625
  • D HTML Entities630
Book details
  • Vendor Wiley Global Education UK
  • SKU 0470065087R90
  • ISBN-13 9780470065082

Do you have questions about this book?

Ask an expert!

Web programming is about more than creating and formatting webpages and websites, though that is often a starting point for many. Using scripting languages such as JavaScript, Perl and PH, it becomes possible to add a lot more functionality to a site.

This book teaches the essentials of working with the most important web technologies. From client development using HTML and Javascript, through to full server side applications written in ASP and Perl, the complete web system is shown. Concentrating on immediately useful code rather than theory, this is a how-to book for practical and project based courses. The broad scope covered by this book begins by creating reasonably simple webpages with HTML, then working through related document and content tagging systems such as dynamic HTML and eventually XML.