需要一些帮助.使用php-if-else语句


Need some some help. with php if else statements

当用户选择等于销售的单选按钮时,它会将信息发送给工作正常的销售部门。

当用户选择支持部门时,我需要为他们需要支持的设备输入一个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.");
}