Я хочу проверить, существует ли электронная почта в таблице или нет. Я использую bootstrap formValidator library, с удаленным методом, , но не приносит никакого правильного результата. Он всегда показывает одно и то же сообщение, независимо от того, неправильно оно или нет, не знаете, что случилось. remote.phpПроверьте, что он уже существует в базе данных, используя json, возвращающий данные из базы данных,
<?php
include("dbcontroller");
$dbhandle=new DBcontroller();
header('Content-type: application/json');
include("connect.php");
$sql="select * from members";
$temp=array();
$result=$db_handle->runQuery($sql);
foreach($result as $row)
{
$temp[]=$row['email'];
}
$valid = true;
if (isset($_POST['email'])) {
$email = $_POST['email'][0];
foreach ($temp as $k => $v) {
if ($email == $v) {
$valid = false;
break;
}
}
}
echo json_encode(array(
'valid' => $valid,
));
?>
form.php
<div class="form-group">
<label class="col-lg-2 control-label">Email</label>
<div class="col-lg-8">
<input type="text" placeholder="Email" id="e_mail" class="form-control" name="email[]" autocomplete="off"/>
</div>
</div>
Javascript файл
'emaill[]': {
validators: {
notEmpty: {
message: 'The email address is required and can\'t be empty'
},
emailAddress: {
message: 'The input is not a valid email address'
},
remote: {
message: 'The email is already exist. you are already a registered user. please try to login?',
url: 'remote.php',
data:{
type:'email'
},
type: 'POST',
delay: 2000
}
}
}
форматирование кода страшен , почему вы ожидаете, что кто-то это прочитает? 'select *' is bad; «javascript file» не является полным файлом javascript. мы не знаем, какой валидатор вы используете для этого объекта. ключ валидатора - 'emaill []' с двумя символами 'l', но ваше свойство ввода' name' - 'email []' с одним 'l'. – naomik
ну, поиск в php вместо sql - один из способов избежать инъекций ... – dandavis