colleyboy Posted June 23, 2012 Share Posted June 23, 2012 Hi there, Am trying to make a PHP mail script that is sent when the button is pressed. When the button is pressed it refreshes the page and does not send? Can anyone help please: <?php $emailaddress = "[email protected]"; //please replace this with your address $mail = $_POST['Email']; $porukaa = $_POST['Message']; $poruka = str_replace("\r", '<br />', $porukaa); //START OF THANKS MESSAGE //you may edit $thanks message. this is a message which displays when user sends mail from your site $thanks = " <p align='left' STYLE='font-family:arial;font-size:16px;color:#bed2df;'><br> <b>Your message has successfully been sent and we will contact you as soon as we can. Many Thanks!<br></b> <br> You will receive a copy of the message at your email address <b>($mail).<br>A member of our team will reply to you as soon as possible<br></b></p>"; //do not edit nothing below this line until comment (ME) say so if you don't have skills with PHP //END OF THANKS MESSAGE if($_POST['submitform']) { $Name = $_POST['Name']; $Email = $_POST['Email']; $Message = $_POST['Message']; $Phone = $_POST['Phone']; $Regarding = $_POST['Regarding']; $require = $_POST['require']; $browser = $HTTP_USER_AGENT; $ip = $_SERVER['REMOTE_ADDR']; $dcheck = explode(",",$require); while(list($check) = each($dcheck)) { if(!$$dcheck[$check]) { $error .= "You have not filled this field(s): <b>$dcheck[$check]</b>.<br>"; } } if ((!ereg(".+\@.+\..+", $Email)) || (!ereg("^[[email protected]]+$", $Email))){ $error .= "Wrong e-mail.<br>This e-mail address <b>$Email</b> - is not valid. Please enter correct e- mail address."; } if($error) { echo $error; echo '<br><a href="#" onClick="history.go(-1)">Please try again.</a>'; } else { //START OF INCOMING MESSAGE (this message goes to your inbox) $message = " You have received a message from your websites contact us page: Name: $Name: E-mail: $Email Phone Number: $Phone Subject: $Regarding Message: $Message ----------------------------- Browser: $browser IP: $ip "; //END OF INCOMING MESSAGE (this message goes to your inbox) $subject = "Message from Systems Hydroponics Website - Message was sent by $Name"; //subject OF YOUR INBOX MESSAGE sent to you $subject2 = "You have successfully sent message from Systems Hydroponics!"; //subject of OUTGOING MESSAGE - edit this //OUTGOING MESSAGE TEXT $message2 = "You have sent a message to Systems Hydroponics: ----------------------------- Name: $Name E-mail: $Email Phone Number: $Phone Subject: $Regarding Message: $Message ----------------------------- "; //END OF outgoing MESSAGE mail($emailaddress,"$subject","$message","From: $Name <$Email>"); mail($Email,"$subject2","$message2","From: <$nasaadresa>"); echo "$thanks"; } } else{ echo ' <br> <form name="contactform" action="'.$PHP_SELF.'" method="post"> <input type="hidden" name="require" value="Name,Message"> <p align=left STYLE="font-family:arial;color:#bed62f;font-size:16px;">Name:<BR> <input name="Name" size="30" STYLE="font-family:arial;font-size:16px;color:#000000;text-align:left;"></p> <p align=left STYLE="font-family:arial;color:#bed62f;font-size:16px;">Telephone Number:<BR> <input name="Phone" size="30" STYLE="font-family:arial;font-size:16px;color:#000000;text-align:left;"></p> <p align=left STYLE="font-family:arial;color:#bed62f;font-size:16px;">E-mail*:<BR> <input name="Email" size="30" STYLE="font-family:arial;font-size:16px;color:#000000;text-align:left;"></p> <p align=left STYLE="font-family:arial;color:#bed62f;font-size:16px;">Subject:<BR> <select name="Regarding"> <option value="When is the store opening?">When is the store opening?</option> <option value="Hydroponics Products">Hydroponics Products</option> <option value="Hydroponics Brands">Hydroponics Brands</option> <option value="Making An Order">Making An Order</option> <option value="General Question">General Question</option> <option value="Other">Other</option> </select></p> <p align=left STYLE="font-family:arial;color:#bed62f;font-size:16px;">Message*:<BR> <textarea name="Message" rows="10" cols="70" STYLE="font-family:arial;font-size:16px;color:#000000;text- align:left;"></textarea></p> <p align=left STYLE="font-family:arial;color:#bed62f;font-size:16px;"> <input type="submit" value="Send Message to Systems Hydroponics" name="submitform" STYLE="font- family:arial;color:#000000;font-size:16px;font-weight:bold;background-color:#bed2df;"> </p> </form>'; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/264668-simple-php-form-not-working-s/ Share on other sites More sharing options...
ZulfadlyAshBurn Posted June 23, 2012 Share Posted June 23, 2012 the form actions should be <?php echo '<form name="contactform" action="'.$_SERVER['PHP_SELF'].'" method="post">'; ?> Quote Link to comment https://forums.phpfreaks.com/topic/264668-simple-php-form-not-working-s/#findComment-1356455 Share on other sites More sharing options...
Pikachu2000 Posted June 23, 2012 Share Posted June 23, 2012 If you're submitting a form to itself, you can simply use an action attribute of action="". Quote Link to comment https://forums.phpfreaks.com/topic/264668-simple-php-form-not-working-s/#findComment-1356461 Share on other sites More sharing options...
Pikachu2000 Posted June 23, 2012 Share Posted June 23, 2012 Also, since some browsers tend to mangle the attributes of a submit button, it's better to use this to check whether the form has been submitted or not: if( strtolower($_SERVER['REQUEST_METHOD']) === 'post' ) { Quote Link to comment https://forums.phpfreaks.com/topic/264668-simple-php-form-not-working-s/#findComment-1356465 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.