我有一个脚本,它首先检查表单页面是否是从 GET 参数引用的
$page['is_referred'] = isset($_GET['rfr']) ? 1 : 0;
然后将该设置值用作 Symfony2 表单中隐藏字段的值
$form = $app['form.factory']->createBuilder('form', $data)
//....
->add('referred', 'hidden', array(
'data' => $page['is_referred'],
))
->getForm();
然后
if ('POST' === $request->getMethod()) {
$form->bindRequest($request);
if ($form->isValid()) {
//...
$referred = $form->get('referred')->getData();
$msg_referer = "Thanks from Referrer";
$msg_noreferer = "Thanks";
if( 1 == $referred ){
$page['thanks'] = $msg_referer;
}else{
$page['thanks'] = $msg_noreferer;
}
//..
}
}
隐藏字段在 url 中时在主站点上可以正常读取?rfr
,但当在 Facebook 中进行 iframe 并且?rfr
存在时,会显示 $msg_noreferer 消息。关于为什么会发生这种情况的任何想法?
编辑:我还应该提到,当我检查源时,在 Facebook 中正确设置了字段值,但它似乎并没有正确发布数据