Link to home
Start Free TrialLog in
Avatar of djmichaelray
djmichaelray

asked on

Simple Email Sign Up Button

Hi,
Having some confusion about how to set up an input box for people to register their email.

So all I need is this
1. an input box for the user to put their email
2.an button for them to click register
3.after the user clicks register, their email adress is sent to an email address of my choosing (please specify in your answer where i specifiy this email).
4.An auto generated message is sent to the user's email thanking them for registering their email.


Can you please provide the comeplete code that would allow me to do this in either CSS/XHTML or PHP
.
Thanks
   
ASKER CERTIFIED SOLUTION
Avatar of Vel Eous
Vel Eous

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Vel Eous
Vel Eous

Sorry just seen an error:

replace:

<input type="submit" value="sign up" />


With:

<input type="submit" value="sign up" name="submit" />
Avatar of djmichaelray

ASKER

i have an example of your code at http://www.djmichaelray.com/neverdie/index.html   it generates an error when you click on submit.


can you brefiely explain why please then ill award the points cause the rest of the code looks good.
You have the page saved as .html when it should be .php
sorry bro its still not working
Try the following.  If you see a message "Emails sent", check your spam filters as that is a common problem.
<?PHP
 
if ( isset ( $_POST['submit'] ) )
{
 
	$user_email = $_POST['email'];
	
	$to = 'you@yourdomain.com'; // your email address here
	$subject = 'New sign up'; // change this as desired
	$message = 'A New user has signed up, email address: ' . $user_email; // change this as desired
	
	$headers  = 'MIME-Version: 1.0' . "\r\n";
	$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
	$headers .= 'From: no-reply@yourdomain.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
				
	mail ( $to, $subject, $message, $headers );
	
	$to = $user_email;
	$subject = 'no-reply@yourdomain.com'; // yourdomain here
	$message = 'Thank you for signing up to yourdomain.com'; // change this as desired
	
	mail ( $to, $subject, $message, $headers );
	
	echo 'Emails sent';
 
}
 
?>
 
<form action="<?PHP echo $_SERVER['PHP_SELF']; ?>" method="post">
	<input type="text" name="email" /><input type="submit" value="sign up" name="submit" />
</form>

Open in new window

www.djmichaelray.com is hosted at GoDaddy. GoDaddy blocks port 25. Port 3535 is available for email traffic.

Not sure how to help the poster, but hopefully that helps out another expert.
Avatar of Steve Bink
You named the submit button 'submit'.  Name it something else.

If the email is not being sent, but the form does submit, follow matthewstevenkelly's advice.  Make sure you have a server up, that it is properly configured for your host, and that you can actually send mail through it outside of the website.  
>> You named the submit button 'submit'.  Name it something else.

The name of the submit button is only there to test for the form being sent.  It's name will not affect the functioning of the script.
My apologies...the 'submit' name issue presents itself only when using javascript to submit the form.  The button should still work.

>>> it generates an error when you click on submit.

Did you find the source of this problem?