当用户选择等于销售的单选按钮时,它会将信息发送给工作正常的销售部门。
当用户选择支持部门时,我需要为他们需要支持的设备输入一个5位数的序列号。序列号只能在3到5个数字之间。如果序列号不是3到5个数字,例如:
在此框中,如果数字为123提交,如果12324提交,如果x3423死亡,如果12死亡,如果123456死亡。我还需要只接受数字。
我能做这个吗
if($selected == 'sales') {
$body = "From: $name_field'n E-Mail: $email_field'n Address: $address'n City: $city'n State: $state'n PostalCode: $zip'n Department $selected'n How did you about us: $hear'n Country: $country'n Comments: $comment";
mail($to, $subject, $body);
header("Location: http://url/");
}
else if($selected == 'support') {
if(preg_match("/^'d{3}$|^'d{5}$/", $_POST['serial']) === 0) {
$body = "From: $name_field'n E-Mail: $email_field'n Address: $address'n City: $city'n State: $state'n PostalCode: $zip'n Department $selected'n How did you about us: $hear'n Country: $country'n Serial Number: $serial'n Comments: $comment";
mail($toa, $subject2, $body);
header("Location: http://url/");
}
else {
die('<script type="text/javascript"> alert("Serial Number is invalid");</script>');
}
}
}
如果正则表达式不匹配,您当前正在让它发送电子邮件。您的正则表达式也是错误的。还有一些小事。
试试这个:
switch($selected) {
case "sales":
$body = "From........................";
mail($to,$subject,$body);
header("Location: .....");
exit;
case "support":
if( preg_match("(^[0-9]{3,5}$)",$_POST['serial'])) {
$body = "From.......................";
mail($toa,$subject2,$body);
header("Location: ......");
exit;
}
else {
die("Serial Number is invalid!");
}
default:
die("Invalid department selection.");
}