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:

    The Future of Web Development  Business 2 Community
    Front End Web Developer  The Lincolnite

    Product Promoting: Getting The Response

    When you publish a content site there are times when... Read More

    PHP & Account Activation

    When a user signs up at your website, you may... Read More

    Freelance Programming is Easy to Manage

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

    The Problem with Paypal On Your Web Page

    When I set up my website I felt paypal was... Read More

    Marketing Your Business Online

    As a business you can't afford to ignore the Internet... Read More

    The Birth of a Professional Web Site

    The Internet has opened a whole New World of opportunity... Read More

    Website Conversion Rate: More Keywords Equals More Sales

    Your website conversion rate should concern you. This simply refers... Read More

    Are You Losing Sales Because of These 4 Simple Website Mistakes?

    Losing website sales and traffic is sometimes simply a case... Read More

    So You Want To Have A Website

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

    Duplication vs. Individualism

    How can we add Word Rich Content to our Websites... Read More

    Bring Your Visitors Back Clamoring for More! Maintain and Improve Your Web Site Weekly - Part 1

    80% of your Web site is Maintenance!Once your Web site... Read More

    Building eCommerce Websites that Work - Part 3

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

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

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

    2 Key Ways to Make Your Site a Success

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

    How to Increase Sales with Automation Improvements

    How popular is online shopping? And is there room for... Read More

    Why Your Brick-and-Mortar Biz Needs A Website

    The internet has taken over our lives with a vengeance,... Read More

    Are You Overlooking the Benefits of Using Sub-Domains within Your Web-hosting account?

    One of the most useful features offered by some web... Read More

    A Website Is Not Enough

    Your ObjectiveYour small business needs an appealing and professional website... Read More

    How to Handle Web Surfers Who Disabled JavaScript

    There are hundreds of millions of Web surfers today. Each... Read More

    Your Content for Nothing and Your Clicks for Free

    The first thing my business consultant (read brother-in-law) asked me,... Read More

    Eight Deadly Web Site Mistakes and How to Avoid Them

    Creating and maintaining an effective presence on the Web has... Read More

    The 2 Most Common Web Site Mistakes

    When we review the sites of potential clients, there are... Read More

    7 Profit Producing Reasons Why Every Successful Service Professional Needs A Web Presence

    Your business website is a critical aspect of being able... Read More

    Ever Wondered What Challenges Other People With Their Web Site?

    Have you ever wondered what challenges are faced by other... Read More

    Is Your Web Site Talking to Your Customer?

    A while ago one of my clients approached me and... Read More