Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查数据库中已经存在的电子邮件,使用json从数据库返回数据,_Javascript_Php_Html - Fatal编程技术网

Javascript 检查数据库中已经存在的电子邮件,使用json从数据库返回数据,

Javascript 检查数据库中已经存在的电子邮件,使用json从数据库返回数据,,javascript,php,html,Javascript,Php,Html,我想检查表中是否已经存在电子邮件。 我正在使用bootstrap formValidator库和远程方法, 但它没有产生任何适当的结果。 它总是显示相同的信息,不管是对是错,都不知道是什么错了。 remote.php <?php include("dbcontroller"); $dbhandle=new DBcontroller(); header('Content-type: application/json'); include("connect.php"); $sql="

我想检查表中是否已经存在电子邮件。 我正在使用bootstrap formValidator库和远程方法, 但它没有产生任何适当的结果。 它总是显示相同的信息,不管是对是错,都不知道是什么错了。 remote.php

    <?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,
));
?>

为什么不在SQL查询中进行检查

$sql = "SELECT email FROM members WHERE email = '".$_POST['email']."'";
现在,您只需检查它是否返回超过0个结果:

$valid = false;
$result=$db_handle->runQuery($sql);
if(sizeOf($results) > 0) {
    $valid = true;
}

虽然您可能应该避开$\u POST,但要避免SQL注入;-)

代码格式很糟糕。你为什么希望有人读到这些<代码>选择*不正确;“javascript文件”不是一个完整的javascript文件。我们不知道您对该对象使用的验证器。验证器键是
emaill[]
带有两个
l
字符,但您输入的
name
属性是
email[]
带有一个
l
字符。好吧,用php而不是sql搜索是避免注入的一种方法……使用count(电子邮件),更好的方法是检查i thinksizeOf()的大小只是count的别名。所以它们都是一样的;)我的意思是,在查询中,
SELECT count(email)FROM members WHERE email='.”“$\u POST['email']”“;
sql injection alert,不要在生产中使用它。您必须转义$u POST变量öhm您确实看到代码后面的句子,对吗?:D
$sql = "SELECT email FROM members WHERE email = '".$_POST['email']."'";
$valid = false;
$result=$db_handle->runQuery($sql);
if(sizeOf($results) > 0) {
    $valid = true;
}