2

最近、GoDaddy ホスティングを交換し、要求された DNS サーバーを別の鉱山に誘導しました。方向はフォルダーを指しています。

実際にログインするためにフォームを送信する前に、ajaxログインで検証しようとしています。

AJAX は php を呼び出して実行しますが、データは要求で失われたかのように POST によって渡されません。ただし、PHP は AJAX リクエストで実行されており、必要に応じてメッセージを返しますが、データは ajax を介して送信されます。

直接郵便でフォームを送信しようとしましたが、同じエラーが発生しました。私は、DNS の指示で POST が失われている可能性を信じています。出来ますか?

とにかく、私は HTML、AJAX、および PHP を残しています: 注: 私は CodeIgniter を使用しています。HTML:

<?php echo form_open('usuarios/login', array('method' => 'post', 'id' => 'form-login')) ?>
    <div class="boxform">
        <label for="loginnome">Usuário ou E-mail:</label>
        <input type="text" name="loginnome" required id="loginnome" placeholder="Usuário ou E-mail" title="Usuário ou E-mail">
    </div>
    <div class="boxform">
        <label for="loginsenha">Senha:</label>
        <input type="password" name="loginsenha" required id="loginsenha" placeholder="Senha" title="Senha">
    </div>
    <div class="boxform">
        <input type="submit" class="button submit-claro" value="Logar" title="Logar">
    </div>
<?php echo form_close(); ?>

AJAX:

$('#form-login').validate({
    rules: {
        loginnome: {
            required:true,
            maxlength:100
        },
        loginsenha:{
            required:true,
            maxlength:30
        }
    },
    submitHandler: function( form ){

        $.ajax({
            type        : "POST",
            url         : get_url()+"usuarios/validar_login",
            dataType    : 'json',
            data        :       {
                'usuario'   : $('#loginnome').val(),
                'senha'     : $('#loginsenha').val()
            },
            success     : function(data){
                console.log(data);
                if (data.usuario === false) {
                    $('.msg_error p').show();
                    $('.msg_error p').html('');
                    $('.msg_error p').html('Usuario inválido');
                    $('#loginnome').val('').focus();
                }
                else {
                    if (data.senha === false) {
                        $('.msg_error p').show();
                        $('.msg_error p').html('');
                        $('.msg_error p').html('Senha incorreta');
                        $('#loginnome p').val('').focus();
                    }
                    else {
                        inicia_sessao(data.url);
                    }
                }
            }
        });

        //return false;
    }
});

PHP:

public function validar_login()
{
    $usuario        = $this->input->post('usuario');
    $senha          = $this->input->post('senha');

    $return         = $this->usuario->valida_login($usuario,$senha);
    $return['url']  = site_url();
    echo json_encode($return); die;
}
4

1 に答える 1

1

これは直接的または間接的にプロバイダーの管理下にあるため、プロバイダーに連絡して解決する必要がある場合があります。

于 2013-10-16T13:49:07.343 に答える