• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2843
  • Last Modified:

Facebook FBML markup not working with PHP

I have a problem with getting the fbml markup to work in the footprints example from Facebook. Yes this is my first Facebook app tryout :).

My setup is :
IIS 6.0 W2003
PHP 5.2.6
MySQL 5.0
Files : Footprints example downloaded from http://svn.facebook.com/svnroot/platform/clients/packages/facebook-platform.tar.gz

The Application works fine in almost all ways except for the <fb:name firstnameonly="true" uid="<?=$user?>" useyou="false"/> command not showing my name, hence fbml not working.

Howeve if I add these variables in line 15  
   $user_info = $facebook->api_client->users_getInfo($user, 'first_name');
   $firstname = $user_info[0]['first_name'];
and switch
  <?php echo $firstname?> with <fb:name firstnameonly="true" uid="<?=$user?>" useyou="false"/> in line 31 everything works fine.

$facebook->get_add_url() does not work either.

Is that the only solution to this with my setup or am I forgetting some library in the php setup?
Hints are very much appreciated.

Also just wondering if there should be a reference to fbml in php.ini
// the facebook client library
include_once '../php/facebook.php';
// some basic library functions
include_once 'lib.php';
// this defines some of your basic setup
include_once 'config.php';
$facebook = new Facebook($api_key, $secret);
$user = $facebook->require_login();
if (isset($_POST['to'])) {
  $prints_id = (int)$_POST['to'];
  $prints = do_step($user, $prints_id);
} else {
  if (isset($_GET['to'])) {
    $prints_id = (int)$_GET['to'];
  } else {
    $prints_id = $user;
  $prints = get_prints($prints_id);
<div style="padding: 10px;">
  <h2>Hi <fb:name firstnameonly="true" uid="<?=$user?>" useyou="false"/>  !</h2><br/>
  <a href="<?= $facebook->get_add_url() ?>">Put Footprints in your profile</a>, if you haven't already!
    <form method="post" >
      if ($prints_id != $user) {
        echo 'Do you want to step on <fb:name uid="' . $prints_id . '"/>?';
        echo '<input type="hidden" name="to" value="' . $prints_id . '"/>';
      } else {
        echo '<br/>Step on a friend:';
        echo '<fb:friend-selector idname="to"/>';
      <input value="step" type="submit"/>
  These are <fb:name uid="<?= $prints_id ?>" possessive="true"/> Footprints:<br/>
  <?php echo render_prints($prints, 10); ?>
  <div style="clear: both;"/>

Open in new window

  • 2
1 Solution
Richard QuadlingSenior Software DeveloperCommented:
2 things.

1 - What is the HTML output for this?

2 - Change ...



<?php echo $user; ?>

Richard QuadlingSenior Software DeveloperCommented:
For thing 1, do a view source on the page that is displayed and extract the bit relating to this question.
NjordurAuthor Commented:
Thanks for the input, I came to the same conclusion... there was a variable in php.ini that I forgot to set on
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now