Newsletter Management Using PHP w/o mySQL for Beginners

Let's begin by setting some limits. If you're like me, you like to keep it simple. All we're doing is collecting email addresses together for our mailing list, so biochemical engineering is out the window. If you're using Thunderbird (or that MS product), you can send nicely formatted newsletters out and retain all of the other awesome features of your email program so there's really no need for databases, logins, or pretty much anything else. We're going to stay far away from anything non-essential.

To keep it simple, I'll assume you have Dreamweaver or a comparable WYSIWYG composer; however, if you are editing source code you can click here to see an expanded version of this article with source code. Also, I've assumed that you have an extremely basic familiarity with PHP. If not, please begin by reading this PHP introduction (for absolute beginners).

There are only 3 steps we're going to need:

  • Put HTML on the page to collect the user's name and email address.
  • Add in a little PHP and (possibly) change a filename.
  • Receive and process the emails.
  • Marching on, we need to put some HTML on our page to let the visitor enter in their name and email address. To do this using Dreamweaver, you'll need to create a form with the POST method, a text input named visitor_name, a text input named visitor_email, and a submit button.

    We now have our excellent mailing list form up and you should check to make sure that it ended up where you planned. At this point, you may need to make another slight change. If the file's extension is not php, php3, php4, or phtml you should change the file's extension to php. Now, you will need to be careful here as file extensions are extremely important, so you may lose functionality when you change the file's extension. If this is the case, look up the extension and find a tutorial for the language.

    Take a breather and get ready for step 2. Since this is a PHP tutorial, we're going to take a closer look at the PHP code used to send us the email. Being a language, we'll need to learn enough of the PHP vernacular to 1) use the information the user submitted, 2) create the body of the email, and 3) send the email.

    The form we created sends 2 pieces of information: visitor_name and visitor_email. When PHP receives them it realizes that someone POSTed some information and to make it easy for you to get ahold of it creates a couple of special "things" you can use to refer to what the user entered: $_POST['visitor_name'] and $_POST['visitor_email']. Why does it call them by funny names? Well the $_POST part assures you that it was information that was submitted by your visitor and not some other PHP somewhere on your page. The part in quotes allows you to pick which piece of information was submitted by your visitor (don't stress on the brackets - they just separate the two pieces of information).

    Great! We now have our visitor's information, so let's send it to ourselves. Sending email in PHP almost seems too easy. We just need to modify this line mail(TO, SUBJECT, MESSAGE); by replacing each of the bold capitalized words and adding this inside of PHP tags to our page. Replace TO with your email address in quotes. Replace SUBJECT with the subject you want to appear on the email inside of quotes. In an effort to keep it simple, replace MESSAGE with "{$_POST['visitor_name']} at {$_POST['visitor_email']} would like to subscribe to your mailing list." By now, the MESSAGE replacement is probably self-explanatory except for the curly braces. The curly braces just reassure PHP that the information inside of them really does refer to something it should already know (in this case what our visitor submitted).

    Now we just need to include our modified line in the HTML page. Here's the whole modified line (don't forget the PHP tags!):

    mail("MY EMAIL ADDRESS","Newsletter Subscription","{$_POST['visitor_name']} at {$_POST['visitor_email']} would like to subscribe to your mailing list.");

    If you're a really observant reader, you're already wondering how PHP knows to wait until someone's submitted a subscription request. Well, in the example above, it doesn't. It's also missing some kind of message to inform your subscriber that their request was successful. Since this is introductory material and already lengthy, I'll save that explanation for another article. Just follow everything you've learned above and use this line of code instead (I've bolded my special addition), substituting the success message for one of your own:

    if (isset($_POST['visitor_email'])) { mail("MY EMAIL ADDRESS","Newsletter Subscription","{$_POST['visitor_name']} at {$_POST['visitor_email']} would like to subscribe to your mailing list."); echo "Subscription Complete. Thank you!"; }

    Er, that's all folks! You'll start receiving emails which you can then add to a mail list in Thunderbird. To manage unsubscription requests, just have a little note at the end of your mailing list saying to reply to the email to be removed and then edit your mailing list.

    Jeremy Miller - Webmaster of Script Reference - The *NEW* PHP Reference & Tutorial Site For Non-Programmers

    In The News:


    pen paper and inkwell


    cat break through


    Making Your Website Shine! Attract and Keep Visitors at Your Site!

    When you consider the billions of individuals and companies on... Read More

    Why A Simple Counter is Never Enough for Your Website

    A simple website stats counter is not enough if you... Read More

    How to Make Your Own Website For Free

    If you like the Internet and surfing through the billions... Read More

    Selling Your Site: Outsource or Homemade?

    To the starting internet entrepreneur, there is nothing more discouraging... Read More

    From Search to Sale

    The Internet car buyer is an elusive animal. Trying to... Read More

    Dreamweaver 8 Preview

    August 8 2005, Macromedia announced a release of Studio 8.... Read More

    What Hosting Companies Dont Tell You, Could Hurt You?

    Did you know that hosting companies overcrowd their servers despite... Read More

    Instant Relevant Web Site Content - No Its Not a Bot

    In about the Time it takes to Watch a Reality... Read More

    Do You Really Need A Website To Succeed

    Rosalind wants to share her inspirational poetry with a wider... Read More

    Live Support from Your Website? Can You Do It for Free?

    I'm a freelance programmer and somehow I managed to get... Read More

    MySQL Database Handling in PHP

    Most interactive websites nowadays require data to be presented dynamically... Read More

    Art, Artists and the Web: Part 4--What to Do After a Website is Designed

    What to do if you are an artist after you... Read More

    Running An Effective Website

    Running an effective website is a continuous process. I have... Read More

    The Number 1 Reason Most Websites Fail

    Failure, just like success, is measured differently by each and... Read More

    My Yahoo Search - Beyond Bookmarks

    Yahoo has long offered email, an online calendar, notes, bookmarks,... Read More

    WYSIWYG Versus Coding: HTML With A Purpose

    After years of working with entrepreneurs who developed their first... Read More

    5 Essential Traits Of A Home Business Website

    So you've decided to start an online work at home... Read More

    Email Addresses in Web Pages

    You want to give your site's visitors a way to... Read More

    I Did It: Six Months to a Successful Website

    For years now I've been looking to start my own... Read More

    How One Word Or Even One Letter Can Boost Conversion Rates By Over 400%!

    Recently I was reviewing the keyword specific conversion rate data... Read More

    Website Survival Guide

    In the big, wide online world there are millions of... Read More

    The Most Important Aspect of Writing Web Copy

    There is an ongoing debate about web copy. Some say... Read More

    Earn On Offshore Web Design and Development

    If you have some experience in web site design and... Read More

    Developing A Website: 10 Tips For Getting Started

    1. Be clear on your purpose.Building a website can be... Read More

    Ecommerce for Beginners

    Like most average persons, I wanted some extra money to... Read More

    Freelance Programming is Easy to Manage

    There are several reverse bid freelance sites out there. Beyond... Read More

    Is Your Website Innovative? Increase Your Business Over Night!

    While studying online for IT investment opportunities, I found that... Read More

    The Secret Benefit Of Accessibility: Part 2 - A Higher Search Engine Ranking

    An additional benefit of website accessibility is an improved performance... Read More

    Building a Web Store on Shoestring Budget in less than Four Hours

    Starting a business online is no longer as difficult as... Read More

    How To Get Your Customers To Trust Your Website

    Research reveals three important facts:1) The Internet is one of... Read More

    Growing Your Meetings In CyberSpace

    As increasing numbers of people search for information on the... Read More

    Streamline your Business Website with a Content Management System

    I talk with so many people who have small businesses... Read More

    How Does Your Website Make Me Feel?

    When people think about the Internet, they think about technology.... Read More