Zayıf biçimlendirme için özür dilerim, ancak bana yardımcı olabilir. İlk önce e-postanın veritabanında olup olmadığını kontrol ediyorum. Benim sorunum burası. Diğer her şey $ checkemail hariç çalışıyor.MySQL veritabanında e-postanın olup olmadığını kontrol etme hatası?
<?php
if (array_key_exists("submit", $_POST)) {
$link = mysqli_connect("localhost", "charlieroth", "Charlie123", "betausersdb");
if (mysqli_connect_error()) {
die("Error Connecting To Database");
}
$checkemail = "SELECT `email` FROM `users` WHERE `email` = '".mysqli_real_escape_string($link, $_POST['email'])."'";
$query = mysqli_query($checkemail);
if (mysqli_num_rows($query) > 0) {
// do nothing
} else {
if (validateEmail($_POST['email'])) {
$addEmail = "INSERT INTO `users` (`email`) VALUES ('".mysqli_real_escape_string($link, $_POST['email'])."')";
mysqli_query($link, $addEmail);
// add email
}
}
}
function validateEmail($useremail) {
if (!preg_match('/^([a-z0-9\+\_\-\.]+)@([a-z0-9\+\_\-\.]{2,})(\.[a-z]{2,4})$/i', $useremail)) {
// echo "Invalid Email";
return false;
} else {
$domain = array('umich.edu');
list(, $user_domain) = explode('@', $useremail, 2);
return in_array($user_domain, $domain);
}
}
?>
Bir hata mesajı alıyor musunuz? Mysqli_error() 'ı kontrol ettiniz mi? mysqli_query ($ link, $ addEmail) veya die (mysqli_error ($ link)); – Sean
Bunu daha ayrıntılı olarak açıklayabilir misiniz? –
@Sean Gerçekten bunu nereye ekleyeceğimi bilmiyorum. Ben PHP ve MySQL –