2010-07-31 7 views
0

Я стараюсь, чтобы текущие пользователи вошли в друзья пользователя, они должны выбрать одного друга, используя форму ниже, а затем отправить ее на ту же страницу. Сценарий должен получить идентификатор пользователя (только один) и добавить его в базу данных.Facebook App FBML, fb: friend-selector get friend userid

Сценарий работает нормально, но его не отправляет правильный идентификатор (неправильный ID $_POST['friend_selector_id']), он отправляет идентификатор, который выглядит так: 2147483647, и я не уверен, является ли это идентификатором профиля или что, но мне нужен идентификатор что вы используете с этим кодом <fb:profile-pic uid=. Мне нужен идентификатор пользователя. Может ли кто-нибудь помочь мне?

Спасибо: D

<form action="<?php echo $appCanvasUrl.'challenge.php?gameid='.$_GET[gameid].'&userid='.$user.'&userid2='.$friend_selector_id; ?>" id="challenge" method="post"> 
<fb:friend-selector uid="<?PHP echo $user; ?>" name="userid2" idname="friend_selector_id"/> 
<INPUT type="submit" value="Challenge"> </form> 
<?php 
    if(isset($_GET['gameid']) && is_numeric($_GET['userid']) && isset($_GET['userid2'])) { 
    $gameid = am_injection($_GET[gameid]); 
    $userid2 = am_injection($_POST['friend_selector_id']); 
    $userid1 = am_injection($user); 
    am_queries($db, "INSERT INTO `AMCMS_challenges` (`primkey` ,`userkey1` ,`userkey2` ,`gameid` ,`winner`, `score1`, `score2`) VALUES (NULL, $userid1, $userid2, $gameid, 0, 0, 0);"); 
    echo 'Challenge recorded.'; 
    } else { 
    echo 'Please select a friend to challenge!'; 
    exit; 
    } 
+0

2147483647 выглядит как правильный uid. Что заставляет вас думать, что это неправильно? – serg

+0

, когда я печатаю Я получаю сообщение об ошибке из facebook, говоря, что это не действительный идентификатор профиля. Ошибки при загрузке страницы из приложения Ошибки времени выполнения: fb: profile-pic: Недопустимый uid для fb: profile_pic (2147483647) – Krasi

+0

Когда вы просматриваете профиль пользователя в селекторе друзей, он должен показывать uid в URL-адресе. Что он показывает и как он сравнивается с 2147483647? И что делает 'am_injection'? Возможно ли, что оно преобразует его в число или что-то, что переполняется? Вы пробовали без 'am_injection'? – serg

ответ

0

Мой плохо, это был не сценарий, это была моя база данных. Мне пришлось установить поля в BIGINT, иначе число, записанное в базе данных, было совершенно иным :)

Смежные вопросы