I’m having problems concatenating two strings together to use as a message variable in a php mail function.
In my script I have several different mail function. Each one will use the same $message variable, but will have a different sentence added to the beginning.
If I use just the $message variable or the prefix to it ($requester_message) it works fine. But when I combine the two it doesn’t work.
/* ========================================================
=============== Conformation Email to Requester ======================
===========================================================*/
$requester_message = 'We have received your Request and will be in contact with you shortly.'.$message;
$requester_message1 = wordwrap($requester_message, 70);
mail($requester_email, $subject, $requester_message1, $headers);
I have also tried breaking it down to two lines
/* ========================================================
=============== Conformation Email to Requester ======================
===========================================================*/
$requester_message = 'We have received your Request and will be in contact with you shortly.';
$requester_message = $requester_message . $message;
$requester_message = wordwrap($requester_message, 70);
mail($requester_email, $subject, $requester_message1, $headers);
Any ideas?
Where are you defining $message? And in your second example, you are using $requester_message1 but your wordwrap is being returned to $requestor_message.
Here is the entire file. I’m echoing the concatenated message and it looks right, but for some reason the mail function doesn’t send when I use it. If I substitute either of the original ($requester_message1 or $message) it works.
<?php
require_once 'clean_up.php';
?>
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form</title>
</head>
<body>
<div id="container">
<?php
$message = '';
//-- ====================================================================================-//
//-- ==================== General Fields on all forms ==============================--//
//-- ====================================================================================-//
// check that all general fields were filled out
if(!empty($_POST['requester_name'])
&& !empty($_POST['requester_email'])
&& !empty($_POST['requester_depart'])
&& !empty($_POST['approval_name'])
&& !empty($_POST['approval_email'])
&& !empty($_POST['goal'])
&& !empty($_POST['general_notes'])
&& !empty($_POST['task_name'])
)
{
// handle optional approval names and emails
$approval_name_2 = "";
$approval_email_2 = "";
$approval_name_3 = "";
$approval_email_3 = "";
if(!empty($_POST['approval_name_2'])
&& !empty($_POST['approval_email_2'])) {
$approval_name_2 = mr_clean($_POST['approval_name_2']);
$approval_email_2 = mr_clean($_POST['approval_email_2']);
} // end if
if(!empty($_POST['approval_name_3'])
&& !empty($_POST['approval_email_3'])) {
$approval_name_3 = mr_clean($_POST['approval_name_3']);
$approval_email_3 = mr_clean($_POST['approval_email_3']);
} // end if
// added the trim and strip tags methods to cover XSS and SQL injections
$todays_date = date("Y.m.d");
$task_name = mr_clean($_POST['task_name']). '_'.$todays_date;
$requester_name = mr_clean($_POST['requester_name']);
$requester_email = mr_clean($_POST['requester_email']);
$requester_depart = mr_clean($_POST['requester_depart']);
$approval_name = mr_clean($_POST['approval_name']);
$approval_email = mr_clean($_POST['approval_email']);
$goal = mr_clean($_POST['goal']);
$general_notes = mr_clean($_POST['general_notes']);
$audience_other = mr_clean($_POST['audience_other']);
$projects = mr_clean($_POST['project']);
$request_type = mr_clean($_POST['request_type']);
$message .= 'Task Name: ' . $task_name ."\\r\
";
$message .= 'Requester Name: '.$requester_name."\\r\
";
$message .= 'Requester Email: '.$requester_email."\\r\
";
$message .= 'Requester Department: '.$requester_depart."\\r\
";
$message .= 'Approval Name: '.$approval_name."\\r\
";
$message .= 'Approval Email: '.$approval_email."\\r\
";
$message .= 'Goal: '.$goal."\\r\
";
$message .= 'Additional Notes: '.$general_notes."\\r\
";
//-- ===================================================================-//
//-- ==================== Handle each request type ===============--//
//-- ===================================================================-//
switch ($request_type) {
//-- ==============================================================-//
//-- =============== eventSupport ===========================--//
//-- ===============================================================-//
case "eventSupport.php":
if( !empty($_POST['event_name'])
&& !empty($_POST['recurring'])
&& !empty($_POST['event_desc'])
&& !empty($_POST['event_location'])
&& !empty($_POST['completion_date'])
&& !empty($_POST['event_date'])
&& !empty($_POST['attendees'])
)
{
echo 'Made it into eventSupport.php if statement <br> ';
$event_name = mr_clean($_POST['event_name']);
$recurring = mr_clean($_POST['recurring']);
$event_desc = mr_clean($_POST['event_desc']);
$event_location = mr_clean($_POST['event_location']);
$completion_date = mr_clean($_POST['completion_date']);
$event_date = mr_clean($_POST['event_date']);
$attendees = mr_clean($_POST['attendees']);
$services_other = mr_clean($_POST['services_other']);
// clean and save request specific variables
$message .= 'Event Name: '.$event_name."\\r\
";
$message .= 'Have we created material in the past?: '.$recurring."\\r\
";
$message .= 'Event Description: '.$event_desc."\\r\
";
$message .= 'Event Location: '.$event_location."\\r\
";
$message .= 'Completion Date: '.$completion_date."\\r\
";
$message .= 'Event Date: '.$event_date."\\r\
";
$message .= 'Estimated Attendees: '.$attendees."\\r\
";
// get audience check mark values
$audience = $_POST['audience'];
if(!empty($audience))
{
$N = count($audience);
$message .= "\\r\
Audience(s) for this project: \\r\
";
//echo("You selected $N audience(s):<br/> ");
for($i=0; $i < $N; $i++)
{
//echo($audience[$i] . "<br/>");
$message .= " ". $audience[$i]."\\r\
";
}
} // if(!empty($audience))
if(!empty($audience_other))
{
$message .= "Other: ". $audience_other ."\\r\
";
}
$message .= "\\r\
";
// end of check mark values
//echo '<h1>Services needed for project:</h1>';
$event_services = $_POST['event_services'];
if(!empty($event_services))
{
$N = count($event_services);
$message .= "\\r\
Service(s) for this project: \\r\
";
//echo("You selected $N services(s)<br/> ");
for($i=0; $i < $N; $i++)
{
//echo($event_services[$i] . "<br/>");
$message .= " ".$event_services[$i]."\\r\
";
}
if(!empty($services_other))
{
$message .= "Other Services: ". $services_other ."\\r\
";
}
$message .= "\\r\
";
} // if(!empty($event_services))
// end of check mark values
}
else{
echo '<h1>please out request specific fields</h1>';
}
break;
//-- ======================================================-//
//-- =============== collateral ======================--//
//-- =======================================================-//
case "collateral.html":
echo $request_type;
break;
//-- ======================================================-//
//-- =============== promo ======================--//
//-- =======================================================-//
case "promo.html":
echo $request_type;
break;
//-- ======================================================-//
//-- =============== sponsorships ======================--//
//-- =======================================================-//
case "sponsorships.html":
echo $request_type;
break;
//-- ======================================================-//
//-- =============== webRequest ======================--//
//-- =======================================================-//
case "webRequest.html":
echo $request_type;
break;
//-- ======================================================-//
//-- =============== recurringPubs ======================--//
//-- =======================================================-//
case "recurringPubs.html":
echo $request_type;
break;
//-- ======================================================-//
//-- =============== logos ======================--//
//-- =======================================================-//
case "logo.html":
echo $request_type;
break;
//-- ======================================================-//
//-- =============== stationary ======================--//
//-- =======================================================-//
case "stationary.html":
echo $request_type;
break;
//-- ======================================================-//
//-- =============== envelopes ======================--//
//-- =======================================================-//
case "envelopes.html":
echo "envelopes.html";
break;
//-- ======================================================-//
//-- =============== general ======================--//
//-- =======================================================-//
case "general.html":
echo "general.html";
break;
} // end switch
// owner hard coded for now
$owner = 'Aaron';
// save email variables
$to = $project;
echo '<br />'.'To: '.$to."<br /><br />";
$subject = $task_name.', '.$owner;
echo 'Subject: '.$subject."<br /><br />";
//echo 'Message: '.'<br />'.$message."<br /><br />";
$headers = 'Content-Type: text/plain; charset=utf-8' ."\\r\
";
$headers .= 'From: ' .$requester_email. "\\r\
";
$headers .= 'X-Mailer: PHP/' . phpversion(). "\\r\
";
$headers .= 'Reply-To: ' .$requester_email. "\\r\
";
//$headers .= 'Cc: haasa@franklin.edu \\r\
';
/* ========================================================
=============== Email to Requester ======================
===========================================================*/
$requester_message = 'We have received your Request and will be in contact with you shortly.'.$message;
$requester_message1 = wordwrap($requester_message, 70);
echo 'message: '.$requester_message1. '<br>';
echo 'conformation: '.$requester_email. '<br>';
echo 'Headers: '.$headers."<br />";
echo 'Subject: '.$subject."<br /><br />";
//echo 'requester_message: '.$requester_message. '<br>';
mail($requester_email, $subject, $requester_message1, $headers);
/* ========================================================
=============== Email to Supervisor ======================
===========================================================*/
// $supervisor_message = $requester_name. " has made the following request: \\r\
";
// $supervisor_message = $supervisor_message . $message;
// $supervisor_message = wordwrap($supervisor_message, 70);
// echo 'supervisor_email to: '.$approval_email. '<br>';
// echo 'Headers: '.$headers."<br />";
// echo 'Subject: '.$subject."<br /><br />";
// //echo 'supervisor_message: '.$supervisor_message. '<br>';
// $message = wordwrap($message, 70);
// mail($approval_email, $subject, $supervisor_message, $headers);
/* ========================================================
=============== Email to Liquid Planner ======================
===========================================================*/
echo 'Headers: '.$headers."<br /><br />";
// In case any of our lines are larger than 70 characters
// send email to liquid planner
mail($to, $subject, $message, $headers);
echo "<h1>Success</h1>";
echo "<h6>Your task was successfully added.</h6>";
echo "<h6><a href='../index.html'>Back to form</a></h6>";
} // close if !empty($_POST['title'...
else{
echo "<h1>Error:</h1>";
echo "<p>PLease fill out all fields.<a href=\\"../index.html\\">click here to go back to your form Page.</a></p>";
}
?>
</div>
</body>
</html>