Php 如何在Facebook注册插件中添加隐藏字段?
我正在使用facebook注册将一些数据发送到post.php文件:Php 如何在Facebook注册插件中添加隐藏字段?,php,facebook,Php,Facebook,我正在使用facebook注册将一些数据发送到post.php文件: <?php $fields = json_encode(array( array('name' => 'first_name'), array('name' => 'last_name'), array('name' => 'phone', 'description' => 'Phone Number', 'type' => 'text') )); ?> <iframe
<?php
$fields = json_encode(array(
array('name' => 'first_name'),
array('name' => 'last_name'),
array('name' => 'phone', 'description' => 'Phone Number', 'type' => 'text')
));
?>
<iframe class="facebook-login" src="http://www.facebook.com/plugins/registration.php?
client_id=xxxxxxxxxxxxxxxx&
redirect_uri=http://www.xxx.com/poet.php&
fields=<?php echo urlencode($fields);?>"
scrolling="auto"
frameborder="no"
style="border:none"
allowTransparency="true"
width="100%"
height="330">
</iframe>
但这不会返回123456值
有什么想法吗
谢谢
编辑:
如果facebook不允许隐藏字段,如何将变量传递给http://www.xxx.com/poet.php..
我是这样解读信息的:
$response = parse_signed_request($_REQUEST['signed_request'], FACEBOOK_SECRET);
$fname = $response['registration']['first_name'];
facebook为什么会允许隐藏字段?表单中的数据来源于Facebook或用户输入。如果要在下一个脚本中保留一个值,请使用变量。Facebook注册允许隐藏字段: 支持的值包括文本、日期、选择、复选框、提前键入和隐藏
有关详细信息,请参见自定义字段部分。是的,facebook似乎不支持传递隐藏变量,但您应该能够通过向重定向uri添加?hidden=value来模拟这些变量。您需要设置默认属性
{'name'=>'language','description'=>'language','type'=>'hidden','default'=>I18n.locale}哈达德先生非常接近。。。。正确的语法是:
$fields = "[{'name':'name'},
{'name':'email'},
{'name':'City','description':'City','type':'text'},
{'name':'State','description':'State','type':'text'},
{'name':'ZipCode','description':'Zip Code','type':'text'},
{'name':'Telephone','description':'Your Best Telephone Number','type':'text'},
{'name':'thisUserID','description':'thisUserID','type':'hidden','default':'".$user_id."'}
]";
要捕获FB用户信息。。。。使用签名请求中返回的FB id,并向FB open graph发出另一个请求。如果生成的表单中确实存在隐藏字段,请检查登录页面的源代码。可能是,出于安全原因,facebook不允许隐藏字段。facebook隐藏字段用于从facebook获取数据,而不在表单上显示数据-它不用于预填充和传递数据。例如,如果你想收集生日而不显示它,我会说,facebook可以允许隐藏字段,原因与普通html表单支持它们的原因相同——在许多情况下,它们比会话变量更方便……这个答案是不正确的。Facebook确实允许隐藏变量。文件中非常明确地说明了这一点。传递值实际上有三种方法:1。定义一个类型为hidden的字段,并将其值设为2。手动为会话cookie指定一个值需要XFBML 3。通过请求uri手动传递变量
$fields = "[{'name':'name'},
{'name':'email'},
{'name':'City','description':'City','type':'text'},
{'name':'State','description':'State','type':'text'},
{'name':'ZipCode','description':'Zip Code','type':'text'},
{'name':'Telephone','description':'Your Best Telephone Number','type':'text'},
{'name':'thisUserID','description':'thisUserID','type':'hidden','default':'".$user_id."'}
]";