Hotel Booking
Hotel Booking

Monday, September 29, 2008

Dreamweaver CS3 with CSS, Ajax, and PHP {Part-2}

FOREWORD

The Macromedia community was unique. There was a synergy among developers, designers,

marketers, and the Macromedia product teams that kept the product line alive and growing

year after year. I say “was,” because Macromedia is now part of Adobe. Since Adobe acquired

Macromedia, the community has gotten larger. Adobe did not previously have a reputation

for fostering a community spirit, however, even though the Adobe umbrella is now over the

entire former-Macromedia product line, the community has flourished and become even

more pervasive. Adobe now feels more like Macromedia than even Macromedia did, because

Adobe has somehow taken the best of Macromedia and made it even better.

With that acquisition, we have one of the largest software rollouts ever—the CS3 release,

which combined all of Macromedia’s biggest product lines with Adobe’s biggest product

lines into one massive release. If it were a normal product release cycle, that would be big

news by itself, but with all the major enhancements in most of the products in the line, it’s



even bigger. Dreamweaver CS3 contains some great new features, most of which are covered

extensively in this book, including the Spry tools, page layouts, and CSS tools. Dreamweaver

CS3 (or Dreamweaver 9, if you’re counting) is the first Adobe version of Dreamweaver, but

aside from the Adobe name and the Photoshop integration, it is instantly recognizable as the

same great program.



One of the things that make the community great is the involvement of the company

(Macromedia, now Adobe) with the designer/developer community. Adobe actively seeks

feedback on products and welcomes give and take; it doesn’t just pay lip service to the concept

of a developers’ community. The feedback forms on the website go directly to the

product team, and product engineers contact customers directly. This kind of involvement



brought PHP into Dreamweaver in the first place, and this kind of involvement keeps

Dreamweaver at the top of the heap of all the web development tools available.

To give an example of the Adobe community involvement, Adobe sent a team of representatives

to meet with everyone at the recent TODCon convention, which typically attracts a

small, closely knit group of Dreamweaver designers and developers. They didn’t just send a

couple of marketing people or low-level operatives; they flew in over a dozen of the cream

of the crop, including product managers, development team managers, quality assurance

managers, and others from locations in San Jose, San Diego, Romania, and Germany. On the

first day of the conference, Dreamweaver product manager Kenneth Berger introduced

xix

the team, which looked like a wall of Adobe at the front of the room, and led a session about

what is right and wrong with Dreamweaver, and the attendees of the conference got to give

their input as to what Dreamweaver is doing well and what could be improved. There was

plenty of praise along with plenty of venting that the product team will use directly. That

wasn’t the end of it though. The team was in attendance for the bulk of the conference,

walking around with notebooks, getting valuable feedback that will help shape the next version

of the product. This is the kind of personal contact that keeps the community and the

product thriving.

Couple the company involvement with the extensibility of Dreamweaver, which keeps the

development community buzzing with creativity by extending the program to do things that

it won’t do out of the box, and you have a program that gets exponentially better with each

release. I say the same thing every time a new version of Dreamweaver comes out: I could

never go back to the previous version. I feel the same way about the latest CS3 release.

I’ve never met David Powers, but know him well through the Adobe Dreamweaver community.

He is a fellow Adobe Community Expert who freely shares his knowledge of the product

in Adobe support forums, among other places. I know David by reputation as one of the

most thorough yet easy-to-read authors on the scene today and as one of the most passionate

and vocal Dreamweaver experts in the world. Among the scores of Dreamweaver books,

David’s are the books that I personally recommend to people as the best. This book is no

exception. Having written a few books in the past myself, I know it’s no easy task. As the

technical reviewer of this book, it was frequently a challenge for me to find things to say

about it—David leaves no stone unturned in his quest to provide the best instructional material

on the shelves today. That is exactly what you are holding in your hands right now.

Tom Muck

June 2007

FOREWORD

xx

ABOUT THE AUTHOR

David Powers is an Adobe Community Expert for Dreamweaver

and author of a series of highly successful books on PHP, including

PHP Solutions: Dynamic Web Design Made Easy (friends of ED, ISBN-

13: 978-1-59059-731-6) and Foundation PHP for Dreamweaver 8

(friends of ED, ISBN-13: 978-1-59059-569-5). As a professional writer,

he has been involved in electronic media for more than 30 years,

first with BBC radio and television and more recently with the

Internet. His clear writing style is valued not only in the Englishspeaking

world; several of his books have been translated into

Spanish and Polish.

What started as a mild interest in computing was transformed almost overnight into a

passion, when David was posted to Japan in 1987 as BBC correspondent in Tokyo. With no

corporate IT department just down the hallway, he was forced to learn how to fix everything

himself. When not tinkering with the innards of his computer, he was reporting for BBC TV

and radio on the rise and collapse of the Japanese bubble economy. Since leaving the BBC to

work independently, he has built up an online bilingual database of economic and political

analysis for Japanese clients of an international consultancy.

When not pounding the keyboard writing books or dreaming of new ways of using PHP and

other programming languages, David enjoys nothing better than visiting his favorite sushi

restaurant. He has also translated several plays from Japanese.

xxi

ABOUT THE TECHNICAL REVIEWER

Tom Muck is the coauthor of nine Macromedia-related books. Tom also writes extensions for

Dreamweaver, available at his site www.tom-muck.com. Tom is also the lead PHP and ColdFusion

programmer for Cartweaver, the online shopping cart software package, and a founding

member of Community MX, who has written close to 100 articles on PHP, ColdFusion, SQL,

and related topics.

Tom is an extensibility expert focused on the integration of Adobe/Macromedia products

with ColdFusion, ASP, PHP, and other languages, applications, and technologies. Tom was recognized

for this expertise in 2000 when he received Macromedia's Best UltraDev Extension

Award. He has also written numerous articles for magazines, journals, and websites and

speaks at conferences on this and related subjects.

xxii

ACKNOWLEDGMENTS

For an author, writing a book means long, lonely hours at the keyboard, but the volume

you’re holding in your hands—or reading onscreen if you’ve got the electronic version—is

very much a collaborative effort. The idea of writing an expanded book on the dynamic features

of Dreamweaver came from my editor, Chris Mills, who was gracious enough not to

complain each time I changed my mind about the final shape of the book. My thanks go to

him and all the production staff at Apress/friends of ED for keeping this mammoth project

on target.

I’m also indebted to the development team at Adobe, who gave me a sneak preview of their

plans for Dreamweaver CS3 very early in the development process and helped me understand

how many of the new features work. At times, I’m sure they were exasperated by my

persistent questions and the occasionally hectoring tone of my suggestions for improvements,

but they never let it show.

A particular thank you goes to my technical reviewer, Tom Muck. I’m deeply honored that

such a respected expert on Dreamweaver agreed to undertake this role. Tom’s in-depth

knowledge of Dreamweaver, PHP, and SQL saved me from some embarrassing mistakes (any

that remain are my responsibility entirely). He also provided helpful advice when he thought

my explanations were too oblique.

My biggest thanks of all go to you, the reader. Without you, none of this would be worthwhile.

If you enjoy this book or find it useful, tell all your friends and get them to buy a copy.

Don’t lend it to them. You might never get it back!

xxiii

INTRODUCTION

Dreamweaver CS3 with CSS, Ajax, and PHP . . . Wow, the title’s almost

as long as the book! And what’s that “essential” doing in there? “Essential” suggests that it’s

a book you can’t do without. So, who’s it for and why should you be reading it?

Dreamweaver isn’t a difficult program to use, but it’s difficult to use well. It’s packed with

features, and more have been added with each new version. The user interface has barely

changed in the last few versions, so it’s easy to overlook some great productivity boosters if

you don’t know where to find them. I have been using Dreamweaver on a daily basis

for about seven years, pushing it to the limit and finding out its good points—and its bad

ones, too.

So, the idea of this book is to help you get the best out of Dreamweaver CS3, with particular

emphasis on building dynamic web pages using the improved CSS management features,

Spry—the Adobe implementation of Ajax—and the PHP server behaviors. But how can you

get the best out of this book?

Who this book is for

If you’re at home with the basics of (X)HTML and CSS, then this book is for you. If you have

never built a website before and don’t know the difference between an tag and your

Aunt Jemima, you’ll probably find this book a bit of a struggle. You don’t need to know every

tag and attribute by heart, but I frequently dive into Code view and expect you to roll up

your sleeves and get to grips with the code. It’s not coding for coding’s sake; the idea is to

adapt the code generated by Dreamweaver to create websites that really work. I explain

everything as I go along and steer clear of impenetrable jargon. As for CSS, you don’t need

to be a candidate for inclusion in the CSS Zen Garden (www.csszengarden.com), but you

should understand the basic principles behind creating a style sheet.

xxiv

What about Ajax and PHP? I don’t assume any prior knowledge in these fields. Ajax comes in

many different guises; the flavor used in this book is Spry, the Adobe Ajax framework (code

library) that is integrated into Dreamweaver CS3. Although you do some hand-coding with

Spry, most features are accessed through intuitive dialog boxes.

Dreamweaver also takes care of a lot of the PHP coding, but it can’t do everything, so I show

you how to customize the code it generates. Chapter 10 serves as a crash course in PHP, and

Chapter 11 puts that knowledge to immediate use by showing you how to send an email

from an online form—one of the things that Dreamweaver doesn’t automate. This book

doesn’t attempt to teach you how to become a PHP programmer, but by the time you reach

the final chapter, you should have sufficient confidence to look a script in the eye without

flinching.

Do I need Dreamweaver CS3?

Most definitely, yes. Although the PHP features in Dreamweaver CS3 are identical to

Dreamweaver 8.0.2, you’ll miss out on roughly half the book, because the chapters devoted

to CSS and Spry are based on CS3. In a pinch, you could download the free version of Spry

from http://labs.adobe.com/technologies/spry/ and hand-code everything in an earlier

version of Dreamweaver, but the focus in this book is on using the CS3 interface for Spry. If

you want to use PHP in an earlier version, I suggest you read my Foundation PHP for

Dreamweaver 8 (friends of ED, ISBN-13: 978-1-59059-569-5) instead.

How does this book differ from my previous ones?

I hate it when I buy a book written by an author whom I’ve enjoyed before and find myself

reading familiar page after familiar page. This book is intended to replace Foundation PHP

for Dreamweaver 8, so a lot of material is inherited from that book. There’s also some overlap

with PHP Solutions: Dynamic Web Design Made Easy (friends of ED, ISBN-13: 978-1-

59059-731-6), but I estimate that at least 60 percent of the material was written exclusively

for this book. Every chapter has been completely revised and rewritten, and the chapters on

CSS and Spry are brand new.

Even where I have recycled material from the two previous books, I have revised and (I hope)

improved the scripts. For example, the mail processing script has increased protection

against email header injection attacks, and I have adapted it so that it can be reused more

easily with different online forms. The script also inserts the form content into a database

after sending the email.

I have added a section on using Dreamweaver templates in a PHP site. There’s a new chapter

on building search queries, and the chapter on multiple database tables tells you how to use

foreign key constraints if your MySQL server supports InnoDB. The final chapter shows you

how to generate XML on the fly from a database and enhance a PHP site by integrating some

features of Spry data management.

INTRODUCTION

xxv

How this book is organized

My previous books have taken a linear approach, but I have structured this one to make it

easier for you to dip in and out, using the Table of Contents and Index to find subjects that

interest you and going straight to them. So, if you want to learn how to create tabbed panels

with Spry, you can go directly to Chapter 8. Although the example pages use a design that

was created in an earlier chapter, you don’t need to have worked through the other chapter

first. Nevertheless, there is a progressive logic to the order of the chapters.

Chapters 1 and 2 serve as an overview of the whole book, explaining what’s new and what

has changed in Dreamweaver CS3. Chapter 2 also explains in detail how to use Spry effects.

They are simple to apply and don’t require knowledge of CSS or PHP. If you’re new to

Dreamweaver, these chapters help you find your way around essential aspects of the

Dreamweaver interface.

Chapters 3 and 4 show you how to set up your work environment for PHP and Dreamweaver.

If you already have a local testing environment for PHP, you can skip most of the material in

these chapters. However, I urge you to follow the instructions at the end of Chapter 3 to

check your PHP configuration. The section in Chapter 4 about defining your testing server in

Dreamweaver is also essential reading. These two subjects are the most frequent causes of

problems. A few minutes checking that you have set up everything correctly will save a lot of

heartache later.

Chapters 5 and 6 cover in depth how Dreamweaver handles CSS. If you’re relatively new to

CSS, Chapter 5 shows you how not to use Dreamweaver to create style rules. For more

advanced readers, it provides a useful overview of the various CSS management tools,

including the ability to reorder the cascade and move rules to different style sheets without

ever leaving Design view. Chapter 6 uses one of the 32 built-in CSS layouts to create an elegant

site, and in the process, unravels the mysteries of the CSS Styles panel.

Chapters 7 and 8 return to Spry, exploring the Spry Menu Bar and the tabbed panels, accordion,

and collapsible panel user interface widgets. Because these widgets make extensive use

of CSS, you’ll find these chapters easier to follow if you’re up to speed on the previous two

chapters. Of course, if you’re already a CSS whiz kid, jump right in.

Chapter 9 sees the start of practical PHP coverage, showing you how to construct an online

form. The second half of the chapter completes the roundup of Spry widgets, showing you

how to use Spry to check user input before a form is submitted. This is client-side validation

like you’ve never seen before. If you want to concentrate on PHP, you can skip the second

half of the chapter and come back to it later.

As noted earlier, Chapter 10 is a crash course in PHP. I have put everything together in a

single chapter so that it serves as a useful quick reference later. If you’re new to PHP, just

skim the first paragraph or so of each section to get a feel for the language and come back

to it later to check on specific points.

Chapters 11 and 12 give you hands-on practice with PHP, building the script to process

the form created in Chapter 9. Newcomers to PHP should take these chapters slowly.

Although you don’t need to become a top-level programmer to use PHP in Dreamweaver, an

INTRODUCTION

xxvi

understanding of the fundamentals is vital unless you’re happy being limited to very basic

dynamic pages. If you’re in a hurry, you can use the finished mail-processing script from

Chapter 12. It should work with most online forms, but you won’t be able to customize it to

your own needs if you don’t understand how it works. Chapter 12 also looks at using

Dreamweaver templates in a PHP site.

Chapter 13 gets you ready to bring out Dreamweaver’s big guns by guiding you through the

installation of the MySQL database and a graphic interface called phpMyAdmin. This chapter

also covers database backup and transferring a database to another server.

Chapters 14 through 17 show you how to build database-driven web pages using PHP,

MySQL, and Dreamweaver’s PHP server behaviors. You’ll also learn the basics of SQL

(Structured Query Language), the language used to communicate with all major relational

databases. To get the most out of this section, you need to have a good understanding of the

material in the first half of Chapter 9. You’ll learn how to create your own content management

system, password protect sensitive parts of your site, and build search forms.

The final three chapters (18–20) introduce you to working with XML (Extensible Markup

Language), the platform-neutral way of presenting information in a structured manner. XML

is often used for news feeds, so Chapter 18 sets the ball rolling by showing you how to use

Dreamweaver’s XSL Transformation server behavior to draw news items from a remote site

and incorporate them in a web page.

Chapter 19 explains how to generate a Spry data set from XML and use it to create an online

photo gallery. The attraction of Spry is that it provides a seamless user experience by refreshing

only those parts of a page that change, without reloading the whole page. The disadvantage

is that, like most Ajax solutions, the underlying code leaves no content for search

engines to index, or for the browser to display if JavaScript is disabled. So, Chapter 20 shows

how to get the best of both worlds by creating the basic functionality with PHP and enhancing

it with Spry. The final chapter also shows you how to generate your own XML documents

from content stored in your database.

What this book isn’t

I like to credit my readers with intelligence, so this book isn’t “Dreamweaver CS3 for the

Clueless” or “Dreamweaver CS3 for Complete Beginners.” You don’t need to be an expert,

but you do need to have an inquiring mind. It doesn’t teach the basics of web design, nor

does it attempt to list every single feature in Dreamweaver CS3. There are plenty of other

books to fill that gap. However, by working through this book, you’ll gain an in-depth knowledge

of the most important features of Dreamweaver.

A high proportion of the book is devoted to hands-on exercises. The purpose is to demonstrate

a particular technique or feature of Dreamweaver in a meaningful way. Rather than

racing through the steps to finish them as quickly as possible, read the explanations. If you

understand why you’re doing something, you’re far more likely to remember it and be able

to adapt it to your own needs.

INTRODUCTION

xxvii

Windows- and Mac-friendly

Everything in this book has been tested on Windows XP SP2, Windows Vista, and Mac OS X

10.4—the minimum required versions for Dreamweaver CS3. The overwhelming majority of

screenshots were taken on Windows Vista, but I have included separate screenshots from

Windows XP and Mac OS X where appropriate.

Chapters 3 and 13 have separate sections for Windows and Mac to guide you through the

setup of PHP and MySQL, so Mac users aren’t left trying to adapt instructions written for a

completely different operating system.

Keyboard shortcuts are given in the order Windows/Mac, and I point out when a particular

shortcut is exclusive to Windows (some Dreamweaver shortcuts conflict with Exposé and

Spotlight in the Mac version). The only place where I haven’t given the Mac equivalent is with

regard to right-clicking. Since the advent of Mighty Mouse, right-clicking is now native to the

Mac, but if you’re an old-fashioned kind of guy or gal and still use a one-button mouse, Ctrlclick

whenever I tell you to right-click (I’m sure you knew that anyway).

Some Mac keyboard shortcuts use the Option (Opt) key. If you’re new to a Mac and can’t

find an Opt key on your keyboard, in some countries it’s labeled Alt. The Command (Cmd)

key has an apple and/or a cloverleaf symbol.

A note about versions used

Computer software is constantly evolving, and—much though I would like it to do so—it

doesn’t stand still simply because I have written a 700-odd page book. A book represents a

snapshot in time, and time never stands still.

Everything related to Dreamweaver in this book is based on build 3481 of Dreamweaver CS3.

This is the version that was released in April 2007. The build number is displayed on the

splash screen when you launch Dreamweaver. You can also check the build number by going

to Help ä About Dreamweaver (Dreamweaver ä About Dreamweaver on a Mac) and clicking

the credits screen. This build of Dreamweaver shipped with Spry version 1.4. About one

month later, Adobe released Spry version 1.5.

At the time this book was ready to go to the printers, the information I had received indicated

that, because Spry is still evolving, Dreamweaver won’t automatically be updated for

each new release of Spry. Any changes that affect this book will be posted on my website at

http://foundationphp.com/egdwcs3/updates.php.

You should also check my website for any updates concerning PHP, MySQL, and phpMyAdmin.

The instructions in this book are based on the following versions:

PHP 5.2.1

MySQL 5.0.37

phpMyAdmin 2.10.1

INTRODUCTION

xxviii

Using the download files

All the necessary files for in this book can be downloaded from www.friendsofed.com/

downloads.html. The files are arranged in five top-level folders, as follows:

examples: This contains the .html and .php files for all the examples and exercises,

arranged by chapter. Use the File Compare feature in Dreamweaver (see Chapter 2)

to check your own code against these files. Some exercises provide partially completed

files for you to work with. Where indicated, copy the necessary files from this

folder to the workfiles folder so you always have a backup if things go wrong.

images: This contains all the images used in the exercises and online gallery.

SpryAssets: This contains the finished versions of Spry-related style sheets. With one

exception, it does not contain the external JavaScript files needed to display Spry

effects, widgets, or data sets. Dreamweaver should copy the JavaScript files and

unedited style sheets to this folder automatically when you do the exercises as

described in this book.

tools: This contains a Dreamweaver extension that loads a suite of useful PHP code

fragments into the Snippets panel, as well as a saved query for the Find and Replace

panel, and SQL files to load data for the exercises into your database.

workfiles: This is an empty folder, where you should build the pages used in the

exercises.

Copy these folders to the top level of the site that you create for working with this book (see

Chapter 4).

Support for this book

Every effort has been made to ensure accuracy, but mistakes do slip through. If you find what

you think is an error—and it’s not listed on the book’s corrections page at www.

friendsofed.com—please submit an error report to www.friendsofed.com/

errataSubmission.html. When ED has finished with the thumbscrews and got me to admit

I’m wrong, we’ll post the details for everyone’s benefit on the friends of ED site. I also plan to

post details on my own website at http://foundationphp.com/egdwcs3/updates.php of

changes to Dreamweaver or other software that affect instructions in the book.

I want you to get the best out of this book and will try to help you if you run into difficulty.

Before calling for assistance, though, start with a little self-help. Throughout the book, I have

added “Troubleshooting” sections based heavily on frequently asked questions, together

with my own experience of things that are likely to go wrong. Make use of the File Compare

feature in Dreamweaver to check your code against the download files. If you’re using a software

firewall, try turning it off temporarily to see whether the problem goes away.

INTRODUCTION

xxix

If none of these approaches solves your problem, scan the chapter subheadings in the Table

of Contents, and try looking up a few related expressions in the Index. Also try a quick search

on the Internet: Google and the other large search engines are your friends. My apologies if

all this sounds obvious, but an amazing number of people spend more time waiting for an

answer in an online forum than it would take to go through these simple steps.

If you’re still stuck, visit www.friendsofed.com/forums/. Use the following guidelines to help

others help you:

Always check the book’s updates and corrections pages. The answer may already be

there.

Search the forum to see if your question has already been answered.

Give your message a meaningful subject line. It’s likely to get a swifter response and

may help others with a similar problem.

Say which book you’re using, and give a page reference to the point that’s giving you

difficulty.

Give precise details of the problem. “It doesn’t work” gives no clue as to the cause.

“When I do so and so, x happens” is a lot more informative.

If you get an error message, say what it contains.

Be brief and to the point. Don’t ask half a dozen questions at once.

It’s often helpful to know your operating system, and if it’s a question about PHP,

which version of PHP and which web server you’re using.

Don’t post the same question simultaneously in several different forums. If you find

the answer elsewhere, have the courtesy to close the forum thread and post a link

to the answer.

The help I give in the friends of ED and Adobe forums is not limited to problems arising from

my books, but please be realistic in your expectations when asking for help in a free online

forum. Although the Internet never sleeps, the volunteers who answer questions certainly

do. They’re also busy people, who might not always be available. Don’t post hundreds of

lines of code and expect someone else to scour it for mistakes. And if you do get the help

that you need, keep the community spirit alive by answering questions that you know the

answer to.

INTRODUCTION

xxx

Layout conventions

To keep this book as clear and easy to follow as possible, the following text conventions are

used throughout.

Important words or concepts are normally highlighted on the first appearance in bold type.

Code is presented in fixed-width font.

New or changed code is normally presented in bold fixed-width font.

Pseudo-code and variable input are written in italic fixed-width font.

Menu commands are written in the form Menu ä Submenu ä Submenu.

Where I want to draw your attention to something, I’ve highlighted it like this:

Sometimes code won’t fit on a single line in a book. Where this happens, I use an arrow like

this: å.

This is a very, very long section of code that should be written all å

on the same line without a break.

Ahem, don’t say I didn’t warn you.

INTRODUCTION

xxxi



1 DREAMWEAVER CS3—YOUR

CREATIVE PARTNER

After 8, comes . . . not 9, but CS3. In the confusing world of marketing, Dreamweaver versions

have gone from straightforward numbers to a couple of meaningless letters (MX), to

MX 2004 (which didn’t reflect the year of release accurately), and back to numbers again.

So why CS3? And does it make any sense?

In one respect, the change symbolizes the fact that Dreamweaver is under new ownership.

Macromedia, the company that turned Dreamweaver, Flash, and Fireworks into must-have

tools for web developers, was acquired by Adobe at the end of 2005. And Dreamweaver

(together with former Macromedia stable mates Fireworks and Flash) is now part of

Creative Suite, Adobe’s family of web and print design tools that includes Photoshop,

Illustrator, and InDesign. Creative Suite is now in its third iteration; hence CS3. Although

each program has a long history, the idea of Creative Suite is to promote greater integration

to make it easier to switch to the best tool for a particular job, such as Photoshop for

photo manipulation and retouching, and import the results into another program. And

that’s what’s happened to Dreamweaver: although it’s available as a stand-alone program,

it’s now closely integrated with its new Adobe brothers and sisters as part of Adobe Web

Suite CS3 and Design Suite CS3.

Even the stand-alone version of Dreamweaver CS3 comes bundled with three other

programs:

Extension Manager CS3: An updated version of the program that lets you install

third-party add-ons to extend the functionality of Dreamweaver, Flash, and Fireworks.

Adobe Bridge CS3: As the name suggests, this is intended to facilitate communication

between the various parts of Creative Suite, but it also works with the standalone

version of Dreamweaver. At one level, it’s like a super-charged version of

Windows Explorer or Finder on the Mac, but it shines in the handling of visual

assets. It allows you to see inside a wide variety of formats, making it easy to find

an image by what it looks like.

Adobe Device Central CS3: This is a brand new program that allows you to visualize

what your websites will look like in a wide range of mobile devices, not only

from the layout point of view but also simulating mobile backlight and sunlight

reflections.

The integration goes further through the ability to copy and paste directly from a

Photoshop PSD file into Dreamweaver. When you do so, Dreamweaver optimizes the file

for the Web. So, yes, the “CS3” does make sense. It’s not just change for the sake of

change.

Once installed, Extension Manager, Bridge, and Device Central are separate programs and

can be launched independently, but you have no choice whether to install them. The

installer simply lists them as “Shared Components.” As a result, this version of Dreamweaver

occupies roughly four times more disk space than previous versions. Personally, I like

Bridge and think that Device Central is likely to become increasingly useful as mobile Web

access grows in popularity. Others may disagree.

If you’re a long-term Dreamweaver user, though, the program that you know and love

hasn’t changed beyond recognition. As Figures 1-4 and 1-5 show, the workspace layout is

identical to Dreamweaver 8. The development team moved with Dreamweaver to Adobe,

and the improvements to the program are a logical progression. Adobe accompanied

its decision to include Dreamweaver in Creative Suite 3 with the bold step of dropping its

DREAMWEAVER CS3 WITH CSS, AJAX, AND PHP

2

own web design program, GoLive. Although GoLive has been updated, it’s not in any of the

CS3 packages. What’s more, Adobe has created an online tutorial to help GoLive users

migrate to Dreamweaver (www.adobe.com/go/learn_dw_golive). This sends a clear message

that Adobe now regards Dreamweaver as its prime tool for developing standardscompliant

websites.

In this chapter, we’ll take a look at the most important features and changes in

Dreamweaver CS3, with particular emphasis on cascading style sheets (CSS) and creating

standards-compliant Extensible HyperText Markup Language (XHTML), both of which are

essential for building any modern website. Then, in the following chapter, we’ll take a look

at the tools Dreamweaver offers for building dynamic websites: Spry—Adobe’s implementation

of Asynchronous JavaScript + XML (Ajax)—and PHP.

What this chapter covers

Finding out what’s new in Dreamweaver CS3

Exploring and organizing the Dreamweaver workspace

Using Bridge to manage visual assets

Taking a first look at Dreamweaver’s support for cascading style sheets

Getting the best out of Code view

Getting your bearings in Dreamweaver

As the title of this book says, this is an essential guide to Dreamweaver CS3. So I don’t

intend to bore you to death with descriptions of every menu and submenu. However, all

readers may not be familiar with Dreamweaver, so I’ll start with a few signposts to guide

you around the Dreamweaver interface and help set basic program preferences. Most of

this will be familiar to experienced users of Dreamweaver, but there are some important

changes. To identify these changes, look for the New and Changed graphics in the margin.

Starting up

When you launch Dreamweaver CS3, the first thing you see after the program has finished

loading is the welcome screen shown in Figure 1-1. The three columns in the top section

provide quick access to a recently opened document (this list is empty the first time you

launch Dreamweaver), create a new document or Dreamweaver site (site definition is

covered in Chapter 4), or select from a predefined layout. The Dreamweaver Exchange

option at the foot of the right column takes you directly to the Adobe Dreamweaver

Exchange (www.adobe.com/cfusion/exchange/index.cfm?view=sn120), where you can

obtain extensions to add extra functionality to Dreamweaver (many are free; others are

sold on a commercial basis). The bottom section of the welcome screen takes you to various

parts of the Adobe website and displays what Adobe considers useful information, for

example, available updates to the program.

DREAMWEAVER CS3—

3

1

Figure 1-1. The welcome screen offers access to recent documents and a quick way to

create new ones.

The Dreamweaver welcome screen reappears whenever you close all documents in the

workspace and connects to Adobe to see if there are any new announcements. In previous

versions, leaving the welcome screen enabled was a resource hog, so many developers

chose the Don’t show again option at the bottom left. This means what it says: once you

select it, the welcome screen disappears forever. If you want it back, go to Edit ä

Preferences (Dreamweaver ä Preferences on a Mac), choose the General category, and

select Show welcome screen.

Although the welcome screen no longer appears to be a resource hog, you may prefer to

switch it off because you get a much better range of options from the New Document dialog

box. You can also configure Dreamweaver to reopen on startup any documents that

are still open when you close the program. Just select Reopen documents on startup in the

General category of the Preferences panel.

Creating a new document

To create a new document, select File ä New or press Ctrl+N/Cmd+N. This opens the New

Document dialog box, which has been considerably revamped, as shown in Figure 1-2.

The biggest change is that, in addition to a completely blank page, you can now select one

of 32 CSS layouts. There are also options to change the page’s document type definition

(DTD)—by default, Dreamweaver CS3 uses XHTML 1.0 Transitional—and to attach an

external style sheet to the page at the time of creation. We’ll look at the CSS layouts and

style sheet options in Chapters 5 and 6.

DREAMWEAVER CS3 WITH CSS, AJAX, AND PHP

4

Figure 1-2. The New Document dialog box offers a massive range of options and preset layouts.

By selecting the appropriate option from the menu on the left side of the New Document

dialog box, you can also create new templates from scratch or a page from an existing

template (templates are covered in Chapter 12). The Page from Sample option offers a

wide range of preset layouts, but I don’t recommend using them, as many of them use oldstyle

presentational elements and deprecated attributes. The final option, labeled Other,

contains a variety of pages for programming languages such as ActionScript, C#, and

VBScript, none of which are used in this book.

Setting new document preferences

Click the Preferences button at the bottom left of the New Document dialog box.

Alternatively, choose Preferences from the Edit menu (Dreamweaver menu on a Mac), and

select the New Document category. Either presents you with the New Document Preferences

dialog box shown in Figure 1-3.

The dialog box lets you set the following global preferences:

Default document lets you choose the type of document that will be created when

you use the keyboard shortcut for a new document (Ctrl+N/Cmd+N). For this to

work, you must deselect the option at the bottom labeled Show New Document dialog

box on Control+N/Cmd+N. Otherwise, the dialog box shown in Figure 1-2 will

appear.

Default extension affects only (X)HTML files. Change the value only if you want to

use .htm to maintain unity with the naming convention of older sites.

Default Document Type (DTD) sets the default DOCTYPE declaration for all new web

pages. You cannot set one value for, say, .html and another for .php pages.

DREAMWEAVER CS3—

5

1

Figure 1-3. The New Document category of the Preferences panel

Default encoding lets you choose the character set to be used in all web pages. The

Dreamweaver CS3 default is Unicode (UTF-8). (In the Mac version, this is listed as

Unicode 4.0 UTF-8.) This is different from previous versions. The checkbox below

this option tells Dreamweaver to use the same character set to display existing

pages that don’t specify a particular encoding. It doesn’t insert any extra coding in

such pages.

Unicode Normalization Form is required only when using UTF-8 for encoding. It

should normally be set to C (Canonical Decomposition, followed by Canonical

Composition), and the Include Unicode Signature (BOM) checkbox should be deselected.

If you use any other encoding, set Unicode Normalization Form to None.

Choosing the default document type Many people misunderstand the purpose of the DTD

(the DOCTYPE declaration before the opening tag). It simply tells the browser how

you have coded your page and is intended to speed up the correct rendering of your

design. It’s not a badge of honor or magic spell that somehow renders your web pages

future-proof. The default setting in Dreamweaver CS3 is XHTML 1.0 Transitional, and this is

the appropriate choice for most people when creating a new web page as long as you

understand the stricter rules imposed by XHTML.

Visit www.w3.org/TR/xhtml1/#diffs to learn about the differences

between HTML and XHTML. Also read the frequently asked questions

at www.w3.org/MarkUp/2004/xhtml-faq.

DREAMWEAVER CS3 WITH CSS, AJAX, AND PHP

6

The full range of options is as follows:

None: Don’t use—all pages should have a DOCTYPE declaration.

HTML 4.01 Transitional: Choose this if you don’t want to use XHTML.

HTML 4.01 Strict: This excludes deprecated elements (those destined for eventual

elimination)—use this only if you have a good knowledge of HTML and have made

a conscious decision not to use XHTML.

XHTML 1.0 Transitional: This offers the same flexibility as HTML 4.01 Transitional by

permitting the use of deprecated elements but applies the stricter rules of XML.

XHTML 1.0 Strict: This excludes all deprecated elements—use this only if you are

competent with XHTML.

XHTML 1.1: Don’t use—this DTD should not be used on pages delivered using the

text/html MIME type, the current standard for web servers.

XHTML Mobile 1.0: This is a subset of XHTML Basic for mobile devices—you can find

the full specification at www.openmobilealliance.org/tech/affiliates/wap/

wap-277-xhtmlmp-20011029-a.pdf.

If you choose an HTML document type, Dreamweaver automatically creates code according

to the HTML specification. Similarly, if you choose XHTML, your code automatically

follows the stricter rules, using lowercase for tag names and event handlers and inserting

a closing slash in empty tags such as . You need to be careful when copying and pasting

code from other sources. If you’re not sure about the quality of the code, run

Commands ä Clean Up XHTML, which should correct most, if not all, problems.

If you select a Strict DTD, it’s important to realize that Dreamweaver does not prevent you

from using deprecated elements or attributes. Dreamweaver expects you to understand

the difference yourself.

Choosing the default encoding The decision to switch the default encoding in

Dreamweaver CS3 to Unicode (UTF-8) makes a lot of sense. Unicode supports nearly every

known writing system, so—as long as you have the right fonts on your computer—you can

combine Spanish, Russian, Chinese, and English all on the same web page. All modern

browsers support UTF-8, so there is no reason you shouldn’t use it. But—and it’s a big

but—this book concentrates heavily on using PHP and the MySQL database. Versions of

MySQL prior to the 4.1 series do not support UTF-8. If your hosting company uses MySQL

3.23 or 4.0, you might need to change the default encoding for your web pages. See

“Understanding collation” in Chapter 13.

Exploring the workspace

Figure 1-4 shows the default Windows workspace with a web page under construction and

all the main areas labeled. The main part of the workspace is occupied by the Document

window, which includes everything from the Document toolbar to the Tag selector.

DREAMWEAVER CS3—

7

1

Figure 1-4. The Dreamweaver workspace remains basically unchanged.

As you can see from Figure 1-5, the Mac workspace is virtually the same. In harmony with

other Mac programs, the Close, Minimize, and Zoom buttons are at the top left of the

Document window. The Document window’s tabbed interface is displayed only when more

than one document is open. If you want the Mac version to display tabs all the time, open

Preferences from the Dreamweaver menu, select the General category, and check the

option labeled Always show tabs. Alternatively, if you don’t want the tabbed interface, deselect

the Open documents in tabs option.

Two other points to note about the Mac workspace: you can close a tab by clicking the 5

in a circle to the left of the file name; and the Property inspector overlaps the Files panel

on a 10245768 resolution monitor (the minimum display required for Dreamweaver CS3).

As a result, on a small monitor the Property inspector flops in front of or behind the Files

panel, depending on whether it has focus. This results in some icons being hidden, but you

can bring them back into view by clicking in any blank space in the Property inspector.

Alternatively, resize the Files panel to make room.

The main menus run across the top just below the title bar. The menus provide access to

all features, but I prefer to work directly in the workspace with Dreamweaver’s visual tools,

each of which I’ll describe briefly.

DREAMWEAVER CS3 WITH CSS, AJAX, AND PHP

8

Figure 1-5. Apart from a few minor differences, the Mac workspace is identical to Windows.

Insert bar

The Insert bar is really a collection of toolbars used to perform the most frequently used

operations in building web pages. It’s organized as a tabbed interface. Figure 1-6 shows the

Common tab. When you first launch Dreamweaver, there are six other tabs (or categories).

Additional, context-sensitive tabs are displayed only when the features can be used in a

particular page, such as when using PHP or the XSL Transformation server behavior. The

tabs organize program features in logical groups, so some commonly used features, such

as tables and
tags, are duplicated on more than one tab to save time switching back

and forth.

Figure 1-6. The Common tab of the Insert bar houses some of the most frequently used operations.

If space is at a premium, you can save a few pixels of vertical space by switching to the

menu style shown in Figure 1-7. Click the name at the left end to reveal a menu of available

categories. However, it takes two clicks to change categories, so you’ll probably find

the tabbed interface more convenient. Alternatively, you can put frequently used items in

the Favorites category as described shortly.

Figure 1-7. The Insert bar has an alternative menu style that saves a little space.

DREAMWEAVER CS3—

9

1

To use the menu style, click the panel Options menu button (shown alongside) at the top

right of the Insert bar, and select Show as Menu. To restore the tabbed interface, click the

category name at the left end of the Insert bar, and select Show as Tabs from the bottom

of the menu.

Table 1-1 describes briefly what each category contains. Although the Insert bar will look

familiar to users of previous versions of Dreamweaver, it has been revamped with many

new items and the removal of some old ones. For the benefit of readers upgrading from

Dreamweaver 8, I have indicated the main changes.

Table 1-1. The main features of Insert bar tabs (categories)

Tab/category Description Changes from Dreamweaver 8

Common Inserts the most commonly used Now contains all tags related

objects, such as tables, images, with and

No comments:

Post a Comment