Ah, ve kırık bulunuyor:
Tüm sayılar, harfler ve sadece e-posta ilgili noktalama (. _-@) Benim e-posta alanları sterilize izin mükemmel çalışma regex vardı, ve sonra onu doğru kontrol, uygun bir e-posta regex ekleyerek güzel olacağını düşündüm desen. Bu şimdi ne var:
function check_chars_email($str) {
$str_replace = preg_replace("/[^a-zA-Z0-9-@_\.]/","",$str);
if(preg_match("/^(.*)@(.*)\.(.*)$/", $str_replace)) {
return $str_replace;
} else {
return FALSE;
}
Ben *. Etrafında parantez gerekir ama o daha okunaklı hale getirir bulmuyorum farkında değilim.
O işlevini çağırdığınızda, bu gibi:
$esc_email = mysqli_real_escape_string($mysqli, check_chars_email($_POST["email"]));
$tr_email = trim($esc_email);
$_SESSION["email"] = $tr_email;
Ve ben o zaman bu benim kayıt yazısının başında bunu doğrulamak için, diğer şeyler arasında, kullanın:
($ Tr_email === YANLIŞ)
Ve geçerli bir e-posta adresi ile çalışıyor rağmen, ben bir başarısızlık olsun. Değişken boşsa ben de test ediyorum, ben yerine === YANLIŞ == deneyebilirsiniz sanırım, ama ben mümkün olduğunca kesin olmak istiyorum.
Herkes herhangi bir düşünce var mı?