javascript回调函数中的PHP代码运行,而无需我执行javascript函数

时间:2020-08-03 17:44:08

标签: javascript php wordpress

我正在创建我的第一个WordPress插件,在该插件中,我需要限制客户(网站所有者)对某些插件子菜单页面的访问。为此,我创建了一种登录系统,在安装插件后,我会使用以下密码创建密码并将其保存到数据库中:

add_option('ibsupport_password', password_hash($password_new, PASSWORD_DEFAULT), '', 'yes' );

此后,我将显示登录屏幕,如果密码与之前创建的密码匹配,我将使用下面的代码来保留登录会话。

add_option( 'ib_logged_in', "true", '', 'yes' );

到目前为止,一切正常,但是当我尝试创建一个注销按钮时出现了问题,想法是当您单击该按钮时,它将运行一个具有PHP代码的javascript函数,该函数会从中删除“ ib_logged_in”选项数据库,从而结束登录会话。这是代码:

<?php
    $logged_in = (get_option('ib_logged_in', null) !== null);
    if($logged_in){
        ?>
        <button class="logout" target='blank' onClick="window.location.reload();">Logout</button>
        <script>
            //logout functionality
            let logout = document.querySelector('.logout');
            logout.addEventListener('click', handleClick);
            function handleClick() {
                <?php
                delete_option('ib_logged_in');
                ?>
            }
        </script>
        <?php
    }
    ?>

但是delete_option('ib_logged_in');似乎在没有我单击注销按钮的情况下运行。当我进入带有“注销”按钮的子菜单页面时,它将运行。因此,当我第一次进入页面时,将显示注销按钮,但是当刷新页面时,注销按钮消失,并且(ib_logged_in)选项从数据库中删除。

我对WordPress和PHP相当陌生,所以也许我在这里缺少一些简单的东西?关于在javascript函数中运行的php代码,我是否不了解某些基本知识?

谢谢您的帮助!

0 个答案:

没有答案