WordPress登录和注册可以在本地主机上运行,但不能在服务器上运行

时间:2018-12-20 作者:Siavash jahanpur

你好吗我有一个可笑的问题。我在wordpress中创建了一个ajax登录和注册功能。它们在localhost中工作没有任何问题,但当我在服务器上上载此项目时,它们不工作,注册功能没有任何问题,用户可以成功注册。但服务器上的登录功能不起作用。我在互联网上研究,但我找不到任何好的解决方案。请帮帮我。非常感谢。

my login page address

1 个回复
SO网友:Siavash jahanpur

jQuery codes:

jQuery(\'form#loginFormSubmit\').submit(function (e) {
    e.preventDefault();

    var $this = $(this);
    var $userName = $this.find(\'#userNameLogin\').val();
    var $password = $this.find(\'#passwordLogin\').val();
    // var $_nonce = $(\'meta[name="_nonce"]\').attr(\'content\');
    var $_nonce = $this.find(\'#nonceLogin\').val();
    var $rememberMe = $this.find(\'#rememberMe\').prop(\'checked\');
    jQuery.ajax({
        url: customData.ajax_url,
        type: \'post\',
        dataType: \'json\',
        data: {
            action: \'loginToSite\',
            userName: $userName,
            password: $password,
            rememberMe: $rememberMe,
            _nonce: $_nonce
        },
        success: function (response) {
            if (response.success) {
                $(\'.loginRegisterResponse\').fadeIn().addClass(\'successToLogin\').find(\'p\').text(response.msg);
                let delay = 3000;
                setTimeout(function () {
                    window.location = response.redirect;
                }, delay);
            } else {
                $(\'.loginRegisterResponse\').fadeIn().find(\'p\').text(response.msg);
            }
        },
        error: function (error) {

        }
    });
});

ajax php codes:

check_ajax_referer(\'ajax_login_form\', \'_nonce\', true);

$loginInstance = new registerAndLogin($_POST[\'userName\'], $_POST[\'password\']);
$response = [];
$success = true;
$userName=$loginInstance::$userName;
$password = $loginInstance::$password;
$rememberMe=isset($_POST[\'rememberMe\']);

$user = wp_authenticate_username_password(null, $userName, $password);

if (is_wp_error($user)) {
    $success = false;
    if (!$success) {
        $response[\'success\'] = $success;
        $response[\'msg\'] = __("User name or password are incorrect", THEME_NAME);
    }
    wp_die(json_encode($response));
}

$creds = array();
$creds[\'user_login\'] = $userName;
$creds[\'user_password\'] = $password;
$creds[\'remember\'] = true;

$userLoggedIn = wp_signon($creds, false);
if (is_wp_error($userLoggedIn)) {
    $success = false;

    if (!$success) {
        $response[\'success\'] = $success;
        $response[\'msg\'] = $userLoggedIn->get_error_message();
    }
    wp_die(json_encode($response));
}

if ($success) {
    $response[\'success\'] = $success;
    $response[\'redirect\'] = home_url();
    $response[\'msg\'] = __("hi ", THEME_NAME) . $userName . __(\' , you signed in to site successfully\', THEME_NAME);
}
wp_die(json_encode($response));

And html code :

<form id="loginFormSubmit" class="forms_form" action="<?php echo get_the_permalink() ?>" method="post">
<fieldset class="forms_fieldset">
    <div class="forms_field">
        <input class="forms_field-input" id="userNameLogin" type="text" name="userName" placeholder="<?php echo __(\'username\', THEME_NAME); ?>"
            required autofocus>
    </div>
    <div class="forms_field">
        <input id="passwordLogin" type="password" class="forms_field-input" name="password" placeholder="<?php echo __(\'password\', THEME_NAME); ?>"
            required>
    </div>
    <div class="col-auto my-1">
        <div class="custom-control custom-checkbox mr-sm-2">
            <input type="checkbox" id="rememberMe" class="custom-control-input">
            <label class="custom-control-label" for="rememberMe">
                <?php echo __(\'Keep me Signed in\', THEME_NAME); ?></label>
        </div>
    </div>
</fieldset>
<div class="forms_buttons">
    <button type="button" class="forms_buttons-forgot">
        <?php echo __(\'Forgot password?\', THEME_NAME); ?>
    </button>
    <input type="submit" value="<?php echo __(\'Log In\', THEME_NAME); ?>" class="forms_buttons-action">
</div>
<div class="group loginRegisterResponse">
    <p></p>
</div>
<?php echo do_shortcode(\'[bws_google_captcha]\'); ?>
<?php wp_nonce_field(\'ajax_login_form\', \'nonceLogin\'); ?>

相关推荐

Wp-login.php输入密码什么都不会发生

我有一个prettypeople网站。无论何时我尝试以管理员身份登录,无论是在/wp admin还是/wp登录并输入正确的凭据,都不会发生任何事情!页面刷新,如果我检查日志,我找不到任何东西!我能做什么?链接更改自prettypeople.nl/wp-login 收件人:https://prettypeople.nl/wp-login.php?redirect_to=https%3A%2F%2Fprettypeople.nl%2Fprettypeople%2F%2Fwp-admin%2F&reau