• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Het Grote Vibe Code Topic

    Jeroen.G 11 mei 2026 om 09:28
  • Ictscripters Chat

    AarClay 21 april 2026 om 11:34
  • PWYL source gezocht

    Syntax 25 maart 2026 om 11:44
  • Help testers nodig voor android app Urgent

    Servertjee 20 februari 2026 om 12:07
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    Servertjee 20 februari 2026 om 12:06
  • Afspraken systeem met planbeperking

    Jeffrey.Hoekman 20 februari 2026 om 11:52
  • Developer Gezocht

    Servertjee 19 februari 2026 om 17:31
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Servertjee 18 februari 2026 om 16:57

Marktplaats

  • 370 Nieuwe Domeinnamen April 2026

    shiga 1 mei 2026 om 12:06
  • Snel een website nodig?

    Syntax 10 april 2026 om 12:55
  • Sicarras.com - Moderne Mafia Text-Based RPG

    Syntax 5 april 2026 om 16:22

Facebook login

  • roy59
  • 20 februari 2019 om 09:54
  • roy59
    Beginner
    Berichten
    1
    • 20 februari 2019 om 09:54
    • #1

    Wie kan mij helpen met het Facebook login op een website?
    Ik heb een website waar je altijd via Facebook kon inloggen, dit heeft altijd gewerkt maar blijkt op versie 2.2 te zijn gemaakt.
    Inmiddels zitten ze op versie 3.2 en nu werkt het niet meer en krijg het ook niet werkend momenteel.

    Wie heeft er zin en tijd om mee te denken zodat het weer werkt.

    Dit is de fout wat die nu aangeeft:
    Graph returned an error: (#100) Invalid edge (access_token) on node type (Page)

    PHP: facebooklogin.php
    <?php 
    
    
    
    
    
    
    session_start();
    error_reporting(0);
    
    
    //already logged in?
    if ($_SESSION["valid_een"] && $_SESSION["valid_twee"] && !isset($_GET["logout"])) { 
    	include_once("../includes/db_connect.php");
    	$url = WEBSITE_URL."/members/";
    	header("Location: $url"); 
    	exit;
    } 
    
    
    
    
    include_once("../includes/functions.php"); 
    require(WEBSITE_DIR.'/includes/Facebook/autoload.php');
    
    
    $fb = new Facebook\Facebook([
      'app_id' => $FB_APPCODE,
      'app_secret' => $FB_SECTRET,
      'default_graph_version' => 'v2.2',
      ]);
    
    
    $helper = $fb->getRedirectLoginHelper();
    
    
    $permissions = ['email']; // Optional permissions
    
    
    $loginUrl = $helper->getLoginUrl(WEBSITE_URL.'/members/fb-callback.php', $permissions);
    
    
    header("Location: $loginUrl");
    ?>
    Toon Meer
    PHP: fb-callback.php
    <?php 
    
    
    
    
    
    
    session_start();
    error_reporting(0);
    
    
    //already logged in?
    if ($_SESSION["valid_een"] && $_SESSION["valid_twee"] && !isset($_GET["logout"])) { 
    
    
    	include_once("../includes/db_connect.php");
    	$url = WEBSITE_URL."/members/";
    	header("Location: $url"); 
    	exit;
    	
    } 
    
    
    include_once("../includes/functions.php"); 
    require(WEBSITE_DIR.'/includes/Facebook/autoload.php');
    
    
    $fb = new Facebook\Facebook([
      'app_id' => $FB_APPCODE,
      'app_secret' => $FB_SECTRET,
      'default_graph_version' => 'v2.2',
      ]);
    
    
    $helper = $fb->getRedirectLoginHelper();
     
    try {
      $accessToken = $helper->getAccessToken();
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
      // When Graph returns an error
      echo 'Graph returned an error: ' . $e->getMessage();
      exit;
    } catch(Facebook\Exceptions\FacebookSDKException $e) {
      // When validation fails or other local issues
      echo 'Facebook SDK returned an error: ' . $e->getMessage();
      exit;
    }
    
    
    if (isset($accessToken)) {
    	$fb->setDefaultAccessToken($accessToken);
    	
    	try {
    	  $response = $fb->get('/me?fields=id,name,email');
    	  $user = $response->getGraphUser();
    	} catch(Facebook\Exceptions\FacebookResponseException $e) {
    	  // When Graph returns an error
    	  echo 'Graph returned an error: ' . $e->getMessage();
    	  exit;
    	} catch(Facebook\Exceptions\FacebookSDKException $e) {
    	  // When validation fails or other local issues
    	  echo 'Facebook SDK returned an error: ' . $e->getMessage();
    	  exit;
    	}
    }
    
    
    $user = $response->getGraphUser();
    
    
    //client data from FB
    $fb_client_id 		= $user['id'];
    $fb_client_name 	= $user['name'];
    $fb_client_email 	= $user['email'];
    
    
     
    
    
    
    
    //check if user exists in our database check on facebook id or email
    // email exists, but no facebook id? update profile with facebook id
    $fb_result = q ("select 
    								wgid,emailmd,wachtwoordmd,valid
    								from members where 
    								email = '$fb_client_email' AND facebookid = '' 
    								limit 1");
    								
    
    
    	
    	//yes, member exists, login
    	if ($fb_result->num_rows>0){
    
    
    			$row_fb = $fb_result->fetch_assoc();
    			
    			$local_client_id = $row_fb["wgid"]; 
    			
    			//update profile with facebook id
    			
    					$sql_insert = q("update members set 
    											facebookid = '$fb_client_id'
    											
    											where wgid = '$local_client_id'  
    											LIMIT 1"); 
     			
    			
    			
    			
    				
    	}
    	
    //check if facebook id is member
    $fb_result = q ("select 
    								wgid,emailmd,wachtwoordmd,valid
    								from members where 
    								email = '$fb_client_email' AND facebookid = '$fb_client_id' 
    								limit 1");
    								
    
    
    	
    	//yes, member exists, login
    	if ($fb_result->num_rows>0){
    		
    		$row_fb = $fb_result->fetch_assoc();
    		
    		//user with this email is blocked by admin
    			if($row_fb["valid"]==0){
    						$logoutUrl = $facebook->getLogoutUrl(array( 'next' => WEBSITE_URL.'/members/login.php?blockeduser=1'));		
    				header("Location: $logoutUrl");
    				exit;	
    				
    			}
    			
    			$latste_inlog = time();
    			$inlog_update = "update members 
    								set laatsteinlog = '$latste_inlog', xingelogd=xingelogd+1 
    								where facebookid = '$fb_client_id' 
    								LIMIT 1"; 
    								
    			$inlog_update = q($inlog_update);
    			
    			
    			
    			$_SESSION["valid_wgid"] 	= $row_fb["wgid"];
    			$_SESSION["valid_een"] 		= $row_fb["emailmd"];
    			$_SESSION["valid_twee"] 	= $row_fb["wachtwoordmd"]; //sha1($wachtwoord);
    	 
    			
    			if(isset($_SESSION["doost"])) { 
    					
    					$urlto = StripDanger($_SESSION["doost"]);
    					unset($_SESSION["doost"]);
    					header("Location: ".$urlto);
    				
    					
    			}else
    			
    			header("Location: ".WEBSITE_URL."/members/?viafb");
    			
    			exit;
    				
    	}
    	//no? create new profile
    	else{
    		
    		//we did not get email from facebook, or user denied
    		if(empty($fb_client_email)){
    			
    			
    			
    			
    			
    			
    			header("Location: ".WEBSITE_URL."/members/register.php?set=1&facebook=false");
    			exit;
    			
    		}
    		
    		
    		//no, member here for the first time
    
    
    		// No errors, so save to DB
    		$time = time();
    		$valid = generatePassword(20);
    		$emailmd = sha1(STD_WN_MAIL.$fb_client_email);	
    		$validto = time(); //prob never used, but just to be sure.	
    		
    		//create pass for customer wich will be send to him via email
    		$wachtwoord 	= generatePassword(6);
     		$wachtwoordmd 	= sha1(STD_WN_PASS.$wachtwoord);  	
    		
    		//from fb
     		$contact		= StripDanger($fb_client_name);
     		
    		if(empty($username))
    			$username = $contact;
     
    		
    	//if(STD_CREDITS==999)
    	$newcredits = '0';
    	//else $newcredits = STD_CREDITS;
    		
    
    
    		//put it all in the DB
    		$sql_insert = "insert into members 
    					(facebookid,email, emailmd, wachtwoordmd, bedrijf,username,bedrijfsnaam, contactpersoon,adres,postcode,
    					woonplaats, glatti, glongg, telefoon, geslacht, website, lidsinds, credits, validto, verlengd, valid, receivemail) 
    					values 
    					('$fb_client_id','$fb_client_email','$emailmd', '$wachtwoordmd', '0','$contact','','$contact','','',
    					'', '', '', '', '1', '', '$time', '$newcredits', '$validto', '$time', '1','1')";
    					
     		$result = q($sql_insert);
    		$klantenid = mysqli_insert_id($GLOBALS['db']); 
    		
    			$_SESSION["valid_wgid"] 	= $klantenid;
    			$_SESSION["valid_een"] 		= $emailmd;
    			$_SESSION["valid_twee"] 	= $wachtwoordmd; //sha1($wachtwoord);
    			
    
    
    			
    			//mail wachtwoord naar user:
    			$message = formatString(LANG_COMP_REG_HELLO,array(str_replace('\\','',$contact))).', <br /><br />
    			'.formatString(LANG_COMP_REG_WELCTA,array(ucfirst(STD_DOMEIN))).'<br /><br />
    			
    			'.LANG_COMP_REG_EMAD.': '.$fb_client_email.'<br />
    			'.LANG_COMP_REG_PASS.': '.$wachtwoord.'<br />
    			<br />
    			'.LANG_COMP_REG_REAGARDS.',<br />
    			<br />
    			'.ucfirst(STD_DOMEIN).'<br />
    			<br />
    			<br />
    			
    			'.LANG_COMP_REG_THAUTOP;
                    
       		//echo $message; //debug test	
    	 
    		$subject = formatString(LANG_COMP_REG_SUBJECT,array(ucfirst(STD_DOMEIN))); //STD_DOMEIN;
    		
    		$x = send_mail(STD_EMAIL_WEB,STD_DOMEIN,$fb_client_email,$contact,$subject,$message);
    		
    			 header("Location: ".WEBSITE_URL."/members/?welcomefb");
    			exit;	
    	
    		
    		
    	}
    
    
    
    
    
    
    
    
    
    
    exit;
    
    
    
    
    ?>
    Toon Meer

    Bewerkt één keer, laatst door roy59 (20 februari 2019 om 14:35).

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Dees
    Elite members
    Ontvangen Reacties
    64
    Articles
    1
    Berichten
    358
    • 20 februari 2019 om 10:47
    • #2

    Misschien kan je is kijken naar services zoals Socialite of oauth2-client. Die doen het meeste werk voor je. Stukkie makkelijker, naar mijn mening.

    Met vriendelijke groet,

    Dees

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Datalek bij leverancier Canvas - Universiteit van Amsterdam

    ICTscripters 10 mei 2026 om 12:03
  • Data privacy in 2026: Hoe de naleving van GDPR verandert

    ICTscripters 8 mei 2026 om 12:16
  • Tech.eu - Europees Start-up, Financiering en Technologienieuws

    ICTscripters 7 mei 2026 om 12:15

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design