Username: Save?
Password:
Home Forum Links Search Login Register*
    News: Keep The TechnoWorldInc.com Community Clean: Read Guidelines Here.
Recent Updates
[April 24, 2024, 11:48:22 AM]

[April 24, 2024, 11:48:22 AM]

[April 24, 2024, 11:48:22 AM]

[April 24, 2024, 11:48:22 AM]

[April 03, 2024, 06:11:00 PM]

[April 03, 2024, 06:11:00 PM]

[April 03, 2024, 06:11:00 PM]

[April 03, 2024, 06:11:00 PM]

[March 06, 2024, 02:45:27 PM]

[March 06, 2024, 02:45:27 PM]

[March 06, 2024, 02:45:27 PM]

[March 06, 2024, 02:45:27 PM]

[February 14, 2024, 02:00:39 PM]
Subscriptions
Get Latest Tech Updates For Free!
Resources
   Travelikers
   Funistan
   PrettyGalz
   Techlap
   FreeThemes
   Videsta
   Glamistan
   BachatMela
   GlamGalz
   Techzug
   Vidsage
   Funzug
   WorldHostInc
   Funfani
   FilmyMama
   Uploaded.Tech
   MegaPixelShop
   Netens
   Funotic
   FreeJobsInc
   FilesPark
Participate in the fastest growing Technical Encyclopedia! This website is 100% Free. Please register or login using the login box above if you have already registered. You will need to be logged in to reply, make new topics and to access all the areas. Registration is free! Click Here To Register.
+ Techno World Inc - The Best Technical Encyclopedia Online! » Forum » THE TECHNO CLUB [ TECHNOWORLDINC.COM ] » Programming Zone » PHP
  Autoresponders With PHP
Pages: [1]   Go Down
  Print  
Author Topic: Autoresponders With PHP  (Read 2470 times)
Daniel Franklin
TWI Hero
**********


Karma: 3
Offline Offline

Posts: 16647


View Profile Email
Autoresponders With PHP
« Posted: September 26, 2007, 01:05:38 PM »


urse there are more complex autoresponders, like Gary Ambrose's Opt-In Lightning, or Wes Baylock's Mail Master Pro which handle multiple follow-ups and record the e-mail addresses of those who have signed up for the responder. But today we're just going to focus on how to make a very basic, very simple autoresponder.

Hopefully, you've seen what form objects in HTML look like. Here's some code you can use for an example:

<form action="some-script.php" method="post"> Enter Your E-Mail Address: <input type="text" name="email" size="30">
<input type="submit" value="Submit">

Copy and paste this code into a file called "signup.html" and upload it to your web server. You'll see a text box waiting for your visitor to enter his or her e-mail address so they can be sent that autoresponse message.

Of course, the form won't work just yet because, if you look at the first line of that HTML code I gave you, you'll see that the form submits to a script called "some-script.php". And we haven't made that just yet.


Look on the second line of "signup.html", at the last half of the line. You should be familiar with HTML tags, but if you're not, an HTML tag consists of two parts: the parent tag and the attributes.

The parent tag is simply the tag's designation. For example, if you had a slice of HTML code that looked like this:

<font face="Verdana" size="1">

Then the parent tag would be "font". The rest of what's enclosed in the tag tells the browser what to do with it. For example, in this tag the attributes are that the font should be Verdana with size 1.

Why am I telling you all this? Because it relates to the HTML code you see in signup.html.

Now, when you look at this: <input type="text" name="email" size="30">

The code tells the receiving browser that this is an "input" tag, meaning that it's a form field. The name of this item is "email" and its size is 30, meaning this text box should be 30 characters in width.

When the form is submitted, it takes all the values of all the fields inside that form and throws it at its destination. In this case, our destination is "some-script.php".

If you're lost, this will all make a whole lot more sense once you try this next step.

Make a file called "some-script.php" and paste this line of code into it:

<?php echo $email; ?>

Upload the script in the same folder as signup.html, and go to "signup.html". Type your e-mail address in and click the submit button.

You should see a new page containing just your e-mail address and nothing else.

Is this starting to make sense? You told the PHP script to dump the contents of the variable called "email" to the screen, and you just submitted a form with a text box called "email".

If you want to try one more exercise like this, change the name of the text box to, say, "goober" in signup.html and change the $email in some-script.php to $goober. Upload both, go to signup.html, and type anything into the text box. You'll get the same result.

This is how you'll pass data from forms (like text fields, drop down menus, radio buttons and the like) along into the PHP scripts you create.

We've just covered how to submit form elements into PHP. Now let's focus on sending mail.

PHP has a really simple function that uses whatever mail sending program is installed on your server to send messages to the outside world. If you have a crappy web server, this step might not work and you'll have to use a different web host if you want to try this.

But if you're on a good web host that has PHP installed *correctly*, this shouldn't be a problem.

Up until now we haven't used functions in PHP too much, aside from simple things like include() and header(). Today's your lucky day, because functions work in a very similar way to HTML tags. You have the parent tag, and the attributes (or parameters).

The mail() function basically works like this:

mail("recipient","subject","body","headers");

Let's start off by sending a simple e-mail message to yourself. We won't need any special headers this time around, so this will be quick and painless. Copy this one line of code into "mailtest.php":

<?php mail("[email protected]","Hello","Hi. This is the body of my message."); ?>

Replace "[email protected]" with your actual e-mail address, but be *sure* to keep quotes around it. Save it, and upload mailtest.php to your web server and run it in the browser. You should see a blank page. Wait a few minutes and check your mail. You should see a mysterious mail message in your box with the subject "Hello" and the message "Hi. This is the body of my message."

If you're using a free e-mail service or a weird ISP, the message won't come through because a lot of mail servers these days require that certain headers are present in the message.

Let's do that now.

What's below isn't important enough to explain thoroughly, but it's just header information that is interpreted by the mail server. This data tells us that we're sending a plain text e-mail, that the message came from your e-mail address (and gives your name), and tells us that the e-mail "client" we used was PHP.

$headers = "Content-Type: text/plain; charset=us-ascii From: $myname <$mymail> Reply-To: <$mymail> Return-Path: <$mymail> X-Mailer: PHP";

This is the code you should have by this point, complete with the header information and the variables which tell the script what your name and e-mail address are:

<?php

$email = "[email protected]";

$myname = "Your Name Here"; $mymail = "[email protected]";

$headers = "Content-Type: text/plain; charset=us-ascii From: $myname <$mymail> Reply-To: <$mymail> Return-Path: <$mymail> X-Mailer: PHP";

mail($email,"Hello","Hi. This is the body of my message.",$headers);

?>

Notice how we've simplified things a bit by using variables in the mail() function. That way we don't have to retype things. This method also looks better (in my opinion anyway) and is easier to tweak once you're ready to actually customize it for yourself.

Try this out again. Believe it or not, but you just made your first autoresponder! Before we move on let's make this look even cleaner:

<?php

$myname = "Your Name Here"; $mymail = "[email protected]";

$subject = "Hello"; $body = "Hi. This is the body of my message. Notice how I can continue typing right on the next line!";

$headers = "Content-Type: text/plain; charset=us-ascii From: $myname <$mymail> Reply-To: <$mymail> Return-Path: <$mymail> X-Mailer: PHP";

if ($email != "") { mail($email,$subject,$body,$headers); }

?>

All I did here was just make things look nicer, but notice how I removed the line that set $email to "[email protected]." This is because the value of $email will be passed to the script from that form we made earlier.

This also sends the e-mail message ONLY if the value of $email is not blank. So if someone just hit the submit button without entering an address, the script won't try to send the e-mail message.

Everything should be ready for you to try out now. Re-upload "some-script.php" and go to signup.html. Enter your e-mail address in the field, hit submit and wait for that mail message to arrive.

There's only one step left to making this autoresponder complete. And that's sending the user somewhere so they aren't given a blank page.

Find this line in your script: if ($email != "") { mail($email,$subject,$body,$headers); }

And paste this directly underneath it: header("Location:http://www.jumpx.com"); die();

Try the autoresponder out. You'll see that once the autoresponse message is sent, you're directed tohttp://www.jumpx.com. Now, go ahead and change it to whatever URL you want to use. Or, make use it with a variable so the end result is like this:

<?php

$myredirect = "http://www.my-domain-name.com hankyou.html";

$myname = "Your Name Here"; $mymail = "[email protected]";

$subject = "Hello"; $body = "Hi. This is the body of my message. Notice how I can continue typing right on the next line!";

$headers = "Content-Type: text/plain; charset=us-ascii From: $myname <$mymail> Reply-To: <$mymail> Return-Path: <$mymail> X-Mailer: PHP";

if ($email != "") { mail($email,$subject,$body,$headers); } header("Location:$myredirect"); die();

?>

Don't forget to change the values above. "http://www.my-domain-name.com hankyou.html" needs to point to the URL where thankyou.html is stored.

You're done. Don't forget to send John feedback for me. If you're really curious as to how to do something in PHP, I might just write an article on it.

Articles Source - Free Articles

Logged

Pages: [1]   Go Up
  Print  
 
Jump to:  

Copyright © 2006-2023 TechnoWorldInc.com. All Rights Reserved. Privacy Policy | Disclaimer
Page created in 0.09 seconds with 24 queries.