2011-10-22 15 views
5

Yardımlarınız için çok teşekkür ederiz. Ana makinelerimdeki sunucu tarafı güncelleştirmeler, yorum formumun iki doğrulama hatası vermesine neden oldu. Birincisi: preg_match() döndürür Uyarı: preg_match() [function.preg-match]: Derleme başarısız oldu: [komut dosyasının bulunduğu yer ve satır hatası] 'nda ofset 13'te karakter sınıfında sıra dışı aralık belirlendi - ikincisi konu kontrolüne alındı ofset 14.PHP 5.2 preg_match() derleme hatası

Bu e-posta adresi çeke yapar:

if (preg_match('/[^a-zA-Z0-9_-.]/', $_POST['txtEmail'])) 

ve konu çek:

if (preg_match('/[^a-zA-Z0-9:?-. ]/', $_POST['txtSubject'])) 

PHP ile aşina değilim ama kesip yapıştırabilirsiniz! Web sitemde frowey.com ve yorum formları, OS güncellemelerini barındıran bir hata oluşturmaya başladı. Şimdiden teşekkürler.

cevap

1
if (preg_match('/[^a-zA-Z0-9_\.-]/', $_POST['txtEmail'])) 

if (preg_match('/[^a-zA-Z0-9:\?\.-]/', $_POST['txtSubject'])) 
+0

Büyük sayesinde: eksi önce ters eğik kullanın. Şimdi kontrol edip sonuçları size bildiririm. – mochj

+0

Sıralandı! Teşekkürler. Ayrıca e-posta adresi doğrulamasında değişiklik yapmak için de gereklidir. Şimdi tüm işler. Tekrar teşekkürler. – mochj

9

- eksi'den kurtulmanız gerekir. Hata mesajı gibi, karakter sınıfları ile özel bir anlamı vardır.

preg_match('/[^a-zA-Z0-9_\-.]/' 

(Alternatif - karakter grubundaki ilk veya son şey olabilir, bu nedenle özel fonksiyonunu kaybeder.) Her iki cevaplar için

+0

Büyük teşekkürler. Şimdi kontrol ediyorum. – mochj

+0

Tüm şimdi çalışıyor. Tekrar teşekkürler. Her iki cevap da çok yardımcı oldu. Çok takdir edildi. – mochj