#php
#php
Вопрос:
Когда я отправляю форму, значения полей начинаются с домашнего адреса. Половина значений полей не отправляется.
Имя, фамилия, область, телефон, адрес электронной почты не отправляются по почте.
<?php
$fname = $_POST["fname"];
$lname = $_POST["lname"];
$area = $_POST["area"];
$phone = $_POST["phone"];
$email = $_POST["email"];
$street1 = $_POST["street1"];
$street2 = $_POST["street2"];
$city = $_POST["city"];
$state = $_POST["state"];
$zip = $_POST["zip"];
$new = $_POST["new"];
$email = $_POST["email"];
$already = $_POST["already"];
$time = $_POST["time"];
if($_POST["email"]){
$ToEmail = 'info@example.com';
$EmailSubject =' Example Title';
$mailheader = "From: ".$_POST["email"]."rn";
$mailheader .= "Reply-To: ".$_POST["email"];
$MESSAGE_BODY .=' First Name : '.$fname."rn";
$MESSAGE_BODY .=' Last Name : '.$lname."rn";
$MESSAGE_BODY .=' Phone Number : '.$area.' '.$phone."rn";
$MESSAGE_BODY .=' Email : '.$email."rn";
$MESSAGE_BODY .=' Home Address : '.$street1.' '.$street2."rn";
$MESSAGE_BODY .=' City : '.$city."rn";
$MESSAGE_BODY .=' State : '.$state."rn";
$MESSAGE_BODY .=' Zip : '.$zip."rn";
$MESSAGE_BODY .=' Looking for new service : '.$new."rn";
$MESSAGE_BODY .=' Already have service with another provider : '.$already."rn";
$MESSAGE_BODY .=' Select the best time : '.$time."rn";
$MESSAGE_BODY .= 'Service Interested in :'."rn";
if (isset($_POST['servicelist']) amp;amp; !empty($_POST['servicelist'])) {
foreach($_POST['servicelist'] as $selected ){
$MESSAGE_BODY .= $selected."rn";
}
}
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
echo "Your message was sent";
header("refresh:2; url:index.php");
}
else{
echo "Sorry , No mail was sent";
}
?>
Комментарии:
1. Вы не используете
PHPMailer
, вы просто используете встроеннуюmail()
функцию.2. Вам не нужно использовать оба
isset()
и!empty()
.empty()
сначала выполняет собственнуюisset()
проверку.3. как это решить
4. но проблема в полях name, mobile и email
5. Вы уверены, что все эти переменные установлены правильно? Что
var_dump($fname, $lname);
показывает?