2

我正在尝试使用 gigya auth 属性在我的网站上登录用户。他们有一个函数,需要在我验证凭据后调用,如图所示

我有一个表单,当我提交表单时,我将其发送到 login.php,在那里我对我的用户进行身份验证。我的问题是我该怎么做call socialize.notifyLogin

这是javascript:

<script type="text/javascript"> var conf = { APIKey:'2_9E9r_ojXEqzZJqKk7mRqvs81LtiSvUmBcm' }; </script>
<script type="text/javascript">
var secret = 'eIqtclW2CxC6qvmT55MvOxZ5Rm7V5JhBV/gioJLKIxM=';
var yourSiteUid= '<?php echo $talentnum;?>'; // siteUID should be retrieved from your user management system

function your_b64_hmac_sha1(secret, datePlusSite) { 
var b64Sig = ''; // Place your implementation here ... 
return b64Sig; 
}

function printResponse(response) {
if ( response.errorCode == 0 ) {
    alert('After notifyLogin');    
}
}

var dateStr = getCurrentTime();  
var datePlusSite = dateStr + "_" + yourSiteUid;
var yourSig = your_b64_hmac_sha1(secret, datePlusSite);

var params={
siteUID:yourSiteUid,
timestamp:dateStr,
signature:yourSig,
callback:printResponse
};

gigya.services.socialize.notifyLogin(conf,params);
</script> 

为了更清楚,我设置了$talentnum;我的 login.php 内部。所以我有the form我发送它 tithe login.phpredirect page... 呼叫socialize.notifyLogin将在哪里?

谢谢,任何想法都有帮助

4

2 回答 2

2

你有两个选择:

如果您调用 login.php 作为 HTML 表单的目标,您应该在成功登录后将用户重定向到新的 HTML 页面。这个新的 HTML 页面应该包含socialize.notifyLogin调用。

如果通过 AJAX 请求调用 login.php,则应调用 AJAX 请求socialize.notifyLogin的“成功”回调。

但是,在任何情况下,您都不能直接从您的 PHP 脚本执行 Javascript 函数。PHP 在将 Javascript 作为 HTML 文档的输出发送给用户之前在服务器上执行,因此无法直接执行 Javascript 函数。

于 2011-07-06T23:38:10.197 回答
0

PHP 在页面加载之前执行,因此您不能从 PHP 调用 JavaScript 函数。

于 2011-07-06T23:38:04.557 回答