The Web Design Group

... Making the Web accessible to all.

Welcome Guest ( Log In | Register )

2 Pages V  1 2 >  
Reply to this topicStart new topic
> Re direct to a thank you page after submit button pressed
Ted
post Sep 4 2018, 05:23 AM
Post #1


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



This is my first post and I have little experience with php scripts so I have created a web site with a form for a customer to enter their details. All works and I get an email with their details. The customer gets a plain page with a Thank you message. I want to change that to my custom thankyou.html page but with no success. I get this error on a plain page - Warning: Cannot modify header information - headers already sent by (output started at /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php:1) in /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php on line 80.
This is my html code for the form;-
<!-- Start of the form Code -->
<div id="sendform">
<form name="htmlform" method="post" action="html_form_send.php"><table width="450px">
<tr>
<td valign="middle"><label for="first_name">First Name *</label></td>
<td valign="top"><input type="text" name="first_name" maxlength="50" size="30" /></td>
</tr>
<tr>
<td valign="middle"><label for="last_name">Last Name *</label></td>
<td valign="top"><input type="text" name="last_name" maxlength="50" size="30" /></td>
</tr>
<tr>
<td valign="middle"><label for="email">Email Address *</label></td>
<td valign="top"><input type="text" name="email" maxlength="80" size="30" /></td>
</tr>
<tr>
<td valign="middle"><label for="telephone">Telephone Number</label></td>
<td valign="top"><input type="text" name="telephone" maxlength="30" size="30" /></td>
</tr>
<tr>
<td valign="top"><label for="comments">Enquires *</label></td>
<td valign="top"><textarea name="comments" maxlength="1000" cols="25" rows="10"></textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align:center"><input type="submit" value="Submit" /><a href= "http://www.ringsjustforyou.co.uk/html_form.php"></a></td>
</tr>
</table>
</form>
</div>
<!-- End of the Form code -->

This is the code for the php file html_form_send.php;-
<?php
if(isset($_POST['email'])) {

// CHANGE THE TWO LINES BELOW
$email_to = "*@ringsjustforyou.co.uk";

$email_subject = "Custom Ring(s) Request";


function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}

// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}

$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required

$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}

$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>

<!-- place your own success html below

Thank you for your enquiry. We will be in touch with you very soon. -->


<?php

header("Location: ./http://www.ringsjustforyou.co.uk/thankyou.php");

}
die();
?>

The line 80 in the error massage refers to this;-
Header ("Location: ./http://www.ringsjustforyou.co.uk/thankyou.php");
I have tried the thankyou page as .html and .php with the same error
I hope I have told you enough to help me

Thank you in advance

This post has been edited by Christian J: Sep 7 2018, 10:46 AM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Sep 4 2018, 11:29 AM
Post #2


.
********

Group: WDG Moderators
Posts: 9,630
Joined: 10-August 06
Member No.: 7



Headers must/should be the first thing that's sent to the user's browser. In this case some white space and the "thank you" text gets sent before the header, hence the error message. If you put the header within the first block of PHP code I think it should work. See also http://php.net/manual/en/function.header.php

QUOTE
header("Location: ./http://www.ringsjustforyou.co.uk/thankyou.php");

An full URL like the above shouldn't start with a period sign and slash.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
CharlesEF
post Sep 4 2018, 01:23 PM
Post #3


Programming Fanatic
********

Group: Members
Posts: 1,981
Joined: 27-April 13
From: Edinburg, Texas
Member No.: 19,088



I also suggest you not suppress mail errors. In other words, don't use the '@' character. Use the mail return results to be sure the mail was sent. Something like this:
CODE
if(mail($email_to, $email_subject, $email_message, $headers))
{
// No error, mail sent
}
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Ted
post Sep 5 2018, 06:07 AM
Post #4


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



Hello Christian J Sorry for the delay in replying. I did this at the end of the script;-
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($email_to, $email_subject, $email_message, $headers));
{
// No error, mail sent
}
?>
header("Location: ./http://www.ringsjustforyou.co.uk/thankyou.php"); <------- I put it here, this message is not in the actual script
<?php

}
die();
?>

I now get this;-
header("Location: ./http://www.ringsjustforyou.co.uk/thankyou.php");

I also tried CharlesEF suggestion with and without as well with the same result.

The script still sends emails to me from the form. I am a complete novice about php, I make rings. Please can you show exactly where I should put the header("Location: ./http://www.ringsjustforyou.co.uk/thankyou.php"); line in the php script
Thank you very much
Ted
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
CharlesEF
post Sep 5 2018, 10:14 AM
Post #5


Programming Fanatic
********

Group: Members
Posts: 1,981
Joined: 27-April 13
From: Edinburg, Texas
Member No.: 19,088



I meant for you to place the header command inside the 'if' statement. All PHP commands must be inside the '<?php ?>' markers. Your header command is outside the php markers. Code should look like this:
CODE
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($email_to, $email_subject, $email_message, $headers));
{
  header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");
  exit();
}
?>
And I fixed the URL in the header command. You may want some error code in case the mail is not sent.

This post has been edited by CharlesEF: Sep 5 2018, 10:18 AM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Ted
post Sep 5 2018, 12:13 PM
Post #6


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



Hello CharlesEF
This is what I have done as you suggested;-
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($email_to, $email_subject, $email_message, $headers));
{
header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");
exit();
}
?>

<?php

}
die();
?>

But I still get this at the top of a blank page with a URL which is http://www.ringsjustforyou.co.uk/html_form_send.php

Warning: Cannot modify header information - headers already sent by (output started at /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php:1) in /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php on line 72

Line 72 is this header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");

Sorry
Ted

This post has been edited by Ted: Sep 5 2018, 12:16 PM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Sep 5 2018, 01:00 PM
Post #7


.
********

Group: WDG Moderators
Posts: 9,630
Joined: 10-August 06
Member No.: 7



QUOTE(CharlesEF @ Sep 5 2018, 05:14 PM) *

CODE
if(mail($email_to, $email_subject, $email_message, $headers));


The semicolon shouldn't be there.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Ted
post Sep 5 2018, 05:12 PM
Post #8


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



Hello Christian J
I have removed the semicolon but still this;-
Warning: Cannot modify header information - headers already sent by (output started at /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php:1) in /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php on line 72

End of the script looks like this now;-
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($email_to, $email_subject, $email_message, $headers))
{
header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");
exit();
}
?>

<?php

}
die();
?>

Could be a problem somewhere in the script but still sends an e-mail
Ted
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Sep 5 2018, 07:20 PM
Post #9


.
********

Group: WDG Moderators
Posts: 9,630
Joined: 10-August 06
Member No.: 7



Is there any content (even whitespace, tabs or linebreaks) before the first <?php start tag in the PHP file?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
CharlesEF
post Sep 5 2018, 07:54 PM
Post #10


Programming Fanatic
********

Group: Members
Posts: 1,981
Joined: 27-April 13
From: Edinburg, Texas
Member No.: 19,088



Can you post or attach the entire current version of the script?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Ted
post Sep 6 2018, 01:34 AM
Post #11


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



QUOTE(Christian J @ Sep 5 2018, 07:20 PM) *

Is there any content (even whitespace, tabs or linebreaks) before the first <?php start tag in the PHP file?

No there is not.

This post has been edited by Ted: Sep 6 2018, 01:52 AM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Ted
post Sep 6 2018, 01:43 AM
Post #12


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



QUOTE(CharlesEF @ Sep 5 2018, 07:54 PM) *

Can you post or attach the entire current version of the script?

This is the full script as it is now.
<?php
if(isset($_POST['email'])) {

// CHANGE THE TWO LINES BELOW
$email_to = "***@ringsjustforyou.co.uk";

$email_subject = "Custom Ring(s) Request";


function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}

// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}

$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required

$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}

$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($email_to, $email_subject, $email_message, $headers))
{
header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");
exit();
}
?>

<?php

}
die();
?>

This post has been edited by Christian J: Sep 7 2018, 10:46 AM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Sep 6 2018, 05:27 AM
Post #13


.
********

Group: WDG Moderators
Posts: 9,630
Joined: 10-August 06
Member No.: 7



I tested the script, and it redirected to where I wanted. Are you sure the PHP warning is from html_form_send.php and not from thankyou.php?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Ted
post Sep 6 2018, 09:16 AM
Post #14


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



QUOTE(Christian J @ Sep 6 2018, 05:27 AM) *

I tested the script, and it redirected to where I wanted. Are you sure the PHP warning is from html_form_send.php and not from thankyou.php?

I am not sure but when I get this message;-
Warning: Cannot modify header information - headers already sent by (output started at /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php:1) in /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php on line 61

This warning is at the top of a blank white page, I am using ie11, and in the URL address window at the very top there is this;-
http://www.ringsjustforyou.co.uk/html_form_send.php

I have altered the php script to;-
header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");
Exactly the same warning message is displayed and the same URL is displayed at the top as thankyou.php.

This is the html code in thankyou.php, the same code is in thankyou.html;-

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Bespoke Hand Crafted Rings in various materials just for you</title>
<meta name="Description" content="Unique, Bespoke Hand Made Rings Bentwood rings, Stainless Steel rings, Silver rings, Damascus Steel rings, Twisted Copper rings and Titanium rings. Made in Cornwall, Custom rings" />
<meta name="Keywords" content="Bent Wood Rings, Stainless Rings, Damascus Steel Rings, Tatinium Rings, Silver Rings, Silver Inlays, Gold Inlays" />
<meta name="author" content="Ted Cawston - Rings Just for You" />
<meta name="robots" content="all" />
<link rel="stylesheet" href="css/thankyou.css" type="text/css" />
</head>
<body>
<a id="top"></a>
<div id="header"><img src="images/logo/logo.jpg" alt="A view from my home just after sunset" title="A view from my home just after sunset" /></div>
<div id="menu">
<p style="text-align: center; width: 95%; padding: 15px">
<a href="#damascusrings">Damascus Steel</a> |
<a href="#stainlessrings">Stainless Steel</a> |
<a href="#titaniumrings">Titanium</a> |
<a href="#silverrings">Silver</a> |
<a href="#bentwoodrings">Bentwood</a> |
<a href="#contactme">Contact Me</a></p>
</div>
<h1>Thank you, I will be back to you as soon as I can</h1>
<h2>Copyright:- Rings Just for You © 2018</h2>
<h3>This page was last updated on Saturday 01-09-2018</h3>
</body>
</html>

It seems that there is something wrong at my end but I have no idea what.
Just been on my hosts website and I have PHP 5.6. In every instance the php file sends an email with the contents that I typed in the form.
Thank you for all your help
Ted

This post has been edited by Ted: Sep 6 2018, 09:24 AM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Sep 6 2018, 01:51 PM
Post #15


.
********

Group: WDG Moderators
Posts: 9,630
Joined: 10-August 06
Member No.: 7



QUOTE(Ted @ Sep 6 2018, 04:16 PM) *

QUOTE(Christian J @ Sep 6 2018, 05:27 AM) *

I tested the script, and it redirected to where I wanted. Are you sure the PHP warning is from html_form_send.php and not from thankyou.php?

I am not sure but when I get this message;-
Warning: Cannot modify header information - headers already sent by (output started at /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php:1) in /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php on line 61

This warning is at the top of a blank white page, I am using ie11, and in the URL address window at the very top there is this;-
http://www.ringsjustforyou.co.uk/html_form_send.php

Yes it sounds like it's that page.

QUOTE
I have altered the php script to;-
header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");


Exactly the same warning message is displayed and the same URL is displayed at the top as thankyou.php.

Not sure I understood this part. unsure.gif

QUOTE
This is the html code in thankyou.php, the same code is in thankyou.html;-

When I tried loading http://www.ringsjustforyou.co.uk/thankyou.php I got this error:

CODE
Parse error: syntax error, unexpected 'version' (T_STRING) in /var/sites/r/ringsjustforyou.co.uk/public_html/thankyou.php on line 1

...so the page seems to contain PHP code. Could you post the PHP code here?

I also tried going to http://www.ringsjustforyou.co.uk/html_form.php but that's a 404. Make sure you are really editing the correct files, sometimes we put duplicates files in the wrong directory...

When I went directly to http://www.ringsjustforyou.co.uk/html_form_send.php I just see a blank page, which is expected since the current script contains no error messages for that situation.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Ted
post Sep 6 2018, 05:01 PM
Post #16


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



QUOTE(Christian J @ Sep 6 2018, 01:51 PM) *

QUOTE(Ted @ Sep 6 2018, 04:16 PM) *

QUOTE(Christian J @ Sep 6 2018, 05:27 AM) *

I tested the script, and it redirected to where I wanted. Are you sure the PHP warning is from html_form_send.php and not from thankyou.php?

I am not sure but when I get this message;-
Warning: Cannot modify header information - headers already sent by (output started at /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php:1) in /var/sites/r/ringsjustforyou.co.uk/public_html/html_form_send.php on line 61

This warning is at the top of a blank white page, I am using ie11, and in the URL address window at the very top there is this;-
http://www.ringsjustforyou.co.uk/html_form_send.php

Yes it sounds like it's that page.

QUOTE
I have altered the php script to;-
header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");


Exactly the same warning message is displayed and the same URL is displayed at the top as thankyou.php.

Not sure I understood this part. unsure.gif

QUOTE
This is the html code in thankyou.php, the same code is in thankyou.html;-

When I tried loading http://www.ringsjustforyou.co.uk/thankyou.php I got this error:

CODE
Parse error: syntax error, unexpected 'version' (T_STRING) in /var/sites/r/ringsjustforyou.co.uk/public_html/thankyou.php on line 1

...so the page seems to contain PHP code. Could you post the PHP code here?

I also tried going to http://www.ringsjustforyou.co.uk/html_form.php but that's a 404. Make sure you are really editing the correct files, sometimes we put duplicates files in the wrong directory...

When I went directly to http://www.ringsjustforyou.co.uk/html_form_send.php I just see a blank page, which is expected since the current script contains no error messages for that situation.


This is the php files location in my Host website. This file in on ftp.gridhost.co.uk/public_html. There are no other instances of this file there.

This is a copy of that file named html_form_send.php;- Note that the thankyou.php file is on the same directory

<?php
if(isset($_POST['email'])) {
// CHANGE THE TWO LINES BELOW
$email_to = "***@ringsjustforyou.co.uk";
$email_subject = "Custom Ring(s) Request";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($email_to, $email_subject, $email_message, $headers))
{
header("Location: http://www.ringsjustforyou.co.uk/thankyou.php");
exit();
}
?>
<?php
}
die();
?>

Thank you very much
Ted

This post has been edited by Christian J: Sep 7 2018, 10:47 AM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Sep 6 2018, 05:49 PM
Post #17


.
********

Group: WDG Moderators
Posts: 9,630
Joined: 10-August 06
Member No.: 7



No, I meant that http://www.ringsjustforyou.co.uk/thankyou.php resulted in a PHP error, so it can't be plain HTML like you posted. But let's wait with that file, since the redirection to it doesn't work in the first place.

Like I wrote in my previous post, when I go to http://www.ringsjustforyou.co.uk/html_form.php I get a 404 ("file not found") error, so where is the form page you're testing with located?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Sep 6 2018, 06:02 PM
Post #18


.
********

Group: WDG Moderators
Posts: 9,630
Joined: 10-August 06
Member No.: 7



QUOTE(Christian J @ Sep 6 2018, 02:20 AM) *

Is there any content (even whitespace, tabs or linebreaks) before the first <?php start tag in the PHP file?

Also, if you're using UTF-8 your editor may have inserted a BOM (Byte Order Mark) at the beginning of the file, and even that counts as content.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Ted
post Sep 7 2018, 05:27 AM
Post #19


Newbie
*

Group: Members
Posts: 10
Joined: 4-September 18
Member No.: 26,706



QUOTE(Christian J @ Sep 6 2018, 05:49 PM) *

No, I meant that http://www.ringsjustforyou.co.uk/thankyou.php resulted in a PHP error, so it can't be plain HTML like you posted. But let's wait with that file, since the redirection to it doesn't work in the first place.

Like I wrote in my previous post, when I go to http://www.ringsjustforyou.co.uk/html_form.php I get a 404 ("file not found") error, so where is the form page you're testing with located?


I tried to attach a word docx file with screen shots of what I see here with comments to your questions but I could not do that as I think the file was too large so I have created a web page with the info.
This is the link
http://www.ringsjustforyou.co.uk/christian.html
I hope this works
Ted

This post has been edited by Ted: Sep 7 2018, 05:41 AM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Sep 7 2018, 10:44 AM
Post #20


.
********

Group: WDG Moderators
Posts: 9,630
Joined: 10-August 06
Member No.: 7



QUOTE(Ted @ Sep 7 2018, 12:27 PM) *

Img4a shows what looks like a tab/indentation/whitespace before the PHP start tag, something like this:

CODE
    <?php
if(isset ...

--maybe the redirect started working once you removed that?

QUOTE
I decided to rename the thankyou.php to thankyou.html. It works.

That might be because the server is configured to only run PHP on pages with .php extensions. If so maybe you still have invalid PHP code in the thankyou.html page, but the PHP is simply ignored by the server now. I'd remove any unwanted PHP code from the "thankyou" files just in case.

Glad that it worked finally! smile.gif

(BTW I've edited the email address in the previous posts so spambots won't find it.)
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post

2 Pages V  1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 28th March 2024 - 07:55 AM