Help!

I am trying to modify a php script that I bought. Everything works great except for the message part of it. It only puts the bottom five message items in the email. I can rearrange them, remove some, etc. but it always only sends five. I couldn’t find anwhere in the script that designated five message lines. Please help!


<?php

// TO EMAIL
//
// Enter the email address you want to recieve the messages sent
// from your website contact form. 
// ----------------------------------------------------------------


$YourEmailAddress = "[email protected]";	



// Do not edit beyond this point if you are not familiar with php
// ----------------------------------------------------------------

error_reporting (E_ALL ^ E_NOTICE);
$post = (!empty($_POST)) ? true : false;
if($post) {
	function ValidateEmail($email){

		$regex = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^";
		$eregi = preg_replace($regex,'', trim($email));
		
		return empty($eregi) ? true : false;
	}

	$name = stripslashes($_POST['Name']);
	$facility = stripslashes($_POST['Facility']);
	$to = $YourEmailAddress; //trim($_POST['to']);
	$email = trim($_POST['Email']);
	$subject = stripslashes($_POST['subject']);
	$address = stripslashes($_POST['Address']);
	$city = stripslashes($_POST['City']);
	$state = stripslashes($_POST['State']);
	$zip = stripslashes($_POST['Zip']);
	$message = stripslashes($_POST['Message']);
	$phone = stripslashes($_POST['Phone']);
	$altphone = stripslashes($_POST['Altphone']);
	$error = '';
	$Reply=$to;
	$from=$to;
	
	// Check Name Field
	if(!$name) {
		$error .= 'Please enter your name.<br />';
	}
	
	// Checks Email Field
	if(!$email) { 
		$error .= 'Please enter an e-mail address.<br />';
	}
	if($email && !ValidateEmail($email)) {
		$error .= 'Please enter a valid e-mail address.<br />';
	}
	if(is_numeric($phone) && strlen($phone) < 8) {
		$error .= "Please enter your full phone number.<br />";
	}

	

	// Let's send the email.
	if(!$error) {
		$messages="From: $email <br>";
		$messages.="Name: $name <br>";
		$messages.="Facility: $facility <br>";
		$messages.="Email: $email <br>";
		$messages.="Address: $address <br>";
		$messages.="City: $city <br>";
		$messages="State: $state <br>";
		$messages.="Zip: $zip <br>";
		$messages.="Phone: $phone <br>";
		$messages.="Alternate Phone: $altphone <br>";
		$messages.="Message: $message <br>";
		$emailto=$to;
		
		$mail = mail($emailto,$subject,$messages,"From: $from <$Reply>\nReply-To: $Reply \nContent-type: text/html");	

		if($mail) {
    header('Location: thankyou.htm');
		}
	} else {
		echo '<div class="error">'.$error.'</div>';
	}

	}
?>

Try putting all the strings into one message string.

[php] // Let’s send the email.
if(!$error) {
$messages=“From: $email \n
Name: $name \n
Facility: $facility \n
Email: $email \n
Address: $address \n
City: $city \n
State: $state \n
Zip: $zip \n
Phone: $phone \n
Alternate Phone: $altphone \n
Message: $message \n”;
$emailto=$to;

  $mail = mail($emailto,$subject,$messages,"From: $from <$Reply>\nReply-To: $Reply \nContent-type: text/html");   [/php]

The problem is $messages= you must use $messages.=

$messages = , ovewrite content.

$messages="From: $email
";
$messages.="Name: $name
";
$messages.="Facility: $facility
";
$messages.="Email: $email
";
$messages.="Address: $address
";
$messages.="City: $city
";
$messages="State: $state
";
$messages.="Zip: $zip
";
$messages.="Phone: $phone
";
$messages.="Alternate Phone: $altphone
";
$messages.="Message: $message
";

Use
, don’t use \n because header of mail indicates text/html

Sponsor our Newsletter | Privacy Policy | Terms of Service