Facebook ID instead of Facebook email

This commit is contained in:
Joey Lai
2017-02-01 12:25:13 +01:00
parent 8e98001217
commit 2b893fc283
11 changed files with 148 additions and 138 deletions

View File

@@ -54,6 +54,8 @@ try{
} }
$fbUserID = test_input(($_POST["fbUserID"]));
try { try {
fbRegisterCheck($fbCorrect); fbRegisterCheck($fbCorrect);
} catch(registerException $e){ } catch(registerException $e){

View File

@@ -6,6 +6,10 @@ function checkLoggedIn() {
} }
} }
function emailAlert(){
alert("Bevestigingsemail is gestuurd!\n");
}
function bannedAlert(){ function bannedAlert(){
alert("Uw account is geband!"); alert("Uw account is geband!");
} }

View File

@@ -21,125 +21,8 @@
window.onload=checkLoggedIn(); window.onload=checkLoggedIn();
</script>"; </script>";
} }
include("../views/homeLoginRegister.php");
// Facebook variables
$appID = "353857824997532";
$appSecret = "db47e91ffbfd355fdd11b4b65eade851";
$fbUsername = $fbPassword = $fbConfirmpassword = "";
$fbUsernameErr = $fbPasswordErr = $fbConfirmpasswordErr = $fbEmailErr = $fbBdayErr = "";
$fbCorrect = true;
$fbName = $fbSurname = $fbBday = $fbEmail = "";
$bdayExist = false;
// Register variables
$name = $surname = $bday = $username = $password = $confirmpassword = $location = $housenumber = $email = $confirmEmail = $captcha = $ip = "";
$genericErr = $nameErr = $surnameErr = $bdayErr = $usernameErr = $passwordErr = $confirmpasswordErr = $locationErr = $housenumberErr = $emailErr = $confirmEmailErr = $captchaErr = "";
$correct = true;
$day_date = $month_date = $year_date = "";
$fbDay_date = $fbMonth_date = $fbYear_date = "";
// Login variables
$user = $psw = $remember ="";
$loginErr = $resetErr = $fbRegisterErr ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Checks for which button is pressed
switch ($_POST["submit"]) {
case "login":
try {
$user = ($_POST["user"]);
validateLogin($_POST["user"], $_POST["psw"]);
} catch(loginException $e) {
$loginErr = $e->getMessage();
}
break;
case "reset":
try {
resetEmail($_POST["forgotEmail"]);
sendPasswordRecovery($_POST["forgotEmail"]);
} catch (emailException $e){
$resetErr = $e->getMessage();
echo "<script>
window.onload = function() {
$('#myModal').show();
}
</script>";
}
break;
case "register":
include("register.php");
break;
case "fbRegister":
include("fbRegister.php");
break;
}
}
$fb = new Facebook\Facebook([
'app_id' => $appID,
'app_secret' => $appSecret,
'default_graph_version' => 'v2.2',
]);
$redirect = "https://myhyvesbookplus.nl/~joey/login.php";
$helper = $fb->getRedirectLoginHelper();
try {
// Returns a `Facebook\FacebookResponse` object
$acces_token = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if(!isset($acces_token)){
$permission=["email", "user_birthday"];
$loginurl=$helper->getLoginUrl($redirect,$permission);
}else {
$fb->setDefaultAccessToken($acces_token);
$response = $fb->get('/me?fields=email,name,birthday');
$usernode = $response->getGraphUser();
// echo $usernode->getName() . "</br>";
// echo $usernode->getId() . "</br>";
// echo $usernode->getProperty("email") . "<br><br>";
// echo "Picture<br>";
// echo "<img src='$image' /><br><br>";
$nameSplit = explode(" ", $usernode->getName());
$fbName = $nameSplit[0];
$fbSurname = $nameSplit[1];
$fbEmail = $usernode->getProperty("email");
$image = 'https://graph.facebook.com/' . $usernode->getId() . '/picture?width=200';
if (fbLogin($fbEmail) == 1) {
$fbUserID = getfbUserID($fbEmail)["userID"];
$fbRole = getfbUserID($fbEmail)["role"];
if($fbRole == "banned"){
echo "<script>
window.onload=bannedAlert();
</script>";
} else if($fbRole == "frozen"){
$_SESSION["userID"] = $fbUserID;
echo "<script>
window.onload=frozenAlert();
window.location.href= 'profile.php';
</script>";
} else {
$_SESSION["userID"] = $fbUserID;
header("location: profile.php");
}
} else {
echo "<script>
window.onload = function() {
$('#fbModal').show();
}
</script>";
}
}
/* This view adds login view */ /* This view adds login view */
include("../views/login-view.php"); include("../views/login-view.php");
?> ?>

View File

@@ -41,7 +41,7 @@ body {
form { form {
/*background-color: #a87a87;*/ /*background-color: #a87a87;*/
border-radius: 12px; border-radius: 12px;
height: 70%; height: 80%;
margin: auto; margin: auto;
width: 600px; width: 600px;
overflow-y: auto; overflow-y: auto;
@@ -146,7 +146,7 @@ label {
background-repeat: repeat-x; background-repeat: repeat-x;
background-attachment: fixed;*/ background-attachment: fixed;*/
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
height: 375px; height: 400px;
margin: 16px auto; margin: 16px auto;
overflow-y: auto; overflow-y: auto;
padding: 20px; padding: 20px;

View File

@@ -138,8 +138,6 @@ function resetEmail($variable){
throw new emailException("Verplicht!"); throw new emailException("Verplicht!");
} else if (!filter_var($variable, FILTER_VALIDATE_EMAIL)) { } else if (!filter_var($variable, FILTER_VALIDATE_EMAIL)) {
throw new emailException("Geldige email invullen"); throw new emailException("Geldige email invullen");
} else if (getResetEmail() == 0){
throw new emailException("Email bestaat niet!");
} }
} }
@@ -161,7 +159,7 @@ function matchfbPassword(){
/* Checks if captcha is correctly filled in */ /* Checks if captcha is correctly filled in */
function checkCaptcha($captcha){ function checkCaptcha($captcha){
if(!$captcha){ if(!$captcha){
throw new captchaException("Captcha moet ingevuld worde!"); throw new captchaException("Captcha moet ingevuld worden!");
} else { } else {
$response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6Lc72xIUAAAAAPizuF3nUbklCPljVCVzgYespz8o&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR'])); $response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6Lc72xIUAAAAAPizuF3nUbklCPljVCVzgYespz8o&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']));
if($response->success==false) { if($response->success==false) {

View File

@@ -72,7 +72,7 @@ function validateLogin($username, $password){
} }
} }
function fbLogin($email) { function fbLogin($fbID) {
$stmt = $GLOBALS["db"]->prepare(" $stmt = $GLOBALS["db"]->prepare("
SELECT SELECT
`email`, `email`,
@@ -81,16 +81,16 @@ function fbLogin($email) {
FROM FROM
`user` `user`
WHERE WHERE
`email` LIKE :email `facebookID` LIKE :facebookID
"); ");
$stmt->bindValue(":email", $email); $stmt->bindValue(":facebookID", $fbID);
$stmt->execute(); $stmt->execute();
return $stmt->rowCount(); return $stmt->rowCount();
} }
function getfbUserID($email) { function getfbUserID($fbID) {
$stmt = $GLOBALS["db"]->prepare(" $stmt = $GLOBALS["db"]->prepare("
SELECT SELECT
`userID`, `userID`,
@@ -98,10 +98,10 @@ function getfbUserID($email) {
FROM FROM
`user` `user`
WHERE WHERE
`email` LIKE :email `facebookID` LIKE :facebookID
"); ");
$stmt->bindValue(":email", $email); $stmt->bindValue(":facebookID", $fbID);
$stmt->execute(); $stmt->execute();
return $stmt->fetch(PDO::FETCH_ASSOC); return $stmt->fetch(PDO::FETCH_ASSOC);
} }

View File

@@ -128,6 +128,7 @@ function fbRegisterAccount() {
username, username,
password, password,
email, email,
facebookID,
role) role)
VALUES( VALUES(
:fname, :fname,
@@ -136,6 +137,7 @@ function fbRegisterAccount() {
:username, :username,
:password, :password,
:email, :email,
:facebookID,
'user' 'user'
)"); )");
$fbDay_date = test_input(($_POST["fbDay_date"])); $fbDay_date = test_input(($_POST["fbDay_date"]));
@@ -149,6 +151,7 @@ function fbRegisterAccount() {
$stmt->bindValue(":lname", test_input($_POST["fbSurname"])); $stmt->bindValue(":lname", test_input($_POST["fbSurname"]));
$stmt->bindValue(":bday", test_input($fbBday)); $stmt->bindValue(":bday", test_input($fbBday));
$stmt->bindValue(":username", test_input($_POST["fbUsername"])); $stmt->bindValue(":username", test_input($_POST["fbUsername"]));
$stmt->bindValue(":facebookID", test_input($_POST["fbUserID"]));
$stmt->bindValue(":password", test_input($hash)); $stmt->bindValue(":password", test_input($hash));
$stmt->bindValue(":email", test_input(strtolower($_POST["fbEmail"]))); $stmt->bindValue(":email", test_input(strtolower($_POST["fbEmail"])));

View File

@@ -22,7 +22,7 @@
name="fbUsername" name="fbUsername"
value="<?php echo $fbUsername ?>" value="<?php echo $fbUsername ?>"
title="Moet minimaal 6 karakters bevatten" title="Moet minimaal 6 karakters bevatten"
> required>
*<span class="error"> <?php echo $fbUsernameErr;?></span> *<span class="error"> <?php echo $fbUsernameErr;?></span>
<ul> <ul>
<li>Minstens 6 karakters</li> <li>Minstens 6 karakters</li>
@@ -37,7 +37,7 @@
name="fbPassword" name="fbPassword"
value="<?php echo $fbPassword ?>" value="<?php echo $fbPassword ?>"
id="password" id="password"
> required>
*<span class="error"> <?php echo $fbPasswordErr;?></span> *<span class="error"> <?php echo $fbPasswordErr;?></span>
<ul> <ul>
<li>Minstens 8 karakters</li> <li>Minstens 8 karakters</li>
@@ -51,8 +51,7 @@
name="fbConfirmpassword" name="fbConfirmpassword"
value="<?php echo $fbConfirmpassword ?>" value="<?php echo $fbConfirmpassword ?>"
id="confirmpassword" id="confirmpassword"
title="Herhaal wachtwoord" title="Herhaal wachtwoord">
>
*<span class="error"> <?php echo $fbConfirmpasswordErr;?></span> *<span class="error"> <?php echo $fbConfirmpasswordErr;?></span>
</div> </div>
@@ -88,9 +87,9 @@
value="<?php echo $fbSurname ?>"> value="<?php echo $fbSurname ?>">
<?php echo $fbSurname ?> <?php echo $fbSurname ?>
<input type="hidden" <input type="hidden"
name="fbBday" name="fbUserID"
value="<?php echo $fbBday ?>"> value="<?php echo $fbUserID ?>">
<?php echo $fbBday ?> <?php echo $fbUserID ?>
<input type="hidden" <input type="hidden"
name="fbEmail" name="fbEmail"
value="<?php echo $fbEmail ?>"> value="<?php echo $fbEmail ?>">

View File

@@ -19,7 +19,8 @@
class="middle" class="middle"
placeholder="Voer uw email in" placeholder="Voer uw email in"
name="forgotEmail" name="forgotEmail"
title="Voer een email in"> title="Voer een email in"
required>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<div class="login_containerfault"><span><?php echo $resetErr; ?></span></div> <div class="login_containerfault"><span><?php echo $resetErr; ?></span></div>

View File

@@ -0,0 +1,121 @@
<?php
// Facebook variables
$appID = "353857824997532";
$appSecret = "db47e91ffbfd355fdd11b4b65eade851";
$fbUsername = $fbPassword = $fbConfirmpassword = "";
$fbUsernameErr = $fbPasswordErr = $fbConfirmpasswordErr = $fbEmailErr = $fbBdayErr = "";
$fbCorrect = true;
$fbName = $fbSurname = $fbBday = $fbEmail = $fbUserID = "";
$bdayExist = false;
// Register variables
$name = $surname = $bday = $username = $password = $confirmpassword = $location = $housenumber = $email = $confirmEmail = $captcha = $ip = "";
$genericErr = $nameErr = $surnameErr = $bdayErr = $usernameErr = $passwordErr = $confirmpasswordErr = $locationErr = $housenumberErr = $emailErr = $confirmEmailErr = $captchaErr = "";
$correct = true;
$day_date = $month_date = $year_date = "";
$fbDay_date = $fbMonth_date = $fbYear_date = "";
// Login variables
$user = $psw = $remember ="";
$loginErr = $resetErr = $fbRegisterErr ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Checks for which button is pressed
switch ($_POST["submit"]) {
case "login":
try {
$user = ($_POST["user"]);
validateLogin($_POST["user"], $_POST["psw"]);
} catch(loginException $e) {
$loginErr = $e->getMessage();
}
break;
case "reset":
try {
resetEmail($_POST["forgotEmail"]);
sendPasswordRecovery($_POST["forgotEmail"]);
} catch (emailException $e){
$resetErr = $e->getMessage();
echo "<script>
window.onload = function() {
$('#myModal').show();
}
</script>";
}
break;
case "register":
include("register.php");
break;
case "fbRegister":
include("fbRegister.php");
break;
}
}
$fb = new Facebook\Facebook([
'app_id' => $appID,
'app_secret' => $appSecret,
'default_graph_version' => 'v2.2',
]);
$redirect = "https://myhyvesbookplus.nl/~joey/login.php";
$helper = $fb->getRedirectLoginHelper();
try {
// Returns a `Facebook\FacebookResponse` object
$acces_token = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if(!isset($acces_token)){
$permission=["email", "user_birthday"];
$loginurl=$helper->getLoginUrl($redirect,$permission);
}else {
$fb->setDefaultAccessToken($acces_token);
$response = $fb->get('/me?fields=email,name,birthday');
$usernode = $response->getGraphUser();
// echo $usernode->getName() . "</br>";
echo $usernode->getID() . "</br>";
// echo $usernode->getProperty("email") . "<br><br>";
// echo "Picture<br>";
// echo "<img src='$image' /><br><br>";
$nameSplit = explode(" ", $usernode->getName());
$fbName = $nameSplit[0];
$fbSurname = $nameSplit[1];
$fbUserID = $usernode->getID();
$fbEmail = $usernode->getProperty("email");
// $image = 'https://graph.facebook.com/' . $usernode->getId() . '/picture?width=200';
if (fbLogin($fbUserID) == 1) {
$fbID = getfbUserID($fbUserID)["userID"];
$fbRole = getfbUserID($fbUserID)["role"];
if($fbRole == "banned"){
echo "<script>
window.onload=bannedAlert();
</script>";
} else if($fbRole == "frozen"){
$_SESSION["userID"] = $fbID;
echo "<script>
window.onload=frozenAlert();
window.location.href= 'profile.php';
</script>";
} else {
$_SESSION["userID"] = $fbID;
header("location: profile.php");
}
} else {
echo "<script>
window.onload = function() {
$('#fbModal').show();
}
</script>";
}
}

View File

@@ -128,7 +128,6 @@ var facebookCLose = document.getElementsByClassName("close")[2];
if (e.keyCode == 27) { if (e.keyCode == 27) {
modal.style.display = "none"; modal.style.display = "none";
registerModal.style.display = "none"; registerModal.style.display = "none";
facebookModal.style.display = "none";
} }
}); });