Ben bir telefon numarası tek parça olan bilgi toplayan bir form var. Numaraları bu biçimde böylece telefon numarası veriler, ilk 3 basamak için, ve son dört üç alan, bir alan kodu için biri geliyor: xxx-xxx-xxxx (temel ABD biçimi).
Bu üç alan gerekli değildir, ama birisi üç alanın herhangi bir kombinasyonu doldurmak için karar verirse kontrol bazı temel hata yapmak istiyorum:
(Hadi onlar bana sadece alan kodunu vermek diyelim - onlar özünde, gerekli olur yani, bana kendi numarasını vermek istedi demektir, böylece kod 1 olduğunu görmek için kontrol etmelisiniz) her üç veri setleri gönderildi, ve 2) Üç) Sadece sayılardır
İşte işe yarayacağını düşündüm, ama öyle değil:
if((isset($_POST['numArea'], $_POST['numFirst'], $_POST['numSecond']) && (!ctype_digit(trim($_POST['numArea'])) || !ctype_digit(trim($_POST['numFirst'])) || !ctype_digit(trim($_POST['numSecond'])) || strlen(trim($_POST['numArea'])) !== 3 || strlen(trim($_POST['numFirst'])) !== 3 || strlen(trim($_POST['numSecond'])) !== 4))
|| (isset($_POST['numArea']) XOR isset($_POST['numFirst']) XOR isset($_POST['numArea']))){
$errors[] = 'Please give us a valid Phone Number, or remove any numbers if you do not wish to use your phone number.';
}else{
$_POST['PhoneNumber'] = '+01'.$_POST['numArea'].'-'.$_POST['numFirst'].'-'.$_POST['numSecond']; }
Herhangi bir öneriniz?