我希望你能幫忙,我嘗試新的項目,並希望用戶使用Facebook登錄。我得到它的工作,並創建一個函數,從SDK中拉出$ profile數組,並將其插入到我的數據庫中,如果沒有電子郵件存在。問題是,它總是添加用戶,無論我嘗試了很多東西來使其工作。Facebook的SDK陣列配置文件
自定義查詢函數是mysqli_query();
函數調用了Facebook SDK:
facebookLoginRegister($profile['name'], $profile['email'], $profile['email']);
我的PHP低於:
function facebookLoginRegister($name, $email, $username){ // start of facebook check
$sql = "SELECT * FROM users WHERE email = '" .$email. "'";
$result = query($sql);
if(count($result) === 1){ // does email exist in database #1
if(isset($_COOKIE['email'])){ // if cookie is set then #2
$sql = "SELECT * FROM users WHERE email = '" .$_COOKIE['email']. "'";
// find the row of info containing credentials
$result = query($sql); // query the sql
$_SESSION['logged_in'] = 1;
$_SESSION['login_user'] = $name;
} // if cookie is set #2
$_SESSION['logged_in'] = 1;
$_SESSION['login_user'] = $name;
setcookie('email', $email, time() + (86400 * 30), "/");
} // email exist in database #1
if(!$result){
$sql = "INSERT INTO users (name, email, username)";
$sql .= " VALUES('" . $username . "', '" . $email . "', '".$name."');";
$query_new_user_insert = query($sql); // this will either be True or false
$_SESSION['logged_in'] = 1;
$_SESSION['login_user'] = $name;
}
}
$結果總是正確的,即使該查詢返回零行。 – Vigikaran
你的'query'調用有一些不一致:'query($ connection,$ sql)'和'query($ sql)'。哪一個是正確的?另外,它返回什麼?資源?數組? –
查詢($ sql) - 這是我創建的幫助函數。 mysqli_query,我認爲查詢會導致一個布爾值。可能是錯誤的! –