您没有在表单提交时访问此文档的权限

时间:2016-02-15 作者:Pavnish Yadav

我没有什么小问题。如果我提交了用于登录的用户凭据,无论登录详细信息是否正确,页面都会转到“提交时禁止”按钮。我如何解决这个问题

提交后此处为禁止页面。

enter image description here

此处是登录代码

public function loginForm(){
    if(!session_id()){
        @session_start();
    }
    global $post;
    $redirect_page = get_option(\'redirect_page\');
    $redirect_page_url = get_option(\'redirect_page_url\');
    $logout_redirect_page = get_option(\'logout_redirect_page\');
    $link_in_username = get_option(\'link_in_username\');
    $default_login_form_hooks = get_option(\'default_login_form_hooks\');

    if($redirect_page_url){
        $redirect = $redirect_page_url;
    } else {
        if($redirect_page){
            $redirect = get_permalink($redirect_page);
        } else {
            $redirect = $this->curPageURL();
        }
    }

    if($logout_redirect_page){
        $logout_redirect_page = get_permalink($logout_redirect_page);
    } else {
        $logout_redirect_page = $this->curPageURL();
    }
    $this->load_script();
    $this->error_message();
    if(!is_user_logged_in()){
    ?>
    <div id="log_forms">
    <form name="login" id="login" method="post" action="">
    <input type="hidden" name="option" value="afo_user_login" />
    <input type="hidden" name="redirect" value="<?php echo esc_url( $redirect ); ?>" />
    <div class="form-group">
        <label for="username"><?php _e(\'Username\',\'login-sidebar-widget\');?> </label>
        <input type="text" name="user_username" required="required"/>
    </div>
    <div class="form-group">
        <label for="password"><?php _e(\'Password\',\'login-sidebar-widget\');?> </label>
        <input type="password" name="user_passwords" required="required"/>
    </div>
    <?php do_action(\'login_afo_form\');?>
    <?php $default_login_form_hooks == \'Yes\'?do_action(\'login_form\'):\'\';?>
    <div class="form-group">
        <?php $this->add_remember_me();?>
    </div>
    <div class="form-group"><label for="login">&nbsp;</label><input name="login" type="submit" value="<?php _e(\'Login\',\'login-sidebar-widget\');?>" /></div>
    <div class="form-group">
        <?php $this->add_extra_links();?>
    </div>
    </form>
    </div>
    <?php 
    } else {
    global $current_user;
    get_currentuserinfo();

    if($link_in_username){
        $link_with_username = \'<a href="\'. esc_url( get_permalink($link_in_username) ) .\'">\'.__(\'Howdy\',\'login-sidebar-widget\').\', \'.$current_user->display_name.\'</a>\';
    } else {
        $link_with_username = __(\'Howdy\',\'login-sidebar-widget\').\', \'.$current_user->display_name;
    }
    ?>
    <ul style="list-style-type:none;">
        <li><?php echo $link_with_username;?> | <a href="<?php echo wp_logout_url( $logout_redirect_page ); ?>" title="<?php _e(\'Logout\',\'login-sidebar-widget\');?>"><?php _e(\'Logout\',\'login-sidebar-widget\');?></a></li>
    </ul>
    <?php 
    }
}

1 个回复
SO网友:Mark Kaplun

表单操作指向显示登录表单的url,在编写自己的登录表单时,这往往不是所需的行为。您应该让登录端点来处理登录。结果应该是

<form .... action="<?php echo esc_url( site_url( \'wp-login.php\', \'login_post\' ) )?> ">

哪里site_url( \'wp-login.php\', \'login_post\') 是查找登录终点的特定方式。

显然,当使用与端点有关的插件时,您将受制于实现的质量。

相关推荐

从静态方法调用“ADMIN_NOTICES”挂钩

正在尝试呼叫;admin\\u通知”;从静态函数挂钩。没有得到任何输出。而对同一钩子的正常调用正在工作。use Awraq\\Init; use Awraq\\Notice; /** * Initialize the activation works of the plugin. */ function awraq_activate_plugin() { /* NOT WORKING */ Notice