我在 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 重定向。
慕后森
TA贡献1802条经验 获得超5个赞
我认为这一行不正确:
<?php $_SESSION['adult'] = 'y'; wp_redirect(home_url()); exit; ?>
反而 :
<?php ($_SESSION['adult'] = 'y') ? wp_redirect(home_url()) : exit; ?>
小唯快跑啊
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 文件来将会话分配给它们。
- 3 回答
- 0 关注
- 136 浏览
添加回答
举报
0/150
提交
取消