PHP

Connecting the Real World to Your Web Site Using QR Codes
Reader Level: Reader Level

The rise of smart phones, and the "always-connected" attitude that has accompanied them, means that the web is being stretched and positioned into far more parts of our daily lives. One interesting aspect of this omnipresence is the concept of hardlinking, a term used to describe technologies or techniques used to link real world objects to websites or digital presence. The technology is actually quite simple: create an image (similiar to a barcode) that users can point their camera-equipped smart phones at, have the device do some recognition and direct the user to the appropriate web site, contact information, or any other data you want!

In today's article we're going to explore one of the most common techniques for hardlinking: QR codes. We'll look at what they are, briefly talk about how they work, and look at how we can generate them using PHP.

File-Based Error Logging in PHP
Reader Level: Reader Level

Normally, I debug PHP scripts by echoing diagnostic content to the screen during the development of dynamic web sites. Recently, a client informed me that there seemed to be an intermittent bug in the checkout routine of a recently completed ecommerce site. Because the site had already gone live, my usual troubleshooting approach was inappropriate. Additionally, testing had to be completed on the live site to ensure functionality with live configuration and merchant account settings.

In order to capture and analyze diagnostic data while the site was live, I implemented a file-based logging function which worked in the background. The function, described below, was created to be light-weight and flexible in order to minimize performance impacts and provide a wide range of information.

The file-based function was successful in identifying the failure point of the script leading to its fix. Further, the client decided to leave it turned on and collecting data in case further problems appeared during the site's initial rollout.

Log Your Logins with PHP and MySQL for Better Customer Service
Reader Level: Reader Level

If you run a web site with user accounts, you are likely familiar with countless emails from users who claim they cannot log in to the site. While published CMS applications have password recovery tools, most don't give you a record of log in attempts. This tutorial will show you how to add a log to your application which records failed or successful log in attempts from users (and even non-users.)

Using PHP and MySQL, this script will not only record log in attempts but other useful diagnostic
  • IP address
  • browser version
  • referrer address
  • All of this information helps you provide better customer service by better understanding your users and their usage habits. From this information, your can better determine:

    • how often a specific user or users in general access your site
    • when users access your site
    • which pages on your site which are more likely to prompt users to log in
    • which browser is used most often by active users
    • potential account abuses due to password sharing
    • potential security weaknesses due to brute force hacking attempts
    • whether or not a specific user was able to log in


    Quickshot - Using Multiple Databases in PHP
    Reader Level: Reader Level

    One of the most common misnomers about databases on the web is that you should only ever need a single database per project. If you're dealing with very time-sensitive and critical information in your database though it's often appropriate to have some form of realtime backup: this is called database replication.

    Today we're going to look at one possible way of implementing this from within your PHP scripts by using replicant queries, a technique which involves issuing all of your queries to two different databases. This is one of the most direct cross-database replication methods and is actually a lot easier to implement than you'd expect!

    Managing Checkbox Look-ups in PHP
    Reader Level: Reader Level

    A common practice in CMS content management systems is to allow content to be applied to any number of categories or tags. On a recent project, I needed to create a CMS for articles which could be related to any number of sport categories. The web site editor needed to be able to select any number of related categories for a specific article and these settings were saved in a MySQL lookup table. With this table of many-to-many relationships, I was able to populate a list of category checkboxes for each article as well as to retrieve applicable articles when a specific category was viewed.

    This tutorial will show how to create an HTML form with a checkbox for each category and dynamically load settings from a MySQL database. Then, we look at a script for saving the lookup settings. Finally, we'll see the resulting lookup table in action selecting articles which have been tagged to a specific category.

    snapshot of form checkboxes

    How to Report Non-Calendar Years in PHP and MySQL
    Reader Level: Reader Level

    Calendar years make reporting easy. The calendar year 2010 is simply distinguished from 2009. What could be easier than selecting all records from the current calendar year?

    SELECT * FROM `records` WHERE YEAR(`record_date`) = YEAR(NOW())

    Some organizations, however, maintain reporting calendars which do not start on January 1 and end on December 31. Businesses maintain a fiscal year, educational institutions keep an academic year and even sports leagues keep seasons which begin in one calendar year and end in the next. In these cases, assessing the current year is not as simple as looking at the calendar. For example, the fiscal year for many countries around the world begins July 1 and ends on the following June 30. The Government of the US has a fiscal year which starts on October 1. In the UK, the fiscal year for personal taxation reporting begins on April 6.

    This article will show you how to use both PHP and MySQL to define a custom reporting year and determine the current reporting year at any date. These functions will allow you to easily include the start and end points of the year as well as create reporting queries based on these defined temporal end points.

    What If MySQL Could Eliminate PHP?
    Reader Level: Reader Level

    The hallmark of a successful programmer can be measured in economy of code. Being proficient means doing more work with less code. In working with MySQL data in PHP scripts, one can eliminate a lot of heavy lifting in PHP with some simple MySQL functions. In today's example, we'll look at MySQL's IF() function as a way to supply data already interpreted so we don't have to do the work in PHP.

    PHP In-Depth: Not All Equal Statements Are Identical in Comparison
    Reader Level: Reader Level

    PHP provides three forms of equality. Understanding the differences and uses of '=', '==' and '===' is vital to your success as a programmer. In this article we'll cover the differences and usages of each, as well as noting a few gotchas to avoid. While '==' will tell you if items are equal, the fact that PHP uses loose comparisons can lead to incorrect comparisons which in turn lead to faulty logical decisions. In this article we'll learn how to avoid this problem.

    Audit a MySQL Data Table - Part 2
    Reader Level: Reader Level

    When you have a database table that gets updated or changed, it makes sense to keep track of those updates. A relational database table is like a snapshot in time. It contains your data in its most recent form. When you update it, the previous data is lost. For example, a product might have a price. When you change that price, the previous price is lost. Many times it can be retrieved from a log, but another way to make sure you have an audit trail of your data is to create dedicated audit tables for each table that you want to keep track of.

    This article will show one simple way to create an audit table and related functionality in MySQL without needing to modify your web application much at all. This first part of the series covered setting up the sample application and database table. This part will show the audit functionality and how to create it. For the article, I'll assume you know how to set up PHP sites, work with basic database operations in PHP (listing, inserting, updating data), and work with session variables. The series will focus on the auditing of the table.

    The Audit a MySQL Data Table Series:
    Audit a MySQL Data Table - Part 1
    Audit a MySQL Data Table - Part 2
    Audit a MySQL Data Table - Part 3

    Creating a Bar Graph with HTML and CSS using PHP - Part 2
    Reader Level: Reader Level

    Graphs in web pages and reporting applications can be put together with various PHP libraries, such as using the JpGraph library shown in JpGraph: PHP Graphs & Charts On-The-Fly by Steven Seiller, or with JavaScript libraries that are widely available. However, sometimes you have a need for a simple bar graph that does not depend on this more advanced technology; working with PHP servers that do not have libraries installed, or targeting browsers that are not JavaScript enabled.

    Bar graphs can be created quite easily using ancient HTML technology without the aid of more advanced techniques for simple bar graphs that display quickly and across all browsers. For this tutorial, I'll assume you know basic PHP and SQL -- writing queries, views, and getting the results you want.

    A bar graph can be built vertically or horizontally. The first part showed the horizontal graph. This part will show the vertical graphing process. The basic process is to create the SQL query that you want to view the result as a graph, use a slim image that can be stretched as a basis of the bar graph, and set the height of the image based on the value of your data. For example, a value of $50 might translate to 50 pixels high, and $500 might translate to 500 pixels high. Using simple formulas, we'll create the graphs.

    The Creating a Bar Graph with HTML and CSS Series:
    Creating a Bar Graph with HTML and CSS using PHP - Part 1
    Creating a Bar Graph with HTML and CSS using ColdFusion - Part 1
    Creating a Bar Graph with HTML and CSS using PHP - Part 2
    Creating a Bar Graph with HTML and CSS using ColdFusion - Part 2

    Creating a Bar Graph with HTML and CSS using PHP Part 1
    Reader Level: Reader Level

    Graphs in web pages and reporting applications can be put together with various PHP libraries, such as using the JpGraph library shown in JpGraph: PHP Graphs & Charts On-The-Fly by Steven Seiller, or with JavaScript libraries that are widely available. However, sometimes you have a need for a simple bar graph that does not depend on this more advanced technology; working with PHP servers that do not have libraries installed, or targeting browsers that are not JavaScript enabled. Bar graphs can be created quite easily using ancient HTML technology without the aid of more advanced techniques for simple bar graphs that display quickly and across all browsers. For this tutorial, I'll assume you know basic PHP and SQL -- writing queries, views, and getting the results you want.

    A bar graph can be built vertically or horizontally. I'll show a simple horizontal graph in this part. The basic process is to create the SQL query that you want to view the result as a graph, use a slim image that can be stretched as a basis of the bar graph, and set the width of the image based on the value of your data. For example, a value of $50 might translate to 50 pixels wide, and $500 might translate to 500 pixels wide. Using simple formulas, we'll create the graphs.

    The Creating a Bar Graph with HTML and CSS Series:
    Creating a Bar Graph with HTML and CSS using PHP - Part 1
    Creating a Bar Graph with HTML and CSS using ColdFusion - Part 1
    Creating a Bar Graph with HTML and CSS using PHP - Part 2
    Creating a Bar Graph with HTML and CSS using ColdFusion - Part 2

    PHP 411: The phpinfo() Report Free!
    Reader Level: Reader Level

    PHP provides a convenient function, phpinfo(), which displays information regarding the PHP installation, configuration and operating environment of your server. Details include PHP version number, installed modules, predefined variables and server environment information. The provided information is very useful for the purposes of maintaining your PHP installation, verifying installed functionality, verifying server information and for troubleshooting your scripts.

    If you are new PHP developer, this is definitely one function you'll need to integrate into your workflow to become an informed and proficient programmer.

    This tutorial will give you a brief orientation to the phpinfo() function and give you some ideas of how you can use it to your advantage.

    Send Link to a Friend for PHP - Part 2
    Reader Level: Reader Level

    This article will show how to create a simple "send link to a friend" form for a PHP web site, which is a frequently requested topic. Part 1 created the basic form and email functionality using the CMXMail email class shown in this article. The mail class is also included in the support files download for this article, but you can reference the previous article to understand the functionality better. Part 2 adds some validation to the fields using Spry, built into Dreamweaver.

    The Send Link to a Friend Series:
    Send Link to a Friend for PHP - Part 1
    Send Link to a Friend for PHP - Part 2
    Send Link to a Friend for ColdFusion - Part 1
    Send Link to a Friend for ColdFusion - Part 2

    Fancy Indexing Directory Listing with PHP
    Reader Level: Reader Level

    This script lists the contents of files and directories in the Apache Web Server. While Apache has built-in functionality to list files and directories with the FancyIndexing directive, the functionality is limited and the icons are outdated.

    This script lists the contents of any directory or sub-directory into which the script is placed for the purpose of browsing, viewing or saving files. It features contextual icons for file types and only list files and directories found within the structure of the script's directory. You can even add your own style sheet to the listings.

    It is possible to directly alter the Apache configuration to display listings with your preferred style, but you need root access to the underlying levels of the Web server and advanced knowledge of the configuration. If you have root access, you can also simply change the default icons provided with Apache which is limited in terms of file types. Since many developers do not have root access to their Web server nor wish to muck about in the configuration, this script provides an easy alternative to customizing directory listings.

    This tutorial will demonstrate how to use this directory listing script and show you the one line of code which (possibly) needs to be customized for your Web server. You will also be shown how you can customize the script to incorporate your site design, data display and how to implement the configuration on a site-wide basis. Advanced and developing PHP programmers can also explore the functionality of:

    • reading directories of files
    • reading file attributes including date, extension, and size
    • sorting arrays
    • formatting the file size to human readable display
    • working with server path and links


    Send Link to a Friend for PHP - Part 1
    Reader Level: Reader Level

    This article will show how to create a simple "send link to a friend" form for a PHP web site, which is a frequently requested topic. Part 1 will create the basic form and email functionality using the CMXMail email class shown in this article. The mail class is also included in the support files download for this article, but you can reference the previous article to understand the functionality better. Part 2 will add some validation to the fields using Spry.

    The Send Link to a Friend Series:
    Send Link to a Friend for PHP - Part 1
    Send Link to a Friend for PHP - Part 2
    Send Link to a Friend for ColdFusion - Part 1
    Send Link to a Friend for ColdFusion - Part 2

    PHP Is Losing Its Magic-Get Used to It Now Free!
    Reader Level: Reader Level

    The use of Magic Quotes in your PHP scripts has long been shown to be an insecure method of security. While this function is currently in the process of being deprecated, it will finally be removed as a PHP 6. Make your transition process easier by taking the time now to assess your reliance on the Magic Quotes directive and revise your scripts if needed.

    Cartweaver Admin Hints and Mods - Part 9: Creating a Taxes Collected Report Using PHP
    Reader Level: Reader Level

    Cartweaver is an online shopping cart system available from www.cartweaver.com for PHP, ColdFusion, and ASP. It is intended as an easy-to-use solution for building an online store. It doesn't have all the bells and whistles of some of the more pricey carts available, but with a little coding, many new features can be added.

    This is Part 9 in the series and will show how to set up a tax collected report in PHP, using the existing orders report as a starting point.

    The Cartweaver Admin Hints and Mods Series:
    Cartweaver Admin Hints and Mods - Part 1: Creating a Low Stock Warning for PHP
    Cartweaver Admin Hints and Mods - Part 2: Creating a Low Stock Warning for ColdFusion
    Cartweaver Admin Hints and Mods - Part 3: Creating an Order Report Graph for ColdFusion
    Cartweaver Admin Hints and Mods - Part 4: Creating an Order Report Graph for PHP
    Cartweaver Admin Hints and Mods - Part 5: Adding Customer Search Parameters for ColdFusion
    Cartweaver Admin Hints and Mods - Part 6 Adding Customer Search Parameters for PHP
    Cartweaver Admin Hints and Mods - Part 7: Creating and Order Report for Products Using PHP
    Cartweaver Admin Hints and Mods - Part 8: Creating an Order Report for Products Using ColdFusion
    Cartweaver Admin Hints and Mods - Part 9: Creating a Taxes Collected Report Using PHP
    Cartweaver Admin Hints and Mods - Part 10: Creating a Taxes Collected Report Using ColdFusion

    PHP Sledgehammer: array_map
    Reader Level: Reader Level

    In PHP you have an array of data that you wish to transform with a function. You might be tempted to create a control structure and loop through each value of the array, applying the function as you go. PHP has an easier method for accomplishing this process. It is the sledgehammer known as array_map. I find this function useful, for example, to trim the whitespace from incoming form data.

    Cartweaver Admin Hints and Mods - Part 7: Creating an Order Report for Products Using PHP
    Reader Level: Reader Level

    Cartweaver is an online shopping cart system available from www.cartweaver.com for PHP, ColdFusion, and ASP. It is intended as an easy-to-use solution for building an online store. It doesn't have all the bells and whistles of some of the more pricey carts available, but with a little coding, many new features can be added. This is Part 7 in the series and will show how to set up a product sales report, using the existing orders report as a starting point.

    The Cartweaver Admin Hints and Mods Series:
    Cartweaver Admin Hints and Mods - Part 1: Creating a Low Stock Warning for PHP
    Cartweaver Admin Hints and Mods - Part 2: Creating a Low Stock Warning for ColdFusion
    Cartweaver Admin Hints and Mods - Part 3: Creating an Order Report Graph for ColdFusion
    Cartweaver Admin Hints and Mods - Part 4: Creating an Order Report Graph for PHP
    Cartweaver Admin Hints and Mods - Part 5: Adding Customer Search Parameters for ColdFusion
    Cartweaver Admin Hints and Mods - Part 6 Adding Customer Search Parameters for PHP
    Cartweaver Admin Hints and Mods - Part 7: Creating and Order Report for Products Using PHP
    Cartweaver Admin Hints and Mods - Part 8: Creating an Order Report for Products Using ColdFusion
    Cartweaver Admin Hints and Mods - Part 9: Creating a Taxes Collected Report Using PHP
    Cartweaver Admin Hints and Mods - Part 10: Creating a Taxes Collected Report Using ColdFusion

    Creating a Form Confirmation Page in PHP
    Reader Level: Reader Level

    A confirmation page is the last page you reach before submitting a form -- you fill in the fields, click submit, review your information, and then submit one final time. Confirmation pages can be built in different ways. I'll show one method, using PHP, that utilizes hidden form fields to post to your final action page. I'll leave the bells and whistles to the reader (validation, CSS, etc.) and show the meat of the technique that is being used.

    Cartweaver Admin Hints and Mods - Part 6: Adding Customer Search Parameters for PHP
    Reader Level: Reader Level

    Cartweaver is an online shopping cart system available from www.cartweaver.com for PHP, ColdFusion, and ASP. It is intended as an easy-to-use solution for building an online store. With a little coding, many new features can be added. This is the sixth part in the series and will show how to modify the Customer search form in the admin for additional search fields for PHP.

    The Cartweaver Admin Hints and Mods Series:
    Cartweaver Admin Hints and Mods - Part 1: Creating a Low Stock Warning for PHP
    Cartweaver Admin Hints and Mods - Part 2: Creating a Low Stock Warning for ColdFusion
    Cartweaver Admin Hints and Mods - Part 3: Creating an Order Report Graph for ColdFusion
    Cartweaver Admin Hints and Mods - Part 4: Creating an Order Report Graph for PHP
    Cartweaver Admin Hints and Mods - Part 5: Adding Customer Search Parameters for ColdFusion
    Cartweaver Admin Hints and Mods - Part 6 Adding Customer Search Parameters for PHP
    Cartweaver Admin Hints and Mods - Part 7: Creating and Order Report for Products Using PHP
    Cartweaver Admin Hints and Mods - Part 8: Creating an Order Report for Products Using ColdFusion
    Cartweaver Admin Hints and Mods - Part 9: Creating a Taxes Collected Report Using PHP
    Cartweaver Admin Hints and Mods - Part 10: Creating a Taxes Collected Report Using ColdFusion

    File Uploads with PHP - Part 3: Type or Size Restrictions
    Reader Level: Reader Level

    To handle file uploads, use built-in PHP functionality. File uploads can be integrated in applications such as form submissions, file sharing, image uploads or FTP replacement. PHP features a superglobal array specifically for uploaded files as well as specific functions for handling uploaded files.

    Part Three of this script will demonstrate how to limit file uploads based on the size or type of file. These checks will be done with data supplied by the common gateway interface and built-in PHP functions. Also, we'll discuss important security considerations which need to be addressed when limiting file acceptance. Finally, we'll look at reporting file upload errors.

    The File Uploads with PHP Series:
    File Uploads with PHP - Part 1: Form and File Handling
    File Uploads with PHP - Part 2: Multiple Files
    File Uploads with PHP - Part 3: Type or Size Restrictions

    Cartweaver Admin Hints and Mods Part 4: Creating an Order Report Graph for PHP
    Reader Level: Reader Level

    Cartweaver is an online shopping cart system available from www.cartweaver.com for PHP, ColdFusion, and ASP. It is intended as an easy-to-use solution for building an online store. It doesn't have all the bells and whistles of some of the more pricey carts available, but with a little coding, many new features can be added.

    Part 3 showed how to create a simple order graphical report to the Cartweaver admin for ColdFusion. This part will show the same functionality for the PHP version of Cartweaver.

    Note that ColdFusion has built-in graphing capabilities, whereas PHP requires the use of a third-party library. This article uses the JpGraph library for PHP, described in this article by Steven Seiller: JpGraph: PHP Graphs & Charts On-The-Fly. Steven's article explains the graphing process. This article will focus on building the report query. The library is readily available and easily installed locally. It requires the GD Image library to be installed into your PHP installation, compiled on a Linux host or included in your extensions directory in Windows. See Steven's article for more information.

    The Cartweaver Admin Hints and Mods Series:
    Cartweaver Admin Hints and Mods - Part 1: Creating a Low Stock Warning for PHP
    Cartweaver Admin Hints and Mods - Part 2: Creating a Low Stock Warning for ColdFusion
    Cartweaver Admin Hints and Mods - Part 3: Creating an Order Report Graph for ColdFusion
    Cartweaver Admin Hints and Mods - Part 4: Creating an Order Report Graph for PHP
    Cartweaver Admin Hints and Mods - Part 5: Adding Customer Search Parameters for ColdFusion
    Cartweaver Admin Hints and Mods - Part 6 Adding Customer Search Parameters for PHP
    Cartweaver Admin Hints and Mods - Part 7: Creating and Order Report for Products Using PHP
    Cartweaver Admin Hints and Mods - Part 8: Creating an Order Report for Products Using ColdFusion
    Cartweaver Admin Hints and Mods - Part 9: Creating a Taxes Collected Report Using PHP
    Cartweaver Admin Hints and Mods - Part 10: Creating a Taxes Collected Report Using ColdFusion

    File Uploads with PHP - Part 2: Multiple Files
    Reader Level: Reader Level

    In Part 1, we explored a script which provided you the basic functionality of handling an uploaded file by storing it on the server. The form demonstrated the enctype attribute as well as the file input. The script used built-in PHP functions for handling the uploaded file and moving it on the server. For convenience, we also changed the file permissions to ensure user can access it on the server.

    In Part 2, we will explore the ability to process multiple file uploads to give you greater control over what users may upload.

    The File Uploads with PHP Series:
    File Uploads with PHP - Part 1: Form and File Handling
    File Uploads with PHP - Part 2: Multiple Files
    File Uploads with PHP - Part 3: Type or Size Restrictions

    Cartweaver Admin Hints and Mods Part 1: Creating a Low Stock Warning for PHP Free!
    Reader Level: Reader Level

    Cartweaver is an online shopping cart system available from www.cartweaver.com for PHP, ColdFusion, and ASP. It is intended as an easy-to-use solution for building an online store. It doesn't have all the bells and whistles of some of the more pricey carts available, but with a little coding, many new features can be added.

    In Part 1 of this series, we will show how to add a low-stock warning to the Cartweaver admin.

    The Cartweaver Admin Hints and Mods Series:
    Cartweaver Admin Hints and Mods - Part 1: Creating a Low Stock Warning for PHP
    Cartweaver Admin Hints and Mods - Part 2: Creating a Low Stock Warning for ColdFusion
    Cartweaver Admin Hints and Mods - Part 3: Creating an Order Report Graph for ColdFusion
    Cartweaver Admin Hints and Mods - Part 4: Creating an Order Report Graph for PHP
    Cartweaver Admin Hints and Mods - Part 5: Adding Customer Search Parameters for ColdFusion
    Cartweaver Admin Hints and Mods - Part 6 Adding Customer Search Parameters for PHP
    Cartweaver Admin Hints and Mods - Part 7: Creating and Order Report for Products Using PHP
    Cartweaver Admin Hints and Mods - Part 8: Creating an Order Report for Products Using ColdFusion
    Cartweaver Admin Hints and Mods - Part 9: Creating a Taxes Collected Report Using PHP
    Cartweaver Admin Hints and Mods - Part 10: Creating a Taxes Collected Report Using ColdFusion

    Sending Email from PHP in Windows
    Reader Level: Reader Level

    One of the most commonly used features of PHP is the mail function (or some class built around it). This handy command allows you to send emails from within your PHP code, providing a wide variety of handy features ranging from client notifications to administrative reminders. However, if you're working on a Windows-based testing server you'll often find that that mail functionality simply doesn't work!

    In this article we're going to look at why this is and two easy ways to help remedy the problem.

    Select Random Content with PHP and MySQL
    Reader Level: Reader Level

    You want to provide random content from your database to visitors of your web page. This might include random news, products, events or testimonials. How do you select random content from your MySQL database? During the visitor's time on your web page, you wish to not repeat the display of the same content. How do you not repeat the same random content?

    In this tutorial, we will use PHP and MySQL to randomly pick and display content to the visitor. For extra credit, we will track the content the user has already been shown and not repeat it. We will also look at a way to further customize the chosen content.

    Creating an Alphabetical Directory Listing with PHP and MySQL Free!
    Reader Level: Reader Level

    You want to create an alphabetic listing of database records by grouping them by their first letter. As a convenience, you want to provide a menu of alphabet letters with hyperlinks to take you directly to the records for that letter. How do you create an alphabetic listing of database records without performing 26 queries - one for each letter?

    I've reduced the process to just one query which first selects the first letter represented by the records and then grabs the data itself. I created arrays for each letter to store data until it is displayed. The script uses a few advanced PHP bits to keep the code concise including:
    • MySQL substring() function
    • range() function
    • array_key_exists() function
    • ternary operator
    • variable variables


    Easy Dates With PHP DateTime Class
    Reader Level: Reader Level

    PHP version 5.2.0 expanded its date handling capabilities with a new class and procedural methods. With pre-defined formats, outputting dates requires less arcane formatting knowledge. The new DateTime Class adds to PHP's object-oriented collection of functionality, although not fully implemented. This article will introduce you to these new features which should give you more direct approaches to formatting and outputting dates and times. The attached demonstration file shows all of the formats in action.

    Heredoc and Nowdoc: PHP Strings of Convenience
    Reader Level: Reader Level

    In PHP, strings are created in one of two fashions: exactly as stated or by including the value of variables which have been placed in the string. PHP offers to syntax methods for creating longer strings: heredoc and nowdoc. This article will demonstrate the syntax for these methods and provides some examples for their use.

    Creating a Formatted Unique ID in PHP
    Reader Level: Reader Level

    There are often times that you need a unique id in an application, but don't want to use an auto-incrementing integer. If an application is well designed and secure, an auto-incrementing number is usually fine, but to be on the safe side a unique identifier other than an integer is better as an id. For example, a customer number is a good use of a unique identifier, or an order number.

    Build Your Own Contact Forms - Part 4: Spam Prevention
    Reader Level: Reader Level

    Preventing form spam can be a fairly simple process with thoughtful programming and error trapping. Most developers use CAPTCHA, those little images with distorted letters which you have to decipher and enter. Other tests might include simple math problems and questions with obvious answers. Personally, I detest those vision tests and feel it is a certain way to turn away potential customers. They are getting so distorted these days, they are almost impossible to decipher. Recently, It took me three attempts to get through one of those!

    Here are some effective spam blocking techniques which don't involve vision tests.

    The Build Your Own Contact Form Series:
    Build Your Own Contact Forms - Part 1: Workflow
    Build Your Own Contact Forms - Part 2: The HTML Form
    Build Your Own Contact Forms - Part 3: The PHP Processing Script
    Build Your Own Contact Forms - Part 4: Spam Prevention

    Build Your Own Contact Forms - Part 3: The PHP Processing Script
    Reader Level: Reader Level

    In Part 1, we discussed the purpose of utilizing contact forms and their general workflow. In Part 2, we created the HTML form which is used by the site visitor to enter specific, required information with their request. In this part, we will use PHP to construct a server-side processing script to handle the incoming data, validate it and send email to the submitter.

    We'll be using a PHP class to ensure that specific fields have been submitted and to ensure that any email address submitted has valid syntax. To send the email, the PHPMailer class will be employed to make process quick and easy. This class increases form security over the easily exploitable PHP mail function. In our sample script, we'll email the submitted data to a specified recipient and send an email confirmation to the submitter from the specified recipient.

    The Build Your Own Contact Form Series:
    Build Your Own Contact Forms - Part 1: Workflow
    Build Your Own Contact Forms - Part 2: The HTML Form
    Build Your Own Contact Forms - Part 3: The PHP Processing Script
    Build Your Own Contact Forms - Part 4: Spam Prevention

    Blank Pages in PHP Free!
    Reader Level: Reader Level

    If you are a PHP developer, you are likely familiar with the blank page -- an error page with no error message. PHP has some default settings that prevent any error messages from appearing when you install PHP and do not adjust the error display settings. This article will show how to show your error messages.

    Build Your Own Contact Forms - Part 2: The HTML Form
    Reader Level: Reader Level

    No contact form can be successful without a functional form. Your HTML form needs to be coordinated with the purpose of the contact, your data requirements and needed information. Clearly provide directions for completion of form fields and mark required information. Provide examples of how specific information needs to be formatted, if required. Avoid passing sensitive information via hidden form fields. Create customized forms on the fly with server-side scripting. Add a bit of style to enhance usability.

    The Build Your Own Contact Form Series:
    Build Your Own Contact Forms - Part 1: Workflow
    Build Your Own Contact Forms - Part 2: The HTML Form
    Build Your Own Contact Forms - Part 3: The PHP Processing Script
    Build Your Own Contact Forms - Part 4: Spam Prevention

    Creating MySQL Logins for a Web Site
    Reader Level: Reader Level

    MySQL is a popular database to use for your web site, allowing the power of a server-based database management system to be used for free. With the added power comes added danger—MySQL is frequently targeted by hackers. My article on preventing SQL injection attacks mentioned database login security briefly.

    In this article, I will expand on how to actually create users for your web site, which is vital knowledge when you are acting as a database administrator. If you have a PHP site using MySQL and you don't have a database administrator—you are it.

    Build Your Own Contact Forms - Part 1: Workflow Free!
    Reader Level: Reader Level

    This tutorial will describe the functions of web site contact forms and how to create its processing script. We'll cover the creation of the HTML form and use PHP to create the processing script which handles the submitted data and sends the email. Along the way, we'll review best practices in data validation, storage, spam prevention and security.

    At the end of this series, you should understand all the aspects of the contact form workflow and be able to create your own PHP processing script. By knowing the process, you will be able to build your own PHP contact form customized to your specific needs. Should you decide to implement a commercial or open-source contact form, you will be able to readily manage the process.

    The Build Your Own Contact Form Series:
    Build Your Own Contact Forms - Part 1: Workflow
    Build Your Own Contact Forms - Part 2: The HTML Form
    Build Your Own Contact Forms - Part 3: The PHP Processing Script
    Build Your Own Contact Forms - Part 4: Spam Prevention

    Dynamically Streaming a File in PHP
    Reader Level: Reader Level

    There are many ways to create a file download from a web site, however, sometimes it is necessary to hide the physical path of the file. In PHP it is possible to dynamically stream the file to the end user, eliminating the chance that a user can download the file directly. This is often a requirement of an e-store that sells downloadable content, such as PDFs of books, music downloads, or software. This article will show one simple way to accomplish this.

    Creating CSV Files from Recordsets in PHP - Part 2
    Reader Level: Reader Level

    Downloading comma-separated value (CSV) results is a common task in web development. If you have an e-store, for example, you may want to download orders, products, or customers. There are hundreds of other uses—search results, school lists, movie titles, book lists, tables of contents, access reports, web stats, etc.

    Part 1 of this series showed a basic CSVFile class with the ability to create a CSV file download from any recordset. This part will show how to make a few tweaks in the class to allow Excel file downloads. The class is already built—all you do is call it. The class does not create a file on the server—it simply streams the content to the user as a file, not cluttering up your server or creating files that then have to be deleted. The article builds on the files used in the last part and simply makes a few changes to them.

    The CSV Files in PHP Series:
    Downloading PHP Recordsets as CSV Files - Part 1
    Creating CSV Files from Recordsets in PHP - Part 2

    Downloading PHP Recordsets as CSV Files - Part 1
    Reader Level: Reader Level

    Downloading comma-separated value (CSV) results is a common task in web development. If you have an e-store, for example, you may want to download orders, products, or customers. There are hundreds of other uses—search results, school lists, movie titles, book lists, tables of contents, access reports, web stats, etc.

    PHP 5.1 has a new function called fputcsv to write a line to a file, but this article will show a technique that will work in older versions of PHP, and is generally very easy to use using a PHP class I wrote a while back. The class is already built—all you do is call it. The class does not create a file on the server—it simply streams the content to the user as a file, not cluttering up your server or creating files that have to then be deleted. I've found over the years that dealing with files on a PHP server has created the worst nightmares for beginning PHP developers. Setting and maintaining the correct file and folder permissions are somewhat of a black art.

    The CSV Files in PHP Series:
    Downloading PHP Recordsets as CSV Files - Part 1
    Creating CSV Files from Recordsets in PHP - Part 2

    Code Igniter Introduction Free!
    Reader Level: Reader Level

    Code Igniter, a PHP framework that cooks, cleans and does the dishes. Even comes with a kitchen sink! Code Igniter will spoil you with flexibility, usability and functionality—and then you'll see the manual and never again be satisfied with other product's "documentation"...

    From Create a Site to Connecting to a Database
    Reader Level: Reader Level

    If a picture is worth a thousand words - then a video should be worth millions (if, of course, you account for the 15 frames per second)! In my first video tutorial for Community MX, I am going to show how to set up a new Dreamweaver site using the basic site set up, set up a database on a Linux based server utilizing CPanel and then how to connect to the database.

    Approximate download size: 26MB

    Using Quotes in PHP
    Reader Level: Reader Level

    One of the confusing things for beginning PHP developers is how to use single and double quotes. Unlike some other languages, like ColdFusion, single and double quotes in PHP are treated differently. This article will show how to use quotes in different situations in PHP.

    A Simple Error Handling Function for PHP
    Reader Level: Reader Level

    Error handling is an important aspect of site development, but using PHP there aren't too many clearly defined ways to handle errors. I will present a simple function that handles errors in several ways: records the error in a log, emails the site administrator a copy of the error, and redirects the user to a central error page. Using one or more of these three methods, you can handle errors more gracefully in your PHP pages.

    Creating a Master/Detail Pageset on One Page Using AJAX
    Reader Level: Reader Level

    Dreamweaver's Master/Detail page set is a handy set of behaviors to use for a drill-down functionality -- display a list of records, and click on a link in the list to view the full record. Using the behaviors, however, you typically create two pages. If you create one page with both, the page will refresh each time you click on a link.

    In this tutorial, I'll show how to create one master/detail page that uses some very simple JavaScript to load the details section of the page dynamically using AJAX. This tutorial will apply to PHP, ColdFusion, and ASP, with the concepts applicable to the other available server models that Dreamweaver now supports.

    Create a Table-less Horizontal Looper in PHP
    Reader Level: Reader Level

    Dreamweaver has a Repeat Region server behavior that loops through your data and allows you to display it in a vertical or horizontal manner. If you want to display the data in a grid pattern, however, it requires a little more effort. Typically, a Horizontal Looper extension or code is used to create a table and put your individual data sections in a table cell. In this tutorial, I'll show how to do that using <div> tags and CSS without tables.

    For this tutorial I'll assume you know how to use MySQL tools to create and manage databases, and how to create connections for PHP in Dreamweaver.

    Anti-Spam Measures for PHP and ColdFusion - Part 2
    Reader Level: Reader Level

    Spam, spam, spam, spam. Spammers have taken over the Internet and made it a horrible place to maintain a web site. Spammers have gone beyond simply spamming your email account -- now they are spamming blogs and guestbooks, spamming trackbacks, and spamming signup forms. Even a child's home page with a guestbook for friends is not safe from links for cialis, porn, or web hosting. Obviously these spammers are getting some return from their criminal activity, because they keep doing it. Unfortunately, you can't reach through the computer screen and grab them by the throat to strangle the life out of them. All you can do is put in place some safeguards and try to minimize the attack. Part 2 in this series shows how you can record the IP address of the spammer and block access to your site to that computer in the future. Once again, I'll assume you have familiarity with PHP or ColdFusion basics (databases, inserting and displaying data) and HTML forms.

    The Anti-Spam Measures for PHP and ColdFusion Series:
    Anti-Spam Measures for PHP and ColdFusion - Part 1
    Anti-Spam Measures for PHP and ColdFusion - Part 2

    Anti-Spam Measures for PHP and ColdFusion - Part 1
    Reader Level: Reader Level

    Spam, spam, spam, spam. Spammers have taken over the Internet and made it a horrible place to maintain a web site. Spammers have gone beyond simply spamming your email account -- now they are spamming blogs and guestbooks, spamming trackbacks, and spamming signup forms. Even a child's home page with a guestbook for friends is not safe from links for cialis, porn, or web hosting. Obviously these spammers are getting some return from their criminal activity, because they keep doing it. Unfortunately, you can't reach through the computer screen and grab them by the throat to strangle the life out of them. All you can do is put in place some safeguards and try to minimize the attack.

    The Anti-Spam Measures for PHP and ColdFusion Series:
    Anti-Spam Measures for PHP and ColdFusion - Part 1
    Anti-Spam Measures for PHP and ColdFusion - Part 2

    Multiple Insert/Update in PHP - Part 2
    Reader Level: Reader Level

    Dreamweaver has some built-in tools for doing database inserts and updates, but they only handle basic inserts/updates of one record. What if you want to insert multiple records at a time, or update multiple records? Dreamweaver is no help in this case, but using PHP the process is simple. The first part of this tutorial showed two often-used methods for doing multiple inserts. Part 2 will show how to do a multiple update using these two techniques.

    The Multiple Insert/Update in PHP Series:
    Multiple Insert/Update in PHP - Part 1
    Multiple Insert/Update in PHP - Part 2

    Multiple Insert/Update in PHP - Part 1
    Reader Level: Reader Level

    Dreamweaver has some built-in tools for doing database inserts and updates, but they only handle basic inserts/updates of one record. What if you want to insert multiple records at a time, or update multiple records? Dreamweaver is no help in this case, but using PHP the process is simple.

    This tutorial will show two often-used methods for doing multiple inserts and multiple update. The files testinsert.php and testinsert2.php are included in the download package showing the final code for both methods. Part 1 of this series will show how to do inserts and Part 2 will show how to do a multiple update using these two techniques.

    The Multiple Insert/Update in PHP Series:
    Multiple Insert/Update in PHP - Part 1
    Multiple Insert/Update in PHP - Part 2

    Learning PHP - Part 5: An Introduction to Object-Oriented Programming
    Reader Level: Reader Level

    This article provides an introduction to object-oriented programming (OOP) in PHP 5, as well as a brief overview of the new object-oriented (OO) features introduced since PHP 4. You'll learn how to define classes, instantiate objects and pass object references, and also how to use PHP 5's new clone operator. Additional OO techniques and topics, including inheritance, will be covered in a follow-up article.

    The Learning PHP Series:
    Learning PHP - Part 1: A Gentle Introduction
    Learning PHP - Part 2: All About Arrays
    Learning PHP - Part 3: Basic Content Management
    Learning PHP - Part 4: Focus on Functions
    Learning PHP - Part 5: An Introduction to Object-Oriented Programming

    Using JumpStarts with Cartweaver, Featuring Minneapolis Free!
    Reader Level: Reader Level

    JumpStarts are great starting points for dynamic sites, and the Minneapolis JumpStart is a great starting point for a dynamic e-commerce site. Shopping carts like Cartweaver integrate well with Dreamweaver, but how do you integrate a third-party cart with a JumpStart? This tutorial, written by a member of the Cartweaver team and Community MX, shows one way of integrating the two.

    Getting Started with Eclipse - Part 2 Free!
    Reader Level: Reader Level

    In the second article of this series, you'll learn how to install Eclipse plug-ins for ColdFusion, PHP, and ActionScript.

    The Getting Started with Eclipse Series:
    Getting Started with Eclipse - Part 1
    Getting Started with Eclipse - Part 2
    Getting Started with Eclipse - Part 3

    WordPress 2.0: Wonderful As Ever Free!
    Reader Level: Reader Level

    WordPress has always been both powerful and empowering, and the new 2.0 ("Duke") release is no exception. This review discusses the new features in the latest edition of WordPress, and offers tips on installation and/or upgrading.

    Running PHP under ASP.NET?? Free!
    Reader Level: Reader Level

    I won't lie, I am a Microsoft lover. Their technology has been paying my salary for just about my entire career, and C# totally rocks in my quite humble opinion. But that being said, any programmer worth their salt knows that a specific technology is nothing more than a tool. If a given situation could be solved more efficiently with the use of non-Microsoft technology, then its your responsibility to investigate and (potentially) use said technology.

    This article is going to review a nifty little project called Phalanger. Installing this on your ASP.NET web server allows you to deploy PHP code, even full applications like phpBB. Behind the scenes, the PHP code will be compiled to .NET code and run as an ASP.NET application.

    The best thing about it is that you can, from PHP script, access .NET code (in your language of choice), and vice-versa. So if you have a nifty function written in PHP, you can use it in your .NET application. The Developers tout impressive performance improvements over the native PHP environement so this makes Phalanger an attractive target for your application platform.

    Captcha the Bastards: Part 2
    Reader Level: Reader Level

    Captcha PHP is an excellent captcha implementation that will help you get rid of scuzzy comment spammers. This article shows you how to set up a captcha on your local development box, and on your remote server.

    The Captcha Series:
    Captcha the Bastards: Part 1
    Captcha the Bastards: Part 2

    Creating a Simple Blog: Part 6
    Reader Level: Reader Level

    There have been five parts in the series on creating a simple blog. The first five parts focused on creating basic functionality to get a basic blog up and running using simple Dreamweaver design tools. This part will show how to incorporate the functionality into a more complex design — specifically, the latest CMX Jumpstart — Inverness. This tutorial will be equally applicable to ColdFusion, ASP, PHP, ASP.NET, or JSP because we will be using standard Dreamweaver server behaviors to create the blog. In the course of merging the dynamic blog into the design, you'll learn the following about merging content with design in general — how to find repeating items and make them dynamic, how to separate parts of an existing design into a module.

    Captcha the Bastards: Part 1 Free!
    Reader Level: Reader Level

    Plagued by comment spammers? Captcha the bastards - a well-designed captcha implementation is your best weapon in the battle against comment and link spam. Part 1 of this article provides an overview of Captcha and introduces you to Captcha PHP, an excellent solution. Part 2 will provide all the setup details.

    The Captcha Series:
    Captcha the Bastards: Part 1
    Captcha the Bastards: Part 2

    PHP Image Series: Part 9 - Building a Photograph Gallery Application (Continued)
    Reader Level: Reader Level

    In Part 9 we'll build some new functionality into the PHP Photograph Gallery application. Specifically, we'll use PHP to dynamically draw frames around thumbnail images, and we'll add a watermark to the one-up view images.

    The PHP Image Series:
    PHP Image Series: Part 1 - Basic Drawing
    PHP Image Series: Part 2 - Fills
    PHP Image Series: Part 3 - Gradients
    PHP Image Series: Part 4 - Text
    PHP Image Series: Part 5 - Bitmapped Images, Compositing, and Watermarks
    PHP Image Series: Part 6 - Building a Photographic Album
    PHP Image Series: Part 7 - Building a Photographic Album (Continued)
    PHP Image Series: Part 8 - Building a Photographic Album (Continued)
    PHP Image Series: Part 9 - Building a Photograph Gallery Application (Continued)

    Learning PHP - Part 4: Focus On Functions
    Reader Level: Reader Level

    In this installment of the Learning PHP series, the focus is on using functions to enhance the accuracy and efficiency of your code.

    The Learning PHP Series:
    Learning PHP - Part 1: A Gentle Introduction
    Learning PHP - Part 2: All About Arrays
    Learning PHP - Part 3: Basic Content Management
    Learning PHP - Part 4: Focus on Functions

    CMX JumpStart: Vienna
    Reader Level: Reader Level

    Last summer we took a trip to Germany and Austria with our son's orchestra director. My favorite city was Vienna, Austria. So it is only natural that I should choose Vienna for my city as I "change hats" from JumpStarts marketer to JumpStarts creator. I am particularly pleased and excited to offer our latest CMX JumpStart: Vienna.

    In addition to the use of valid XHTML 1.0 and CSS 2.1, and in addition to validating for 508 and WAI, we have a number of special features in Vienna. This three column layout has two outer columns with fixed widths, a fluid center column for content, and fluid header and footer. There are also unordered lists for navigation: one for the main navigation, one for the sub navigation, and one for the footer navigation. We have also added a search field into an area that is at the top of the page outside the main centered layout. So far, reasonably cool, right?

    But hold on. We have something far more exciting to reveal with this JumpStart. We will introduce a new and revolutionary technique called Jello Mold that has an implied minimum and maximum width that works in Internet Explorer without the use of Javascript! Furthermore, this technique allows for fluid margins on the fluid centered layout that depend on the size of the user's window.

    The download folder for this article includes a bundle of 11 articles (including two about Jello Mold technique), a starter page, an images folder, four style sheets (including design-time and print), a source png, the Vienna extension, an installation and usage guide, and this article as a PDF.

    PHP Image Series: Part 5 - Bitmapped Images, Compositing, and Watermarks
    Reader Level: Reader Level

    In Part 5 of the series learn how to use bitmapped images such as JPEG and PNG, and how to composite images to apply things such as watermarks. You'll even build a simple application in which the user can upload an image, scale the image, and apply a watermark.

    The PHP Image Series:
    PHP Image Series: Part 1 - Basic Drawing
    PHP Image Series: Part 2 - Fills
    PHP Image Series: Part 3 - Gradients
    PHP Image Series: Part 4 - Text
    PHP Image Series: Part 5 - Bitmapped Images, Compositing, and Watermarks
    PHP Image Series: Part 6 - Building a Photographic Album
    PHP Image Series: Part 7 - Building a Photographic Album (Continued)
    PHP Image Series: Part 8 - Building a Photographic Album (Continued)
    PHP Image Series: Part 9 - Building a Photograph Gallery Application (Continued)

    Creating a Simple Blog - Part 5
    Reader Level: Reader Level

    One of the frequent questions in the forums is "How do I create a blog?". There are many commercial blog systems out there, and many full-featured blog providers, like Blogger, but you can also create a simple blog using the standard tools of Dreamweaver. This tutorial will be equally applicable to ColdFusion, ASP, PHP, ASP.NET, or JSP because we will be using standard Dreamweaver server behaviors to create the blog. This fifth part of the series will describe how to add a design to the blog, including a sidebar with category, blogroll, and RSS modules.




    PHP Site Simplification with Application.php
    Reader Level: Reader Level

    PHP and ColdFusion have many things in common, but they also have many differences. One of the nice features of ColdFusion that I wish I had in PHP is the Application.cfm. In the Application.cfm file, you can include things that need to be on every page, such as variables that contain connection information, often-used functions, login functionality, class instantiation, session starting, and form field cleaning, among other things. In ColdFusion, the Application.php file is automatically executed before any code on your page. To mimic this functionality in PHP, I like to create an Application.php file that I include on all my PHP pages. This article will show how an Application.php file can be used to simplify some aspects of your PHP application.


    PHP Zip
    Reader Level: Reader Level

    Learn how to read ZIP archives using PHP. In this article you'll learn the basics of reading data from ZIP archives, and how to extract the files, and recreate the directory structure.

    Announcing CMX JumpStart: Liverpool Free!
    Reader Level: Reader Level

    It was the early sixties, and all the world was in a frenzy over a new group from Liverpool, England called The Beatles. They revolutionized rock 'n' roll music, and the world has never been the same. Maybe the Web Standards movement doesn't stir quite that much excitement, but it is changing the Web world all the same. And because we "love you, yeah, yeah, yeah" we're here to help you join the revolution.

    Community MX is pleased to announce the release of its fifth CMX JumpStart: Liverpool. This time we're giving you more than a CSS layout, however. We're also giving you a dynamic ColdFusion login application built with Dreamweaver's User Authentication server behaviors that will allow you to quickly and easily edit the login.

    This article will tell you all about what this fantastic package includes--bundled tutorials, an authentication system, a two-column, fixed width layout (with a little bit of a twist), original PNG files, and more.

    Access Level and Login For PHP
    Reader Level: Reader Level

    Dreamweaver has many tools to help simplify page creation. Beginning with Dreamweaver MX 2004, Dreamweaver contains Server Behaviors for password protecting PHP pages in your site. This tutorial will show how to password protect your pages using a username, password, and access level defined in a MySQL database.

    On the Fly: Generating PDFs From PHP
    Reader Level: Reader Level

    There are a number of ways you can create PDF files from PHP, and this introductory article will examine several. We'll show you how to enable PHP PDF generation on local and remote servers, and how to generate text, draw shapes, include images and build tables. A follow-up article will outline the process dynamic PDF generation using templates.

    Using Flash Remoting with PHP: AMFPHP
    Reader Level: Reader Level

    Flash Remoting is the way to build Flash applications that interact with a business tier on the server. It is fast, efficient, and scalable. In this article learn how to use the free AMFPHP Flash Remoting gateway in order to get started building more sophisticated applications.

    BBEdit: The Basics and Beyond - Part 2
    Reader Level: Reader Level

    In Part 1 of this article, we toured BBEdit's basic setup and core capabilities and learned why it's widely regarded as a great HTML editor. Part 2 takes BBEdit to the next level, showing you how to leverage its extensibility with AppleScript to create a lean, mean PHP-coding machine, and a perfect partner for Dreamweaver on the Mac.

    CMX Download Repeat Region Extension
    Reader Level: Reader Level

    This extension allows a user to create a downloadable CSV (comma-separated values) or other type of text file that contains the contents of a standard Dreamweaver Repeat Region server behavior (such as a server-side recordset). The extension can also be applied to any server-side content that you want to make downloadable in the browser. This is very useful for creating downloadable files of a results display, such as a product list, a sales report, or a search result.

    Creating a Simple Blog Part 4
    Reader Level: Reader Level

    One of the frequent questions in the forums is "How do I create a blog?". There are many commercial blog systems out there, and many full-featured blog providers, like Blogger, but you can also create a simple blog using the standard tools of Dreamweaver. This tutorial will be equally applicable to ColdFusion, ASP, PHP, ASP.NET, or JSP because we will be using standard Dreamweaver server behaviors to create the blog. This fourth part of the series will describe how to add categories to the blog by modifying the pages you've already created and also how to display the number of comments on each item.

    Creating a Simple Blog Part 3
    Reader Level: Reader Level

    One of the frequent questions in the forums is "How do I create a blog?". There are many commercial blog systems out there, and many full-featured blog providers, like Blogger, but you can also create a simple blog using the standard tools of Dreamweaver. This tutorial will be equally applicable to ColdFusion, ASP, PHP, ASP.NET, or JSP because we will be using standard Dreamweaver server behaviors to create the blog. Part 3 will focus on adding more features to the blog, such as an RSS feed, individual blog item pages, and how to automatically insert dates.

    Creating a Simple Blog Part 2
    Reader Level: Reader Level

    One of the frequent questions in the forums is "How do I create a blog?". There are many commercial blog systems out there, and many full-featured blog providers, like Blogger, but you can also create a simple blog using the standard tools of Dreamweaver. This tutorial will be equally applicable to ColdFusion, ASP, PHP, ASP.NET, or JSP because we will be using standard Dreamweaver server behaviors to create the blog. Part 1 of the tutorial can be found at http://www.communitymx.com/abstract.cfm?cid=7CC52. Part 2 will focus on adding more features to the blog, such as a system for adding and viewing comments, and more administration options.

    Installing Apache/ MySQL/PHP on Windows - Part 2
    Reader Level: Reader Level

    In Part 1 of this tutorial, we installed Apache, MySQL, and PHP on Windows. In Part 2, we secure MySQL by setting default passwords and configure Apache to run as a service.

    Installing Apache/ MySQL/PHP on Windows - Part 1 Free!
    Reader Level: Reader Level

    Have you been thinking about learning PHP or MySQL? Perhaps you've been curious about AMFPHP, the open-source Flash Remoting solution for PHP. In this tutorial, you'll learn an easy way to install Apache, MySQL, and PHP on the Windows platform.

    Dynamic Letter Anchors extension
    Reader Level: Reader Level

    Frequently on a dynamic page that displays a long list of content, such as a list of names, you want to allow a user to jump down to a specific letter of the alphabet. On a static list, this is easy -- just insert anchor links at key places on your page where the first letter of a word changes. On a dynamic page, it is not as easy. Using this extension, you can create a list of links for your data AND create the dynamic anchors to go along with them.