php, как вызвать функцию JavaScript? - PullRequest
2 голосов
/ 07 июля 2011

Я пытаюсь использовать свойства 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 я отправляю это the login.php и redirect page ... Где будет звонок на socialize.notifyLogin?

спасибо, любая идея помогает

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

У вас есть два варианта:

Если вы называете login.php в качестве цели формы HTML, вы должны перенаправить пользователя на новую страницу HTML после успешного входа в систему. Эта новая HTML-страница должна содержать вызов socialize.notifyLogin.

Если вы вызываете login.php через AJAX-запрос, вы должны вызвать socialize.notifyLogin в «успешном» обратном вызове AJAX-запроса.

Однако ни в коем случае вы не сможете выполнять функцию Javascript непосредственно из вашего PHP-скрипта. PHP выполняется на сервере до того, как Javascript отправляется пользователю как вывод с вашим HTML-документом, и поэтому не может напрямую выполнять функции Javascript.

0 голосов
/ 07 июля 2011

PHP выполняется до загрузки страницы, поэтому вы не можете вызвать функцию JavaScript из PHP.

...