我四处张望,高高搜寻。我已经看到了我即将发布的 PHP 代码的许多问题,但与我所看到的具体问题无关。
这是我的问题 - 两行 ($values/$required) 我有 'name','email',subject','message'
我想在其中添加“电话”。(即“姓名”、“电子邮件”、“电话”、“主题”、“信息”)
如果我将它添加到两行之一(不管哪一行),我仍然可以提交表单,但它不会在我收到的电子邮件中给我那行(电话)。
如果我将“电话”添加到两行($values/$required),那么当我点击提交(所有行都填写完毕)时,我会得到一个“请填写所有必填字段,标有 *”。
有人能告诉我我错过了什么吗?
另外 - 'subject' 实际上是一个 vin/body # 但如果我将 html 中的标签更改为 'vin' 而不是 'subject' 那么它会给我“请填写所有必填字段,标有 *”错误所以我只是将其保留为“主题”,即使这不是与表单中该行项目真正相关的内容。
<?php
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('name','email','subject','message',);
$required = array('name','email','subject','message',);
$your_email = "myemail@mydomain.com";
$email_subject = "VIN / Body - ".$_POST['subject'];
$email_content = "PART INQUIRY INFORMATION BELOW \n";
foreach ($values as $key => $value) {
if (in_array($value,$required)) {
if ($key != 'subject' && $key != 'company') {
if (empty($_POST[$value])) {
echo 'Please fill in all required fields, marked with *';
exit;
}
}
}
$email_content .= $value.': '.$_POST[$value]."\n";
}
if(@mail($your_email,$email_subject,$email_content)) {
echo 'Message sent!';
} else {
echo 'ERROR!';
}
}
?>