Jonathan Stark is the president of Jonathan Stark Consulting, a software consulting firm specializing in data solutions for creative professionals. Past clients include Staples, Turner Broadcasting, and Ambrosi (now Schawk). He has spoken at the FileMaker Developers Conference and has had numerous articles published in FileMaker Advisor and phparchitect magazines. Jonathan is reluctant to admit that he began his programming career more than 20 years ago on a Tandy TRS-80.
Hi! Thanks for picking up my book. I sincerely hope that it finds its way to a convenient spot on your desk. Nothing would warm my heart more than to see a beat-down, dog-eared, coffee-stained copy of this book right next to your computer.
On the other hand, it would drive me nuts if you bought this book only to discover that it didn't address your needs. In the spirit of customer satisfaction, please read the following introduction to get a sense of where I'm coming from, and whether you might get some good use out of this book.
Some background: I didn't go to school for computer science. I graduated from Berklee College of Music with a Bachelors of Music degree back in 19... well, a long time ago. Berklee is a pretty hard-core music school and lots of world-class players have come out of there. I was definitely not one of those cats (omgdid I just say "cats"?).
At the time, I was an average guitar player at best, I had never been in a band, and I didn't really know any songs. In a word, I stunk. However, I was a whiz at music theory. I couldn't get enough of it. The more I learned, the more I wanted to know.
After college, I got into a Boston-area punk band that mostly played really fast, really loud, three-chord tunes. We wore wigs. While I was in that band, I realized exactly what I hadn't learned at Berklee: PERSPECTIVE. I had absolutely none. Somehow, I had ended up knowing all sorts of esoteric stuff, but none of the basics.
That being the case, I learned more useful musical knowledge in that band than I ever did at Berklee. Not only was I learning the basics, but I was learning that 80% of the time, the basics are all that is called for.
Okay, now for the moral of the story. This book (and my classes) was created with this experience in the forefront of my mind. As an educator, I strive to give the basics the attention that they deserve. This might sound like an obvious way to approach an instructional book, but all too often, I find that authors (who are typically experts in their field) tend to gloss over the basics and jump to the esoteric (that is, fun) stuff. It's easy to forget what it is like to be a beginner when you have been practicing a discipline for the better part of 20 years.
The issue of how much time to devote to basic versus esoteric topics is further muddied by the fact that some of the esoteric stuff is superimportant. I have tried to address that issue here by relegating important yet esoteric topics to notes that are called out throughout the book and in the appendixes in Part IV. It's stuff that you need to know, but that I felt would have obscured the point of the examples in other sections of the book had it been included there.
This book essentially covers three topics: HTML, PHP, and FileMaker. I have taken pains to start at the very beginning of each of the topics in an effort to cover the basics for the total beginner. Furthermore, I have built in a fair amount of repetition into the examples, which I hope will provide some perspective. The examples are sort of a microcosm of what you can expect in day-to-day development.
If you have experience in one or more of these areas, there might very well be sections that you should skip over. If you are already familiar with HTML and PHP, you might completely skip Part I. If you already know how to build a FileMaker layout, most of Chapter 4, "Building a Simple FileMaker File," is probably not going to introduce any earth-shattering concepts.
My advice is to jump around if you want, underline things, scribble notes in the margin, fold the page corners over...whatever it takes. If you are doing web publishing with FileMaker, I'm confident that you can wring a lot of useful information out of this little book. And if I'm wrong, maybe you can at least kill a few bugs with it.
Please feel free to contact me with thoughts, questions, suggestions, errata, and so on. You can reach me through my website at
Happy web publishing!
Web Publishing with PHP and FileMaker is broken into four parts, each relatively independent of the others. This structure should allow you to skip any sections of the book that cover topics with which you are already familiar.
Part I, "Basics of Web Publishing," provides an overview of the architecture of the web, explains how to write HTML documents, and covers the most important features of the PHP scripting language.
Part II, "Laying the Groundwork," is devoted to building a FileMaker database file, setting up and configuring the FileMaker Server software, and using the PHP Site Assistant tool.
Part III, "Publishing FileMaker Data on the Web," focuses on how to use the FileMaker application programming interface (API) for PHP to integrate FileMaker data into a website in a variety of ways, including creating, editing, and deleting records; displaying and uploading images; working with related data and portals; and re-creating a FileMaker layout on the web.
Part IV, "More Information," consists of more detailed and esoteric information pertaining to performance tuning, security concerns, and error handling and prevention.
There are a few conventions used throughout this book that you should be aware of.
Obviously, there are lots of web page addresses in the book, for example: http://jonathanstark.com/. When you see one of these addresses (also known as a URL), you can go to that web page by entering the URL into the address bar in your web browser.
PHP code is displayed in this book in a monotype font, like so:
echo "This is some PHP code!";
In some spots, code is included in a line of otherwise normal text, like so:
"As you can see, I am using the echo command to output the $result variable."
When a line of code is too long to fit on one line of text, it is wrapped onto the next line. In this case, the continuation will be preceded with the code-continuation character, like this:
<p>This is a super long line of code that does not fit on one line so the code-continuation character was used</p>
As you read through this book, you'll note several special elements, presented in what we in the publishing business call "margin notes." Different types of margin notes are used for different types of information, as you see here.
Note - This is a note that presents some interesting but not necessarily essential information about a topic discussed in the surrounding text.
Caution - This is a caution that is something you should really pay attention to!
Jonathan's writing style and "voice" make it easy to follow along with the material.
Each chapter covers a specific topic so you can read it cover to cover or just focus on the material that is of interest to you.
I needed a book to get myself jump started using Filemaker's API for PHP when I found Jonathan Starks book.
I am an experienced filemaker developer with little php experience. This book gave me a great introduction and I can now go and teach myself the more intricate aspects of how to... Read morePublished 10 months ago by Adam
Jonathan Stark does an excellent job of explaining web publishing with php and FileMaker. This is the only book on web publishing with php that I've encountered that takes a... Read morePublished on March 22, 2009 by D. S. Burton
I needed a book to get myself jump started using Filemaker's API for PHP when I found Jonathan Starks book. Read morePublished on September 3, 2008 by Dominick J. Capobianco