PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum


เืรื่องการนำ facebook comment ไปวางใน หน้า page อื่นๆครับ

เืรื่องการนำ facebook comment ไปวางใน หน้า page อื่นๆครับ

 จากบทความ http://www.ninenik.com/content.php?arti_id=402 

เราจะนำ comment ไปใส่ ในหน้า page ที่เหมือนกัน แต่เนื้อใน แตกต่างกันได้อย่างไรครับ

เช่นตัวอย่างบทความของเว็บนี้

http://www.ninenik.com/content.php?arti_id=402

page หลักคือ content.php แต่ เนื้อหาของบทความเปลี่ยนไปตาม ตัวแปร arti_id 

แล้ว comment ของ facebook ที่มาแสดงนั้น จะต่างกันไป ขึ้นอยู่กับว่าไปคอมเม้นที่บทความไหน

จะทำได้อย่างไรครับ

 



โดย:  Likito IP: 110.164.187.xxx วันที่: 18-08-2011 เวลา: 13:21:18

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

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


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


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

อย่างแรกเลย สร้าง Facebook App ก่อนครับ เพื่อให้ได้ app_id มา  แล้วมาใส่ ส่วนข้างนี้ ในหน้า แต่ละหน้าครับ

 <meta property="fb:app_id" content="{YOUR_APPLICATION_ID}"

 

ในส่วนของ   Website Settings   ที่อยู่ตรง Edit App อะครีับ  ทำตามข้างล่างนี้

1. ให้คุณตั้งค่า Site URL:   ให่้มีค่าเกป็น url ที่มี  arti_id   ต่อท้าย

2.  ส่วน Site Domain:  ก็เป็น Domain ของ server ที่คุณ Likito ไปสมัครไว้    

เช่นถ้าเว็บนี้ ของคุณนิค  จะเป็นแบบนี้ 

Site URL: http://www.ninenik.com/content.php?arti_id=402

Site Domain: ninenik.com

พอหน้าอื่น ๆ ที่มี arti_id ต่างกันไป ก็ให้ใส่    <meta property="fb:app_id" content="{YOUR_APPLICATION_ID}"

ให้ app_id มีเลขเหมือนกันครับเหมือนกับว่า  ให้ทุก ๆ หน้า มี  meta  tag  เหมือนข้างบนนี้ทุกหน้าเลยครับ 

เพียงแต่ใน App edit setting อะ  ตรง Site URL:   ผมไม่แน่ใจนะครับว่า ใส่  http://www.ninenik.com อย่างเดียวได้หรือเปล่านะครับ เพราะ ทุก ๆ หน้าของคุณก็ต้องมาใช้ app_id เดียวกันไม่ต้องสมัคร ทุก ๆ หน้าเพจครับ 

 



โดย:  Jazzup IP: 203.146.32.xxx วันที่: 18-08-2011 เวลา: 13:40:20
 ความคิดเห็นที่ 2

 ถ้าผมเข้าใจผิด ก็รบกวนคุณ นิค ตอบอีกรอบละกันครับผม  พอดีผมก็กำลังทำอยู่เช่นกัน ครับ อิอิ 



โดย:  Jazzup IP: 203.146.32.xxx วันที่: 18-08-2011 เวลา: 13:41:08
 ความคิดเห็นที่ 3

 คือ code เต็มๆ ที่จะเปิด บทความประมาณนี้รึเปล่าครับ

 

สมมุติไฟล์ ที่จะใช้เปิด content.php มี code ดังนี้

<!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"
 xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Facebook new comment</title>
<meta property="fb:admins" content="{FACEBOOK USER ID}"/>
<meta property="fb:app_id" content="{APP ID}">
</head>

<body>

<!--  ส่วนดึงข้อมูลบทความจาก Database โดยอิงที่การ $_GET["arti_id"]   $sql = "SELECT * FROM arti WHERE arti_id='".$_GET["arti_id"]."'"; . . . -->

<div id="fb-root"></div>
<fb:comments href="http://xxxxxxxxxxx/content.php?arti_id=<?php echo $_GET["arti_id"]; ?>" num_posts="10" width="500"></fb:comments>
<!-- href=ต้องเปลี่ยน โดยขึ้นอยู่กับการ $_GET["arti_id"]  -->

<script src="http://connect.facebook.net/en_US/all.js#appId={APP ID}&amp;xfbml=1"></script>

</body>
</html>

ผมเข้าใจแบบนี้ถูกรึเปล่าครับ

ต้องไปตั้งค่าที่ไหนอีกหรือเปล่า เพราะลองแล้ว รู้สึกว่า

ต่อให้เราเปลี่ยนแปลงค่า arti_id เป็นอย่างอื่น comment มันก็จะแสดงรวมๆกัน แม้ว่า จะ เม้น จาก arti_id ที่แตกต่างกัน



โดย:  Likito IP: 110.164.187.xxx วันที่: 18-08-2011 เวลา: 14:08:49
 ความคิดเห็นที่ 4

 เอ  ผมดูแล้วก็ถูกแล้วนี่นา  แล้วทำไม เป็นอย่างนั้นหว่า  แล้วที่      Site URL:  กับ  Site Domain:  คุณ ใส่ไว้อย่างไงมั่งหรอครับ

 

ที่ผมลองอะนะครับ คือ url 2 อันต่างไปเลยอะครับ แต่ กรณี ของคุณ ผมยังไม่ได้ลองเลยงะครับ ที่ url เหมือนกัน ต่างที่  ค่า ข้างหลังอะ  

 Site URL:   ใส่ไว้อย่างไรหรอครับ

ผมกัวว่า facebook มันจะมอง ว่า มีแค่  http://xxxxxxxxxxx/content.php?arti_id=

เมหือนกัน  ที่ fb:comment คุณก็ใส่  url ที่แตกต่างกันแล้วอะเนาะ

แต่ละหน้าของผม มัน  แตกต่างกันนะครับ  แต่ว่า ที่ Moderation Tool  มันก็รวมกันอะครับ  เพราะ app_id เดียวกัน

แค่ แยก url ที่แตกต่างกัน เรยแสดง ในแต่ละ url ต่างกัน  งั้นผมว่ารอคุณ นิค มาตอบละกันเนาะแฮะ ๆ  

 

แต่ว่า คุณตอบผมอย่างนึงก่อนครับ คือ  Site URL:   ใส่ไว้อย่างไรหรอครับ

 



โดย:  Jazzup IP: 203.146.32.xxx วันที่: 18-08-2011 เวลา: 14:25:52
 ความคิดเห็นที่ 5

 ใส่ Site URL เป็น http://xxxxxxxxxxx/content.php ครับ

ส่วน Site Domain เป็น http://xxxxxxxxxxx เฉยๆ



โดย:  Likito IP: 110.164.187.xxx วันที่: 18-08-2011 เวลา: 14:38:26
 ความคิดเห็นที่ 6

 อ่อ ๆๆ ๆผมพอมองเห็นอะไรบางอย่างแล้วครับ 

คือผมสังเกตุ เว็บ คุณ นิค อะครับ สังเกตุไหมครับว่า หน้านี้

www.ninenik.com/CSS_สร้างเมนูแนวตั้ง_2_ชั้นโดยไม่ใช้_javascript_และตาราง_table-143.html

เมื่อกดเข้าไป url จะ  dynamic  เป็นตามข้างล่างนี้ 

http://www.ninenik.com/content.php?arti_id=143

และเท่าที่เดา นะครับ ผมว่าคุณ นิค ไม่ได้ทำ  fb:comment  แบบ dynamic แน่นอนเรย เพราะว่า 

------------------------------------------------------------------------------------------------------------------

*** ถ้าหน้าไหนเป็น หน้า ที่คุณ นิค สร้างขึ้นเอง พวก ตาม เมนู ข้างบนอะครับ

เช่นพวก กระทู้ที่อยุ๋ ในเมนู javascript css ajax  php  mysql  

หน้าพวกนี้ เขาคงเพิ่มทีละหน้าแน่ ๆ ครับ ไม่ใช่เพิ่ม แบบ dynamic  เขาก็เลยใส่ url เป็น แบบนี้ 

<fb:comments href="www.ninenik.com/CSS_สร้างเมนูแนวตั้ง_2_ชั้นโดยไม่ใช้_javascript_และตาราง_table-143.html"  ...... >

เลยต้องใส่แบบ Manual 

------------------------------------------------------------------------------------------------------------------

******  แต่ ถ้าเป็นหน้ากระทู้ที่พวกเราตั้งขึ้นมาเอง  มันเป็น dynamic ไงครับ ไม่สามารถเพิ่ม fb:comment ได้ง่ายๆ แน่เลย 

สังเกตุสิที่พวกเราเม๊นจึง ไม่มี fb comment ในหน้านี้ เพระาเป็น dynamic 

------------------------------------------------------------------------------------------------------------------

มีอีกข้อสังเกตครับ ผมคือว่า  ลองใช้ graph api ดู 

http://graph.facebook.com/http://www.ninenik.com/CSS_สร้างเมนูแนวตั้ง_2_ชั้นโดยไม่ใช้_javascript_และตาราง_table-143.html

ถ้า ลองเอา ไปวางที่ url   มันจะรู้จัก   (สังเกตุจาก มีคนแชร์ url นี้ไป 9 คนละ  )

{
   "id": " url ข้างบน ",
   "shares": 9
}

แต่ถ้าคุณเอา 
http://graph.facebook.com/http://www.ninenik.com/content.php?arti_id=143 ไปวางที่ url
คุณจะเหนว่า facebook ไม่รู้จัก
{
   "id": "http://www.ninenik.com/content.php"
}

เนี่ยมันเห็นแค่นี้ 
ok ละเนาะ  อิอิ




โดย:  Jazzup IP: 203.146.32.xxx วันที่: 18-08-2011 เวลา: 14:38:35
 ความคิดเห็นที่ 7

http://www.ninenik.com/index.html

ลองเข้าไปที่นี่สิครับ  หน้าแรกเรย แล้วเอาเมาส์วางที่  กระทู้ต่าง ๆ  ดู ไม่ต้องคลิกนะครับ แล้วดูที่ status bar  จะเห็นว่า link เป็นชื่อไทย แปลว่า กดไป มัน redirect ไปหน้า ที่  ?art_id=xx  อีกที หรือเปล่า



โดย:  Jazzup IP: 203.146.32.xxx วันที่: 18-08-2011 เวลา: 14:42:52
 ความคิดเห็นที่ 8

 อีกอย่างก็คือ  fb:comment ของ คุณ นิค เขา มี  attribute ชื่อ  xid ซึ่งเป็น แบบเก่าอะครับ 

xid มันจะแยก url ให้ อะครับ 

 

เอ๊ะ ๆ!!!!!! หรือว่า คุณลอง generate   xid แบบ คุณ นิค ดูซิ  

 

เพื่อเป็นการแยก page แต่ละ page  ซึ่งอาจจะช่วยให้ไม่ ไม่ขึ้นหน้ารวม แล้วก็ได้นะ อาจจะ แยก  แต่ว่า คุณต้อง เพิ่ม คอนเม๊นลงไปใหม่ อีกรอบ นะ  เพราะ  fb:comment  จะจำ ค่าใหม่ หลังจาก  เพิ่ม code ไปแล้ว

 

แล้วดูซิว่า แยกกันหรือยัง  

 

เพิ่มอีกนิด  แต่ xid  เปนแบบ เก่านะครับ



โดย:  Jazzup IP: 203.146.32.xxx วันที่: 18-08-2011 เวลา: 14:47:14
 ความคิดเห็นที่ 9

 เรื่อง url นี่ไม่ใช่ที่ว่า ทำ mod rewrite เหรอครับถึงแสดง url เป็น ภาษาไทย

www.ninenik.com/CSS_สร้างเมนูแนวตั้ง_2_ชั้นโดยไม่ใช้_javascript_และตาราง_table-143.html

ซึ่งจริงๆแล้วมันมีค่าเท่ากับ http://www.ninenik.com/content.php?arti_id=143 



โดย:  Likito IP: 110.164.187.xxx วันที่: 18-08-2011 เวลา: 14:48:03
 ความคิดเห็นที่ 10

 อ่อ หรอครับ ไม่รู้แฮะ ผมไม่เคยเขียน php  5555 

ผมมีข้อสังเกตอีกแล้ว   555555

คุณนิค อาจจะไม่ได้ ทำ manual ละ

http://www.ninenik.com/content.php?arti_id=395  <<<  แบบกระทู้นี้ มี fb:comment 

แต่ว่า ลองเพิ่มเลข อื่นมั่ว ๆ ไปสิ เช่น 

http://www.ninenik.com/content.php?arti_id=3954546

มันก็จะไม่มี กระทู้ แต่ว่า มี fb:comment อยู่  

งั้นผมเดาว่า ใส่ xid ไปแหละครับ

น่าจะเป็นตัวแบ่งแยก url 

  

 



โดย:  Jazzup IP: 203.146.32.xxx วันที่: 18-08-2011 เวลา: 14:51:42
 ความคิดเห็นที่ 11

 ถ้าได้ แล้วยังไงรบกวนบอกผมด้วยละกันนะครับ อยากทว่าติดเพระาอะไร



โดย:  Jazzup IP: 203.146.32.xxx วันที่: 18-08-2011 เวลา: 14:59:53
 ความคิดเห็นที่ 12

 ได้แล้วครับ

ไม่เกี่ยวที่ว่าตั้งค่า Site ใน Facebook ยังไง

<div id="fb-root"></div>

<fb:comments href="{WEBSITE URL}" num_posts="3" width="500"></fb:comments>

ตรง {Website URL}

ใช้เป็น part เลยเช่น

http://xxxxxxxxxxx.php?page=1

 

ในกรณี ใช้เป็น 

$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]

เพื่อแสดงเป็น url + query string

<div id="fb-root"></div>

<fb:comments href="<?php echo $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; ?>" num_posts="3" width="500"></fb:comments>

แต่ตอนแรกที่ไม่ได้เพราะ

พอดี server ที่ใช้ทดลองเป็น iis คำสั่ง $_SERVER["REQUEST_URI"] มันใช้ด้วยกันไม่ได้ หรือยังไง เพราะลอง echo ค่าออกมา แล้วกลายเป็น ค่าว่าง ถ้าลองใน appserv จะ echo ออกปกติ 

ต้องใช้แทนด้วยแบบนี้

<fb:comments href="http://xxxxxxx.php?page=<?php echo $_GET["page"]; ?>" num_posts="3" width="500"></fb:comments>

 

 



โดย:  Likito IP: 110.164.187.xxx วันที่: 19-08-2011 เวลา: 10:32:52