• 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

  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 30 december 2025 om 22:29
  • Developer Gezocht

    K.Rens 30 december 2025 om 12:32
  • Op zoek naar de legends

    Jeffrey.Hoekman 9 december 2025 om 09:41
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 28 december 2025 om 21:20
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Facebook Login Session

  • J.Rijdes
  • 17 september 2012 om 19:59
  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 17 september 2012 om 19:59
    • #1

    Hallo,

    Ik heb voor mijn website een facebook login geïntegreerd. Alleen zit met een probleem met de sessions.
    Met de normale login doet de login het. En geeft een sessie mee: $_SESSION['id'] .

    Nu met de facebook login stuurt de index van de ingame gelijk weer terug naar de outgame.
    Dat komt door de check in de ingame:

    PHP
    if(!isset($_SESSION['id'])){		header('Location: ../index.php');	}


    Maar hoe zorg ik dat de facebook sessie hier ook wordt gecontroleerd?
    Facebook login script:

    PHP
    <?/* 	For this to work you will have to download the Facebook PHP SDK	https://github.com/facebook/php-sdk/*/require('facebook.php');/*	Set these variables to application's ones*/$app_id = '410691255645169';$app_secret = 'b6cd658419182d749504357e8562b0fe';// init fb object$facebook = new Facebook(array(	'appId'		=> $app_id,	'secret'	=> $app_secret,	'cookie'	=> false));// get a session for user$session = $facebook->getSession();$me = null;// if have session get user dataif ($session){	try	{		$uid = $facebook->getUser();		$me = $facebook->api('/me');	}	catch(FacebookApiException $e)	{		error_log($e);	}}// if we have user data show logout button, else show login button with extended permission to get his email addy$data = '';if ($me){	// store user data here!!!	print_r($me);	$logoutUrl = $facebook->getLogoutUrl();	$data = '<a href="'.$logoutUrl.'"><img src="http://static.ak.fbcdn.net/rsrc.php/z2Y31/hash/cxrz4k7j.gif"></a>';}else{	$loginUrl = $facebook->getLoginUrl(array('req_perms' => 'email,read_stream'));	$data = '<a href="'.$loginUrl.'"><img src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif"></a>';}// for javascript side use the same session$fb_session = json_encode($session);?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title>Verwijzing naar site..</title></head><body>	<script language="JavaScript"><!-- window.location="http://www.secondwar.nl/game/index.php";//--></script>    <div id="fb-root"></div>    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>    <script type="text/javascript">    //<![CDATA[    FB.init({		appId: '<?=$app_id;?>', 		cookie: true, 		status: true, 		xfbml: true, 		session: <?=$fb_session;?>	});    FB.Event.subscribe('auth.login', function(){		window.location.reload();	});    //]]>    </script></body></html>


    Kunnen jullie mij op weg helpen?

    Met vriendelijke groeten,
    Jeffrey Rijdes

  • ZiraX
    IT Expert
    Berichten
    510
    • 17 september 2012 om 20:44
    • #2

    wat voor sessie zet facebook weg dan ?

    1) Eigenaar & CEO // iSenses
    2) Eigenaar & CEO // HoodGangster
    3) Co-Owner & Captian @WMCity V3.

  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 17 september 2012 om 20:56
    • #3

    Dat is mijn probleem..
    Er staat in de login_facebook.php:

    PHP
    // get a session for user
    $session = $facebook->getSession();
    $me = null;

    De getSession functie is:

    PHP
    /**
       * Get the session object. This will automatically look for a signed session
       * sent via the signed_request, Cookie or Query Parameters if needed.
       *
       * @return Array the session
       */
      public function getSession() {
        if (!$this->sessionLoaded) {
          $session = null;
          $write_cookie = true;
    
    
          // try loading session from signed_request in $_REQUEST
          $signedRequest = $this->getSignedRequest();
          if ($signedRequest) {
            // sig is good, use the signedRequest
            $session = $this->createSessionFromSignedRequest($signedRequest);
          }
    
    
          // try loading session from $_REQUEST
          if (!$session && isset($_REQUEST['session'])) {
            $session = json_decode(
              get_magic_quotes_gpc()
                ? stripslashes($_REQUEST['session'])
                : $_REQUEST['session'],
              true
            );
            $session = $this->validateSessionObject($session);
          }
    
    
          // try loading session from cookie if necessary
          if (!$session && $this->useCookieSupport()) {
            $cookieName = $this->getSessionCookieName();
            if (isset($_COOKIE[$cookieName])) {
              $session = array();
              parse_str(trim(
                get_magic_quotes_gpc()
                  ? stripslashes($_COOKIE[$cookieName])
                  : $_COOKIE[$cookieName],
                '"'
              ), $session);
              $session = $this->validateSessionObject($session);
              // write only if we need to delete a invalid session cookie
              $write_cookie = empty($session);
            }
          }
    
    
          $this->setSession($session, $write_cookie);
        }
    
    
        return $this->session;
      }
    Toon Meer
  • iCold
    Professional
    Ontvangen Reacties
    7
    Berichten
    1.630
    • 17 september 2012 om 21:48
    • #4

    Facebooks' session is volgens mij $session probeer eens in plaats van $_SESSION['id'] $session

    Dit is gewoon een wilde gok. Proberen kan geen kwaad

  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 17 september 2012 om 21:52
    • #5

    Met $_SESSION doet normale inlog het wel, facebook niet.

    Met $session doen ze het allebei niet..

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 17 september 2012 om 21:54
    • #6

    Als je een var_dump op session plaatst wat krijg je dan voor resultaat terug bij inloggen, en hoofd pagina.

    PHP
    <pre>
    <?php var_dump($_SESSION); ?>
    </pre>
  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 17 september 2012 om 22:04
    • #7

    Moet ik deze plaatsen op de ingame bij de check?

    Dus zo:

    PHP
    if(!isset(var_dump($session))){
    		header('Location: ../index.php');
    	}
  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 17 september 2012 om 22:06
    • #8

    Nee mag gewoon los in je index.php, liefst een bestand wat je overal include.
    Zo kan je namelijk alle sessie waardes bekijken en zien waar hij mee gevuld is.

  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 17 september 2012 om 22:11
    • #9

    Dan krijg ik dit te zien:

    PHP
    array(1) {
      ["id"]=>
      string(1) "7"
    }

    Ingelogd met normale login (Gebruiker / wachtwoord). Die 7 is me User ID :p

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 17 september 2012 om 22:13
    • #10

    Oké, hij ziet dus blijkbaar niet je Facebook session of hij overschrijft hem aangezien het dezelfde waarde heeft.
    Is dit ook de Facebook session waarde ?

  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 17 september 2012 om 22:14
    • #11

    De check bij ingame heb ik nu gewoon:

    $_SESSION

    het probleem is dat ik niet weet wat voor SESSION facebook heeft..

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 17 september 2012 om 22:52
    • #12

    Zelf heb ik ook eens lopen spelen met Facebook, ik kwam hierop uit:

    PHP
    $id = FB::$facebook->getUser ();
    		if (! ($id > 0)) {
    			Security::redirect ( DOMAIN . '/register' );
    			return;
    		}

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 18 september 2012 om 12:46
    • #13

    @BrokenTrack,

    Moet ik dit in de ingame zetten als check?
    Aangezien ik ook wil dat mijn normale inlog nog werkt.

  • L.Groot
    Elite members
    Ontvangen Reacties
    31
    Berichten
    4.888
    • 18 september 2012 om 13:57
    • #14

    Die code checkt of je account al bestaat en stuurt je anders door naar de registratie pagina.

    Code
    if (! ($id > 0)) {

    Dat kan je gebruiken om te checken of de gebruiker dus al bestaat. Let op, plaats het wel onder de definiëring van $id door Facebook.

  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 18 september 2012 om 15:47
    • #15

    Sorry maar ik snap er op dit moment niks meer van .. :(

    Het gaat mij erom met de SESSION check bij de inlog.

  • sander.bruggers
    Web Developer
    Berichten
    56
    • 19 september 2012 om 18:08
    • #16

    Probeer dit eens:

    PHP
    <?
    if (this_page_requires_user_login){
          $facebook = new Facebook(...) ;
          $session = $facebook->getSession ;
          if (!$session){
                  $url =$facebook.getLoginUrl(array(next => current_page );
                  echo "<fb:redirect url=$url/>" ;
    
    
    }
    ?>
    Toon Meer

    Of beter nog:

    PHP
    if ($session) {
      try {
        $me = $facebook->api('/me');
        if ($me) {
          //goed
        }
      } catch (FacebookApiException $e) {
       //fout
      }
    }

    http://www.webfub.nl

  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 19 september 2012 om 18:10
    • #17

    sander

    Heeft u hier meer informatie over, over de werking?
    Aangezien ik hier nergens een check zie staan voor de $_SESSION['id'] die ook nodig is.

  • sander.bruggers
    Web Developer
    Berichten
    56
    • 19 september 2012 om 18:22
    • #18

    Je moet bij het inloggen via je Facebook login een waarde geven aan de session id variabele.
    Dat kan je bijvoorbeeld zo doen:

    PHP
    if ($session) {
      try {
        $me = $facebook->api('/me');
        if ($me) {
          $_SESSION['id'] = ??;
            session_write_close();
        }
      } catch (FacebookApiException $e) {
       header('Location: ../index.php');
      }
    }
    Toon Meer

    http://www.webfub.nl

  • J.Rijdes
    Elite members
    Ontvangen Reacties
    37
    Berichten
    1.581
    • 19 september 2012 om 18:25
    • #19

    Hoi Sander,

    Sorry maar is dit bedoeld voor de login van die facebook? Of het checken op de ingame?
    Kan u mij anders verder helpen via Skype? Ik PM u mijn skype als dat mogelijk is..

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

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