【问题标题】:Populate Facebook Feed Dialog from SQL database从 SQL 数据库填充 Facebook 提要对话框
【发布时间】:2013-07-01 15:38:31
【问题描述】:

是否可以使用从 SQL 数据库中获取的 PHP 变量以安全的方式动态填充 Facebook 的 Feed 对话框?

    ...
    // calling the API ...
    var obj = {
      method: 'feed',
      redirect_uri: 'YOUR URL HERE',
      link: 'https://developers.facebook.com/docs/reference/dialogs/',
      picture: 'http://fbrell.com/f8.jpg',
      name: 'Facebook Dialogs',
      caption: 'Reference Documentation',
      description: 'Using Dialogs to interact with people.'
    };
    ...

我猜例如:

    name: '<?php echo $name; ?>', etc..

应该是可能的..但是如果名称中包含 ' 字符怎么办?与描述相同,因为它可能包含不同的特殊字符,可能会破坏 javascript 代码。

我怎样才能避免这种情况,或者是否有一种“纯”的基于 php 的方法来填充 Feed 对话框,其中包含图像、名称、描述等数据库内容..

【问题讨论】:

    标签: php javascript facebook dialog feed


    【解决方案1】:

    你想生成一个javascript对象,最简单的方法是使用json_encode(),它会为你处理所有的转义:

    <?php
    $fb_feed = array(
      'name' => $name,
      'method' => 'feed',
      ...
    );
    ?>
    var obj = <?php echo json_encode($fb_feed) ?>;
    

    请注意,如果出于某种原因您不想像这样生成整个对象,您也可以将它与单个字段一起使用:

    var obj = {
          method: 'feed',
          name: <?php echo json_encode($name) ?>,
          ...
    }
    

    【讨论】:

    • 我打算建议转义,但这显然是正确的答案。 +1
    • 我明白了,就这么简单!感谢您的宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多