我在登录页面上遇到了php验证问题

时间:2016-03-23 06:28:08

标签: javascript php jquery

我在使用此代码时遇到一些问题...当我输入错误的密码或清空它有效但它删除了css文件并且鼠标滚动按钮不起作用,并且还从我的登录页面中删除标题。这是我的网站链接。请有人帮助我,http://www.tril.la/dev2/login/

    $page_id = "";
    $product_pages_args = array(
        'meta_key' => '_wp_page_template',
        'meta_value' => 'login.php'
    );

    $product_pages = get_pages( $product_pages_args );
    foreach ( $product_pages as $product_page ) {
        $page_id.= $product_page->ID;
    }

    function goto_login_page() {

    global $page_id;
    $login_page = home_url( '/?page_id='. $page_id. '/' );
    $page = basename($_SERVER['REQUEST_URI']);
        if( $page == "wp-login.php" && $_SERVER['REQUEST_METHOD'] == 'GET') {
            wp_redirect($login_page);
            exit;
        }
    }
    add_action('init','goto_login_page');

    function login_failed() {
        global $page_id;
        $login_page = home_url( '/?page_id='. $page_id. '/' );
        wp_redirect( $login_page . '&login=failed' );
        exit;
    }
    add_action( 'wp_login_failed', 'login_failed' );

    function blank_username_password( $user, $username, $password ) {
        global $page_id;
        $login_page = home_url( '/?page_id='. $page_id. '/' );
        if( $username == "" || $password == "" ) {
            wp_redirect( $login_page . "&login=blank" );
        exit;
        }
    }
    add_filter( 'authenticate', 'blank_username_password', 1, 3);

    //echo $login_page = $page_path ;

    function logout_page() {
        global $page_id;
        $login_page = home_url( '/?page_id='. $page_id. '/' );
        wp_redirect( $login_page . "&login=false" );
        exit;
    }
    add_action('wp_logout', 'logout_page');

    $page_showing = basename($_SERVER['REQUEST_URI']);

    if (strpos($page_showing, 'failed') !== false) {
        echo '<p class="error-msg"><strong>ERROR:</strong> Invalid username and/or password.</p>';
    }
    elseif (strpos($page_showing, 'blank') !== false ) {
        echo '<p class="error-msg"><strong>ERROR:</strong> Username and/or Password is empty.</p>';
    }
    ?>

1 个答案:

答案 0 :(得分:1)

问题是在输出的其余部分之前显示错误消息。确保在标题后面显示错误消息。