PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

อยากสอบถามเกี่ยวกับ facebook ค่ะ

อยากสอบถามเกี่ยวกับ facebook ค่ะ
พอดีตอนนี้ทำโค้ด Login ได้แล้วแต่ ในฐานข้อมูลเก็บ ไอดี ซ้ำกันค่ะ ซ้ำกันไม่พอ Logout ออกก็ไม่ได้ค่ะ งง มาก ไม่รู้ว่าเป็นที่อะไร ตรงไหน อยากรบกวนให้พี่นิคมาช่วยไกด์ให้หน่อยค่ะ ไม่ค่อยจะเข้าใจเลยค่ะ

อันนี้คือ โค้ดสำหรับล็อคอิน ฝั่ง Admin ค่ะ
<?php
	session_start();
	include("../Connections/connect.php");
	//include("../init.php");
require '../sdk/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'XXXXX',
  'secret' => 'XXXXXXXXXXXX',
));

// Get User ID
$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

// Save to mysql
if ($user) {
	if($_GET["code"] != "")
	{
				
				$strSQL ="insert into login(lo_fb_id,lo_fb_name,lo_fb_link,lo_fb_date_register,lo_status) 
					values
					('".trim($user_profile["id"])."',
					'".trim($user_profile["name"])."',
					'".trim($user_profile["link"])."',
					'".trim(date("Y-m-d H:i:s"))."',
					'user')";
				$objQuery  = mysql_query($strSQL);
				mysql_close();
				header("location:manament_show.php");
				exit();
	}
}

// Logout
if($_GET["Action"] == "Logout")
{
	$facebook->destroySession();
	session_destroy();
	header("location:index.php");
	exit();
}

?>

คือหนูแยกโฟเดอร์นะค่ะ ส่วนโฟร์เดอร์ sdk จะอยู่ด้านนอก ที่นี้ ใช้โค้ดนี้สามารถ Logout ฝั่ง user ได้สำเร็จค่ะ แต่กลับกัน ฝั่ง admin ไม่ได้ค่ะ เลย งง มากเลยค่ะ ไม่รู็ติดตรงไหน

และอันนี้รูปดาต้าเบสค่ะ ทำไมมันถึงได้เก็บซ้ำๆ รันไปเรื่อยๆ เมื่อกด login with facebook 


รบกงนพี่นิค ช่วยดูให้หน่อยค่ะ ตอนนี้ติดหนักมากเลยค่ะ

โดย:  Chickenkook IP: 183.89.157.xxx วันที่: 27-06-2016 เวลา: 18:32:57

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 18
ขอบคุณค่ะพี่นิค  ^^


โดย:  Chickenkook IP: 183.89.155.xxx วันที่: 01-07-2016 เวลา: 10:05:44
 ความคิดเห็นที่ 17
ใช้ appid เดียวกันได้ แต่ตัวแปร session ต้องใช้คนละตัว urldirect อาจต้องเป็นคนละตัว ตรวจสอบ path ไฟล์ ต้องเปลี่ยน path ที่เรียกใช้ให้ถูกต้อง ตรงนี้ขึ้นกับการนำไปใช้ ว่านำไปใช้ถูกไหม

โดย:  Ninenik IP: 122.155.42.xxx วันที่: 30-06-2016
 ความคิดเห็นที่ 16
พี่นิคค่ะ หนูขอถามอีกอย่างได้ไหมค่ะ ว่าถ้าหนูจะให้ฝั่งทั้ง user และ ฝั่งของ addmin login ผ่าน facebook ที่นี้ ฝั่ง user ทำงานได้แล้วค่ะ แต่พอหนูก้อปโค้ดฝั่ง user ไปใส่ในส่วนของ addmin ทำไมมันถึงไม่ได้ค่ะ เปลี่ยนชื่อไฟล์ checkuser ก้แล้ว เปลี่ยนตัวแปร session ก้แล้ว พอเปลี่ยน session มันก็จะ error ทันทีเลยค่ะ คือปุ่มสำหรับ login จะหายไปเลย จำเป็นไหมค่ะ ที่อาจจะต้องแยก app id ของฝั่ง user และ addmin ต้องรบกวนพี่นิคอีกแล้ว รบกวนด้วยนะค่ะ

โดย:  Chickenkook IP: 223.24.15.xxx วันที่: 30-06-2016 เวลา: 18:44:03
 ความคิดเห็นที่ 15
 อธิบายไว้เพิ่มในบทความแล้ว

การล็อกอิน facebook กับระบบสมาชิก ด้วย facebook javascript sdk 
http://www.ninenik.com/content.php?arti_id=719 via @ninenik


โดย:  Ninenik IP: 183.88.65.xxx วันที่: 30-06-2016
 ความคิดเห็นที่ 14
พี่ค่ะ หนูส่งให้เรียบร้อยแล้วนะค่ะ ^^ ต้องรบกวนพี่ช่วยตั้งค่าให้จริงๆค่ะ เพราะไม่รู้เรื่องเลยค่ะ


โดย:  Chickenkook IP: 101.108.222.xxx วันที่: 30-06-2016 เวลา: 13:36:06
 ความคิดเห็นที่ 13
add friends ค้นหาในเฟส @ninenik
 
แล้วเข้าไปที่
 
https://developers.facebook.com/apps/
 
ไปที่่ rules
 
เพิ่ม administrator หรือ developer เพิ่มชื่อพี่เข้าไป เดี๋ยวเข้าไปดูให้
ว่าตั้งค่า app เป้นยังไง
 
หรือไม่ก็ต้องลองไปตั้งค่า app ตรง facebook login ดู น่าจะเป็นที่การตั้งค่า app


โดย:  Ninenik IP: 183.88.65.xxx วันที่: 30-06-2016
 ความคิดเห็นที่ 12
ถ้าเป็น app id ของพี่นิคมาค่ะ แต่พอมาเป็น app id ของหนูไม่มาค่ะ หนูต้องไปตั้งค่ารึเปล่าค่ะพี่นิค ถ้าเปน app id หนูมันจะขึ้นให้แค่นี้เองค่ะ
{"name":"Chickenkook Kook","id":"1061233033924871"}

แต่ถ้าเป็นของพี่นิค จะขึ้นแบบนี้ค่ะ
{"id":"1052628374785337","email":"doraemon_ku_za@hotmail.com","first_name":"Chickenkook","gender":"female","last_name":"Kook","link":"https://www.facebook.com/app_scoped_user_id/1052628374785337/","locale":"th_TH","name":"Chickenkook Kook","timezone":7,"updated_time":"2016-06-06T14:09:39+0000","verified":true}

รบกวนด้วยนะค่ะพี่นิค


โดย:  Chickenkook IP: 101.108.222.xxx วันที่: 30-06-2016 เวลา: 11:55:34
 ความคิดเห็นที่ 11
ทดสอบหน้านี้ดูว่า ค่าที่ได้

http://www.ninenik.com/demo/test_fb_login.php

มี firstname lastname/ไหม

>>>  อัพเดท >>> 30-06-2016
------------------------------------------
แล้วเอาโค้ดหน้านี้ ไปทดสอบ ที่ server เรา เปลี่ยน appid แล้วเทียบดูว่า ได้ค่าเหมือนกันไหม

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>

<br>
<br>
<input type="button" name="button" id="button_login_with_fb" class="login_with_fb" value="Login with facebook"><br>
<textarea name="textarea" id="logview" cols="100" rows="5"></textarea>

<br>
<br>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>      
<script type="text/javascript">
	// ส่วนของการตั้งค่าการเชื่อมต่อกับ app 
    var fb_appId='xxxxxxx';   // facebook app id
    var urlDirect="http://localhost/demo/test.php";  // หน้าหลังจากล็อกอินด้วย facebook แล้ว
    var loginURL="https://www.facebook.com/dialog/oauth?";
    loginURL+="client_id="+fb_appId;
    loginURL+="&redirect_uri="+urlDirect;
    loginURL+="&auth_type=rerequest";
    loginURL+="&scope=email,public_profile";    

  window.fbAsyncInit = function() {
    FB.init({appId: fb_appId, status: true, cookie: true,version: 'v2.3',
             xfbml: true});    		 	 

	// กำหนดชื่อตัวแปร สำหรับใช้เป็น ฟังก์ชั่นล็อกอินด้วย facebook
	var fb_login = null;		 
    $(function(){

       // ฟังก์ชั่นสำหรัลล็อกอินด้วย facebook สำหรับเรียกใช้งาน
	   fb_login = function(){
		   // effect เล็กน้อยกว่ากำลังโหลดข้อมูล
		   $(".loading_text").show();
             FB.getLoginStatus(function(response) { // ตรวจสอบการล็อกินด้วย facebook
              if (response.status === 'connected') {  // มีการล็อกอินด้วย facebook และเชื่อมต่อกับ app id แล้ว
                var uid = response.authResponse.userID;  // เก็บ userID ไวในตัวแปร uid ไว้ใช้งาน
                var accessToken = response.authResponse.accessToken; // เก็บ accessToken ไว้ใช้งาน
				console.log(accessToken);
                    FB.api('/me', function(response) { // ไปดึงข้อมูลข้อผู้ใช้
						  console.log("connected");
						  console.log(response);		// แสดง log หรือรายการข้อมูลที่ได้ตากการดึงข้อมูล
						  
						  $("#logview").val(JSON.stringify(response));
						  
						  // ถ้าอยากรู้ว่าเราไปดึงข้อมูลผู้ใช้ facebook ได้ค่าอะไรมาบ้าง ให้ปิดคอมเม้น โค้ดด้านล่างก่อน
						  // เพื่อดู log ของตัวแปร response
						  
						  // นำค่าจากข้อมูลผู้ใช้มาตรวจสอบ
	                       if(response.id!=null && response.name!=null){ // ถ้าชื่อ กับ ไอดี ไม่เป็นค่าว่าง
						   		// ส่งข้อมูลไปใช้งาน เช่นตรวจสอบการล็อกอิน หรือสร้างข้อมูลสมาชิกใหม่
/*								$.post("checkuser.php",{
									fbname:response.name,
									fbemail:response.email,
									fbid:response.id,
									accTK:accessToken
								},function(data){
									console.log(data);
									window.location=urlDirect;
								});*/
							}


                    });
              } else if (response.status === 'not_authorized') {  // มีการล็อกอิน facebok แต่ยังไม่เชื่อมต่อกับ app id
                  window.location=loginURL; // บังคับให้ไปทำการเชื่อมต่อกับ app id เราก่อน
              } else {		  // กรณีอื่นๆ 
                  window.location=loginURL; //  บังคับให้ไปทำการเชื่อมต่อกับ app id เราก่อน
              }
             });      		   
	   }

		

		// ถ้ากดปุ่ม ที่มี class ชื่อ login_with_fb เรียกใช้งานฟังก์ชั่นล็อกอินด้วย facebook
       $(".login_with_fb").on("click",fb_login);
        	

        
    });
			 
  };
  (function(d, s, id){
	 var js, fjs = d.getElementsByTagName(s)[0];
	 if (d.getElementById(id)) {return;}
	 js = d.createElement(s); js.id = id;
	 js.src = "//connect.facebook.net/en_US/sdk.js";
	 fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));  		   
</script>

</body>
</html>


โดย:  Ninenik IP: 180.183.46.xxx วันที่: 30-06-2016
 ความคิดเห็นที่ 10
แล้วพอมีวิธีทำให้ เฟสบุ๊คให้ข้อมูลไหมค่ะ หามา 2  วันเต็มๆเลยค่ะ เป็นไปได้ไหมค่ะ ว่าต้องไปตั้งค่าอะไรด้วยไหมค่ะ 

โดย:  Chickenkook IP: 183.89.155.xxx วันที่: 30-06-2016 เวลา: 10:33:18
 ความคิดเห็นที่ 9
ตามที่ดูโค้ดก็ไม่น่าผิด วิธีการไล่ทดสอบก็คือ ไปดูว่าในฐานข้อมูล ชื่อผู้ใช้ที่เราทดสอบ มีข้อมูล
ชื่อ นามสกุลบันทึก หรือไม่ ถ้ามีข้อมูลในฐานข้อมูลแล้ว แต่ข้อมูลไม่มาแสดง ก็เป็นกับโค้ดที่นำมาแสดง
แต่ถ้าไม่มีข้อมูลแต่แรก ก็เป็นกับส่วนของการบันทึก หรือไม่ก็ ผู้ใช้ไม่มีข้อมูลของ ชื่อ นามสกุล
ต้องกลับไปไล่ลำดับตั้งแต่ต้น
- เฟสบุ๊คให้ข้อมูล ชื่อ นามสกุลของผู้ใช้หรือไม่ ถ้าไม่ ก็ถือจบ เพราะไม่มีข้อมูล
- ถ้ามีข้อมูล ข้อมูลถูกบันทึกตอนล็อกอินหรือสมัครครังแรกหรือไม่ ก็ตรวจสอบดู
- ถ้ามีข้อมูล และข้อมูลถูกบันทึก แต่ข้อมูมลไม่ถูกดึงจากฐานข้อมูลมาแสดง ตรงนี้ก็เป็นที่การดึงย้อมูลมาแสดง ต้องไล่ดูโค้ด

ทั้งหมดก็เท่านี้ ที่เหลือคงต้องพยายามเองดู



โดย:  Ninenik IP: 180.183.46.xxx วันที่: 30-06-2016
 ความคิดเห็นที่ 8
พี่นิคค่ะ มันก็ยังไม่ยอมดึงข้อมูลมาค่ะ
อันนี้คือโค้ดในความเห็นที่ 5 นะค่ะ
if(response.id!=null && response.name!=null){ // ถ้าชื่อ กับ ไอดี ไม่เป็นค่าว่าง  
                                // ส่งข้อมูลไปใช้งาน เช่นตรวจสอบการล็อกอิน หรือสร้างข้อมูลสมาชิกใหม่  
                                $.post("checkuser.php",{  
                                    fbname:response.name,    
    								fbemail:response.email,    
    								fbid:response.id,    
    								fbfirstname:response.first_name,    
    								fblastname:response.last_name,   
                                    accTK:accessToken  
                                },function(data){  
                                    console.log(data);  
                                    window.location=urlDirect;  
                                });  
                            }  

อันนี้จะเป็นโค้ดหน้า checkuser ค่ะ
<?php  
session_start();  
include("inc/dbconnect.php");  
// ตรวจสอบค่าที่ส่งมาผ่าน ajax แบบ POST ในที่นี้เราจะเช็ค 3 ค่า ว่ามีส่งมาไหม  
if(isset($_POST['fbname']) && $_POST['fbname']!="" && isset($_POST['fbid']) && $_POST['fbid']!=""  
&& isset($_POST['accTK']) && $_POST['accTK']!=""  
){  
    // กำหนดรูปแบบรหัสสำหรับ fb_authorized สำหรับไว้ใช้ล็อกอิน ในท่ี่นี้ใช้รูปแบบอย่างง่าย   
    // ใช้ ไอดี ต่อกับ รหัสพิเศษกำหนดเอง สามารถไปประยุกต์เข้ารหัสรูปแบบอื่นเพิ่มเติมได้  
    $fb_secret_set = "mysecret";  
    $fb_string_authorized = $fb_secret_set.trim($_POST['fbid']); // ต่อข้อความสำหรับเข้ารหัส  
    $fb_gen_authorized = md5($fb_string_authorized);  
      
    $sql_check="  
    SELECT * FROM tbl_simple_user WHERE user_fb_authorized='".$fb_gen_authorized."'   
    AND user_fb_connect=1   
    ";  
    $result = $mysqli->query($sql_check);  
    if($result && $result->num_rows>0){  // มีสมาชิกที่ล็อกอินด้วย facebook id นี้ในระบบแล้ว  
        // ดึงข้อมูลมาแสดง และสร้าง session  
        $row = $result->fetch_array();  
        $_SESSION['ses_user_id']=$row['user_id']; 
		$_SESSION['ses_user_fb_id']=$row['user_fb_id']; 
        $_SESSION['ses_user_name']=$row['user_name']; 
		$_SESSION['ses_user_firstname']=$row['user_firstname']; 
		$_SESSION['ses_user_lastname']=$row['user_lastname'];
		$_SESSION['ses_user_email']=$row['user_email'];       
        $_SESSION['ses_user_last_login']=date("Y-m-d H:i:s");  
        // อัพเดทเวลาล็อกอินล่าสุด  
        $sql_update="  
        UPDATE tbl_simple_user SET     
		user_firstname='".$_POST['fbfirstname']."',  
		user_lastname='".$_POST['fblastname']."',          
      	user_last_login=NOW()    
      	WHERE user_id='".$row['user_id']."'    
      	";  
        $mysqli->query($sql_update);  
    }else{   // ไม่พบสมาชิกที่ใช้ facebook id นี้ล็อกอิน  
        // สร้างผู้ใช้ใหม่  
        //  สมมติให้ชื่อผู้ใช้ใหม่เป็น fb_ไอดี รหัสผ่านเป็น แรนดอม   
        $sql_insert="  
        INSERT INTO tbl_simple_user SET  
        user_fb_id='fb_".$_POST['fbid']."', 
		user_name='".$_POST['fbname']."',
		user_firstname='".$_POST['fbfirstname']."',
		user_lastname='".$_POST['fblastname']."',
		user_email='".$_POST['fbemail']."',
        user_pass='".rand(11111111, 9999999)."',  
        user_fb_connect='1',  
        user_fb_authorized='".$fb_gen_authorized."',  
        user_last_login=NOW()  
        ";    
        $result = $mysqli->query($sql_insert);  
        if($result && $mysqli->affected_rows>0){  
            $insert_userID = $mysqli->insert_id;  
            $sql="  
            SELECT * FROM tbl_simple_user WHERE user_fb_authorized='".$fb_gen_authorized."'   
            AND user_fb_connect=1   
            ";  
            $result = $mysqli->query($sql);  
            if($result && $result->num_rows>0){  // มีสมาชิกที่ล็อกอินด้วย facebook id นี้ในระบบแล้ว  
                // ดึงข้อมูลมาแสดง และสร้าง session  
                $row = $result->fetch_array();  
                $_SESSION['ses_user_id']=$row['user_id']; 
		$_SESSION['ses_user_fb_id']=$row['user_fb_id']; 
        $_SESSION['ses_user_name']=$row['user_name']; 
		$_SESSION['ses_user_firstname']=$row['user_firstname']; 
		$_SESSION['ses_user_lastname']=$row['user_lastname']; 
		$_SESSION['ses_user_email']=$row['user_email'];      
        $_SESSION['ses_user_last_login']=date("Y-m-d H:i:s");                 
                // อัพเดทเวลาล็อกอินล่าสุด  
                $sql_update="    
      			UPDATE tbl_simple_user SET     
				user_firstname='".$_POST['fbfirstname']."',  
				user_lastname='".$_POST['fblastname']."',          
      			user_last_login=NOW()    
      			WHERE user_id='".$row['user_id']."'    
      			";
                $mysqli->query($sql_update);                           
            }  
        }  
          
    }  
/*echo "<pre>"; 
echo $fb_gen_authorized; 
print_r($_POST); 
echo "</pre>";*/  
}  

ต้องรบกวนพี่นิคอีกแล้ว T_T ไม่ทราบว่าโค้ดหนูผิดตรงไหนไหมค่ะ ช่วยดูให้หนูหน่อยนะค่ะ

อันนี้หลังจากใส่โค้ดตามเรียบร้อยแล้ว จะแสดงผลออกมาแบบนี้ค่ะ
userID: fb_603915726442467
userName: Marshmallows Kook
Firstname
Lastname
Email
LastLogin: 2016-06-30 09:07:01
ต้องรบกวนด้วยนะค่ะพี่นิค


โดย:  Chickenkook IP: 183.89.155.xxx วันที่: 30-06-2016 เวลา: 09:11:58
 ความคิดเห็นที่ 7
ดูที่ความเห็นที่ 5 ว่าส่ง response.first_name กับ reponse.last_lastname ไปด้วยไหม แล้วรับค่าด้วยตัวแปร 
$_POST['fbfirstname'] กับ $_POST['fblastname']

ส่วนการตรงตรวจสอบไม่ต้องก็ได้ เพราะบางคน บางค่าอาจจะไม่มี แต่ id กับ name น่าจะมีทุกคน

ส่วนหน้าที่แสดงเป็นแบบนั้น เพราะว่าเราเคยสมัครใช้งานไปแล้วหรือเปล่า ค่าการบันทึก จะบันทึกในครั้งแรกเท่านั้น
พอมาแก้โค้ดใหม่ จึงไม่มีการบันทึกค่าชื่อกับนามสกุลเข้าไป ทำให้คนเก่าไม่มีค่านี้ แต่คนใหม่อาจจะมีเพราะเราเพิ่มฟิลด์นี้ทีหลัง
วิธีแก้ไขสำหรับคนที่ยังไม่ได้เพิ่มข้อมูล ชื่อ นามสกุล
ให้ใช้วิธีการอัพเดท โดยเพิ่มฟิลด์ในส่วนของการอัพเดทเวลาล็อกอิน่ล่าสุดเข้าไป โดยเพิ่ม ชื่อ กับนามสกุล 

        // อัพเดทเวลาล็อกอินล่าสุด  
        $sql_update="  
        UPDATE tbl_simple_user SET   
		firstname='".$_POST['fbfirstname']."',
		lastname='".$_POST['fblastname']."',		
        user_last_login=NOW()  
        WHERE user_id='".$row['user_id']."'  
        ";  
        $mysqli->query($sql_update);  


โดย:  Ninenik IP: 122.155.42.xxx วันที่: 29-06-2016
 ความคิดเห็นที่ 6
พี่นิคค่ะ แล้วถ้าข้อมูลมันโชว์แบบนี้ละค่ะ

userID: fb_1052590508122457
userName: Chickenkook Kook
Firstname
Lastname
Email
LastLogin: 2016-06-29 17:19:23

นั่นก็แสดงว่า มันไม่มีชื่อกับนามสกุลหรอค่ะ แต่หนูก็ใส่ 
$_SESSION['ses_user_first_name']=$row['user_first_name']; 
$_SESSION['ses_user_last_name']=$row['user_last_name'];  ให้มันแล้วนะค่ะ แต่ก็ไม่ขึ้นโชว์ค่ะ

หรือหนูต้องใส่โค้ดตรงนี้เพิ่มด้วยไหมค่ะ
// ตรวจสอบค่าที่ส่งมาผ่าน ajax แบบ POST ในที่นี้เราจะเช็ค 3 ค่า ว่ามีส่งมาไหม  
if(isset($_POST['fbname']) && $_POST['fbname']!="" && isset($_POST['fbid']) && $_POST['fbid']!=""  
&& isset($_POST['accTK']) && $_POST['accTK']!=""
รบกวนพี่นิคอีกครั้ง ช่วยดูให้หน่อยนะค่ะ ขอบคุณมากๆเลยค่ะ


โดย:  Chickenkook IP: 183.89.155.xxx วันที่: 29-06-2016 เวลา: 17:26:33
 ความคิดเห็นที่ 5
response จะส่งค่าข้อมูลของผู้ใช้นั้นมาให้ แล้วเราก็ส่งค่านั้นๆปบันทึก ในส่วนนี้

$.post("checkuser.php",{  
    fbname:response.name,  
    fbemail:response.email,  
    fbid:response.id,  
    accTK:accessToken  
},function(data){  
    console.log(data);  
    window.location=urlDirect;  
});  


response.name กับ response.email กับ response.id  คือค่าที่เราเลือกที่จะส่งไป
ปกติ ค่า response จะมี ดังนี้ อาจจะไม่เหมือนกันสำหรับทุกๆ คน 

email
first_name
gender
id
last_name
link
locale
name
timezone
updated_time

ถ้าเราจะส่งชื่อ กับนามสกุล อาจจะต้องส่งค่า firest_name กับ last_name ไปเก็บข้อมูล เช่น

$.post("checkuser.php",{  
    fbname:response.name,  
    fbemail:response.email,  
    fbid:response.id,  
    fbfirstname:response.first_name,  
    fblastname:response.last_name,          
    accTK:accessToken  
},function(data){  
    console.log(data);  
    window.location=urlDirect;  
});  

และในส่วนของรับค่า เราก็เอาค่าตัวแปร $_POST['fbfirstname'] กับ $_POST['fblastname'] ไปบันทึกเพิ่มเติม
โดยจะแยกฟิลด์ หรือต่อกันแล้วบันทึกในฟิลด์เดียวก็ได้

 


โดย:  Ninenik IP: 180.183.46.xxx วันที่: 29-06-2016
 ความคิดเห็นที่ 4
พี่ค่ะ หนูมีคำถามจากบทความที่พี่นิคได้เขียนไว้ให้ค่ะ พอดีหนูอยากทราบว่า มันจะสามารถเก็บ ชื่อ-นามสกุลจริงได้ไหมค่ะ แล้วก็พวกอีเมลล์ด้วยค่ะ ต้องรบกวนพี่นิคอีกครั้งและขอบคุณสำหรับคำตอบมากๆเลยนะค่ะ



โดย:  Chickenkook IP: 183.89.155.xxx วันที่: 29-06-2016 เวลา: 11:02:37
 ความคิดเห็นที่ 3
ขอบคุณมากเลยนะค่ะ มีประโยชน์มากๆเลยค่ะ 


โดย:  Chickenkook IP: 183.89.155.xxx วันที่: 29-06-2016 เวลา: 09:51:52
 ความคิดเห็นที่ 2
น่าจะลำดับการทำงานไม่ถูก กลายเป็นทุกครั้งที่ล็อกอินก็ insert ข้อมูลใหม่
ตอนนี้ไม่ได้ใช้ facebook sdk ที่เป็น php เลยแนะนำไม่ถูก หรือถ้าสนใจ การล็อกอินด้วย facebook จะ
แนะนำเป็นใช้ javascript sdk แทน ไว้ทำบทความสักครู่

>>>  อัพเดท >>> 27-06-2016
------------------------------------------
ดูเนื้อหานี้เป็นแนวทาง
การล็อกอิน facebook กับระบบสมาชิก ด้วย facebook javascript sdk 
http://www.ninenik.com/content.php?arti_id=719 via @ninenik


>>>  อัพเดท >>> 27-06-2016
------------------------------------------
สำหรับกรณีที่ถามว่า ทำไมล็อกอินแล้วถึง insert ซ้ำเพราะ ตามโค้ด

    if($_GET["code"] != "")  
    {  
                  
                $strSQL ="insert into login(lo_fb_id,lo_fb_name,lo_fb_link,lo_fb_date_register,lo_status)   
                    values  
                    ('".trim($user_profile["id"])."',  
                    '".trim($user_profile["name"])."',  
                    '".trim($user_profile["link"])."',  
                    '".trim(date("Y-m-d H:i:s"))."',  
                    'user')";  
                $objQuery  = mysql_query($strSQL);  
                mysql_close();  
                header("location:manament_show.php");  
                exit();  
    }  


ไม่มีการตรวจสอบว่า มีผู้ใช้นี้ก่อนหรือไ่ม่ ดึงนั้น เราต้องนำค่าที่ได้จากการล็อกอิน ตรวจสอบในฐานข้อมูลก่อน
ถ้าไม่พบข้อมูล ก็ให้เพิ่มใหม่ ถ้าพบข้อมูล ก็ดึงข้อมูลที่มีอยู่แล้วมาใช้ในการล็อกอิน
ดูแนวทางการเช็คการล็อกอินจากลิ้งค์ด้านบน 


โดย:  Ninenik IP: 122.155.42.xxx วันที่: 27-06-2016
 ความคิดเห็นที่ 1
อันนี้โค้ด html ค่ะ
<!-- navbar -->
<nav class="navbar navbar-default" role="navigation">
    	  <div class="container">
		    <!-- Brand and toggle get grouped for better mobile display -->
		    <div class="navbar-header">
		      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-brand-centered">
		        <span class="sr-only">Toggle navigation</span>
		        <span class="icon-bar"></span>
		        <span class="icon-bar"></span>
		        <span class="icon-bar"></span>
		      </button>
		      <div class="navbar-brand navbar-brand-centered">
              	<a href="../index.php"><img src="../images/logo/logo2.png"></a>
              </div><!-- navbar-brand -->
		    </div><!-- navbar-header -->
		    <!-- Collect the nav links, forms, and other content for toggling -->
		    <div class="collapse navbar-collapse" id="navbar-brand-centered">
            	<ul class="nav navbar-nav navbar-right">
		        	<li><a href="../index.php"><img src="../images/icon/home.png" width="30px"/> Home</a></li>
                    <li>
                    	<?php
                    		if($_SESSION["lo_email"] == "" && $user == ""){
								echo '<a href="#">Post</a>';
							}
							else if($user){
								  echo '<a href="" class="dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<img src="https://graph.facebook.com/'.$user.'/picture">&nbsp;'.$user_profile["name"].'<span class="caret"></span></a>'; 
							}
							  else{
                                echo '<a href="" class="dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">'.$_SESSION["lo_email"].'<span class="caret"></span></a>';
                              }
						?>
                        
                        <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
                            <li><a href="?Action=Logout">Logout</a></li>
                          </ul>
                    </li>     	        
		      	</ul>		      
		    </div><!-- /.navbar-collapse -->
		  </div><!-- /.container-fluid -->
 </nav><!-- navbar -->

รอบกวนช่อยด้วยนะค่ะ


โดย:  Chickenkook IP: 183.89.157.xxx วันที่: 27-06-2016 เวลา: 18:35:17