reubikcube2013 Posted July 29, 2015 Share Posted July 29, 2015 I have the following html code for a form; <form action="email.php" method ="POST" > <label>Name</label><br> <input type="text" value="" class="form" name ="name"><br> <label>Email</label><br> <input type="text" value="" class="form" name ="email"><br> <label>Message</label><br> <textarea rows ="3" class ="form" name ="message"></textarea> <label></label><br> <input type="submit" value="submit"> </form> the form has the action of a file called email.php-this file is meant to send the users details to an email address using the mail function. It contains the following; <html> <body> Thankyou <?php echo $_POST["name"]. ","; ?> <br> <?php echo $_POST["email"]; ?> Will be contacted soon. <?php $to = "[email protected]"; $name = $_POST["name"]; $email =$_POST["email"]; $message = $_POST["message"]; $subject="Web Design"; $headers = 'From:'. $email . "\r\n" . 'Reply-To:'. $name . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers) header("Location: index.html")?> </body> </html> I have tried the code with a working email address however none of it seems to work- what happens is when the submit button is clicked the user is redirected a plain white page ("/email.php"). Looking for help urgently. Kind Regards,R. Link to comment https://forums.phpfreaks.com/topic/297536-php-mailer-contact-form-help/ Share on other sites More sharing options...
Bottyz Posted July 29, 2015 Share Posted July 29, 2015 Just a thought, have you added <?php session_start(); ?> at the beginning of your email.php? You'll also want to keep the user on that page for a few seconds before redirecting to index.html as you'll want them to see the notice you've written, so add header ("refresh: 5; url=index.html"); instead of header("Location: index.html"); Link to comment https://forums.phpfreaks.com/topic/297536-php-mailer-contact-form-help/#findComment-1517626 Share on other sites More sharing options...
reubikcube2013 Posted July 29, 2015 Author Share Posted July 29, 2015 Just a thought, have you added session_start(); at the beginning of your email.php? You'll also want to keep the user on that page for a few seconds before redirecting to index.html as you'll want them to see the notice you've written, so add header header ("refresh: 5; url=index.html"); instead of header("Location: index.html"); Thanks for the response changed the code to this; <html> <body> <?php session_start();?> Thankyou <?php echo $_POST["name"]. ","; ?> <br> <?php echo $_POST["email"]; ?> Will be contacted soon. <?php $to = "[email protected]"; $name = $_POST["name"]; $email =$_POST["email"]; $message = $_POST["message"]; $subject="Web Design"; $headers = 'From:'. $email . "\r\n" . 'Reply-To:'. $name . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers) ( "refresh:5;url=index.html" );?> </body> </html> and the exact same thing has happened- a static white page is displayed. Link to comment https://forums.phpfreaks.com/topic/297536-php-mailer-contact-form-help/#findComment-1517629 Share on other sites More sharing options...
Bottyz Posted July 29, 2015 Share Posted July 29, 2015 For a start the session_start needs to go above everything else. The blank page would normally mean you've missing a semi colon or similar (best to check error logs for specifics) my guess would be the missing semi-colon from: mail($to, $subject, $message, $headers) should be: mail($to, $subject, $message, $headers); Link to comment https://forums.phpfreaks.com/topic/297536-php-mailer-contact-form-help/#findComment-1517630 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.