我的表单不会显示值,除非我将它们添加到required =数组并且不是所有内容都是必需的.因此,firname,lasname和email将显示在已发送的电子邮件中,但不会显示电话和消息(我还有其他字段要添加).
这是我的代码:
if(!$_POST) exit;
$email = $_POST['email'];
//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
$error.="Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$values = array('firname','lasname','email','phone','message');
$required = array('firname','lasname','email',);
$your_email = "aasdasd@email.com";
$email_subject = "Reservations Form: ".$_POST['subject'];
$email_content = "new reservation:\n";
foreach($values as $key => $value){
if(in_array($value,$required)){
if ($key != 'subject' && $key != '') {
if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
}
$email_content .= $value.': '.$_POST[$value]."\n";
}
}
if(@mail($your_email,$email_subject,$email_content)) {
header('Location: http://www.example.com/test/reservation-submission.html');
} else {
echo 'ERROR!';
}
}
?>`
- First Name *
- Last Name *
- Email *
- Phone Number *
- Best Time To Call
Morning
Afternoon
Evening
- Age
25+
21-24
- Rental *
12 Passenger Van
15 Passenger Van
Cargo Van
- Pick up Location *
Select Location
U-Save JFK
U-Save LGA
- Estimated Mileage
Under 100
100-500
500+
- Pick Up Date *
- Pick Up Time *
12:00 am12:30 am
01:00 am01:30 am
02:00 am02:30 am
03:00 am03:30 am
04:00 am04:30 am
05:00 am05:30 am
06:00 am06:30 am
07:00 am07:30 am
08:00 am08:30 am
09:00 am09:30 am
10:00 am10:30 am
11:00 am11:30 am
12:00 pm12:30 pm
01:00 pm01:30 pm
02:00 pm02:30 pm
03:00 pm03:30 pm
04:00 pm04:30 pm
05:00 pm05:30 pm
06:00 pm06:30 pm
07:00 pm07:30 pm
08:00 pm08:30 pm
09:00 pm09:30 pm
10:00 pm10:30 pm
11:00 pm11:30 pm
- Drop Off Date *
- Drop Off Time *
12:00 am12:30 am
01:00 am01:30 am
02:00 am02:30 am
03:00 am03:30 am
04:00 am04:30 am
05:00 am05:30 am
06:00 am06:30 am
07:00 am07:30 am
08:00 am08:30 am
09:00 am09:30 am
10:00 am10:30 am
11:00 am11:30 am
12:00 pm12:30 pm
01:00 pm01:30 pm
02:00 pm02:30 pm
03:00 pm03:30 pm
04:00 pm04:30 pm
05:00 pm05:30 pm
06:00 pm06:30 pm
07:00 pm07:30 pm
08:00 pm08:30 pm
09:00 pm09:30 pm
10:00 pm10:30 pm
11:00 pm11:30 pm
- Additional Infomation
解决方法:
您已将{放置在错误的位置,这会导致非必需字段一起被忽略.
foreach($values as $key => $value){
if(in_array($value,$required)){
if ($key != 'subject' && $key != '') {
if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
}
} //
$email_content .= $value.': '.$_POST[$value]."\n";
// }
}
标签:php,forms
来源: https://codeday.me/bug/20190620/1246297.html