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:

    Matchbook Hires Senior Web Developer  Inside INdiana Business
    Web Design Jobs  Southern New Hampshire University
    Internships  CALmatters
    Web Developer  Seven Days
    The Future of Web Development  Business 2 Community

    12 Essential Tips to a Professional Business Website

    1. Choose a big enough font size. A size 12... Read More

    Maintaining Your Business Website

    QUESTION: Should I build and maintain my business Web... Read More

    Stop Losing Precious Web Site Traffic to the Dreaded World Wide Web Black Hole

    You work hard to build traffic to your web page.... Read More

    Build or Buy a CMS?

    Creating a content management system either from scratch,... Read More

    2 Key Ways to Make Your Site a Success

    If one more business owner tells me their website sucks... Read More

    Building eCommerce Websites that Work - Part 3

    An interesting eCommerce success factor that isn't precisely overlooked, but... Read More

    Make Your Artist Website Sell!

    SummaryHere's the scoop on what you must know when designing... Read More

    Making Your Websites More Compelling

    The Internet is a remarkable publishing medium. With just a... Read More

    Why do I Need a Website?

    Cost Effective Advertising. Online selling. Increased geopgraphic range. Wider... Read More

    Building Websites with Directory Generator

    Directory Generator, a product from Armand Morin and Marc Quarles,... Read More

    Build a Strong Foundation for Creating Your First Online Identity ? Notes for Beginners

    If you are looking for creating your online presence you... Read More

    How To Convert More Sales On Your Website

    One of the biggest mistakes that most online retailers make... Read More

    Are Web Graphics Stealing Your Money?

    They might not be wearing a mask and carrying a... Read More

    Successful Web Development: 10 Key Elements

    There are many elements that are key to successful web... Read More

    How To Keep Your Website Sticky

    Developing a website with content that entices visitors to return... Read More

    So You Want To Have A Website

    So you want to have a website. You have gone... Read More

    Your Website Should Be Selling

    It may come as some surprise to a traditionally off-line... Read More

    Get to Know People through Websites

    Web sites are not just places to sell things; they... Read More

    Having a Portfolio on the Internet Can Help you Infiltate the Workforce

    If you're an up and coming graphic/web designer just out... Read More

    Sticking To Your Plan

    So you have a good idea for a business and... Read More

    Ten Ways NOT to Set Up a Website-based Service Business

    1. As the first step, "Hire a web designer."First create... Read More

    Building a Web Site Requires the Right Software to Eliminate Headaches and Keep Money in Your Pocket

    When most people build a web site, they think one... Read More

    You Need To Treat Your Website Like An Employee - Heres 5 Ways To Do It

    People often come to me in a state of crisis... Read More

    Build a Web Site that Works...Even for a Safari Hobby!

    My life's greatest passion is a safari hobby. And what... Read More

    How To Write More Powerful Online Text

    Although there are significant differences among the various types of... Read More