为了账号安全,请及时绑定邮箱和手机立即绑定

javascript中的wordpress php在回调成功后工作吗?

javascript中的wordpress php在回调成功后工作吗?

PHP
Cats萌萌 2021-10-15 10:46:10
我在 javascript 中使用 php 代码。但是,有一个错误。我不知道我的代码出了什么问题。你能看看吗?function wp_auth_javascript() {  if (is_page('login')) {         ?>        <script type="text/javascript">          function auth_adult(){                IMP.certification({ // param                merchant_uid:'merchant_' + new Date().getTime(),                min_age: 19              }, function (rsp) { // callback                    if (rsp.success) {                      alert('success');                    <?php $_SESSION['adult'] = 'y'; wp_redirect(home_url()); exit; ?>                    }else{                     alert('fail');                    }              });          }        </script>    <?php  }}add_action('wp_head', 'wp_auth_javascript');当我使用此代码时,当我进入登录页面时,它会自动重定向到主页 url。我以为我在回调中成功后会被重定向,但它根本不起作用。问题是什么?
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

糟糕的代码。当 js 函数发送到浏览器时,您不能使用 php 代码,而是将 ajax 发送到服务器以设置 SESSION,然后通过 javascript 重定向。


查看完整回答
反对 回复 2021-10-15
?
慕后森

TA贡献1802条经验 获得超5个赞

我认为这一行不正确:

<?php $_SESSION['adult'] = 'y'; wp_redirect(home_url()); exit; ?>

反而 :

<?php ($_SESSION['adult'] = 'y') ? wp_redirect(home_url()) : exit; ?>


查看完整回答
反对 回复 2021-10-15
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

尝试通过 Javascript 重定向,而不是 PHP。


if (rsp.success) { 

    alert('success');

    window.location.href = '/'; // Or anything you want.

}

无论您授权(通过 Javascript)成功还是失败,if 语句中的 PHP 都会在您访问登录页面时一直运行。


但这只是示例代码,您应该调用 admin-ajax.php 或像@May Weather VN 的 anwser 这样的 php 文件来将会话分配给它们。


查看完整回答
反对 回复 2021-10-15
  • 3 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信