JQuery AJAX + PHP Войти - PullRequest
       2

JQuery AJAX + PHP Войти

1 голос
/ 26 января 2012

Я использую PHP + jQuery AJAX для входа пользователя на мой сайт.PHP подключается к базе данных, а jquery подключается к файлу PHP, и все работает, пока не наступит время для фактического входа в систему. Когда я ввожу свое имя пользователя и пароль, файл возвращает ошибку.У меня это работало около недели назад, но я выполнял некоторую очистку кода и случайно удалил скрипт, в котором он выполнял вход в систему, и теперь я не могу заставить его работать.Вот мой файл PHP:

<?php 
include('.conf.php');
$user = $_POST['user'];
$pass = $_POST['pass'];

$result = mysql_query("SELECT * FROM accountController WHERE username = '$user'");while ($row = mysql_fetch_array($result)) {
if (sha1($user.$pass) == $row['pword']) {
    setcookie('temp', $row['username']);
    session_start();
    $_SESSION['login'] = 1;
    $_SESSION['uname'] = $row['username'];
    echo "success";
}
}
?>

Я верю, что файл PHP повторяет правильное утверждение, и да, пароли в базе данных зашифрованы с помощью sha1.Вот код jquery:

            $('.mainlogin').submit(function() {
        $.ajax({
            url: 'log.php',
            type: 'POST',
            data: {
              user: username,
              pass: password
            },
            success: function(response) {
                if(response == 'success') {
                    window.location.reload();
                } else {
                    $('.logerror').fadeIn(250);
                }
            }
        });
        return false;
    });

Спасибо за помощь!

РЕДАКТИРОВАТЬ: Я не уверен, что сейчас не так, но он не войдет в систему, независимо от того, что япытаться.Я исправил все, что вы, ребята, предложили ниже, но безрезультатно.Возможно, что-то не так в моем PHP-файле?

Ответы [ 3 ]

7 голосов
/ 26 января 2012

попробуйте это:

  $('.mainlogin').submit(function() {
        $.ajax({
            url: 'log.php',
            type: 'POST',
            data: {
                  username: username,
                  password:password
            },
            success: function(response) {
                if(response == 'success') {
                    window.location.reload();
                } else {
                    $('.logerror').fadeIn(250);
                }
            }
        });
        return false;
    });

или изменить параметры данных

data: 'username =' + username + '& password =' ​​+ password

И ИСПОЛЬЗОВАТЬ & !!!!

3 голосов
/ 26 января 2012

У вас есть опечатка:

data: 'user='+username+'pass='+password,

должно быть:

data: 'user='+username+'&pass='+password,

или воспользуйтесь альтернативой @ Olaf, которая гарантирует, что вы не допустите подобных ошибок.

1 голос
/ 26 января 2012

То, что сказали другие.Символ '&' необходим для разделения ваших параметров.

В примечании, относящемся к некоторой степени, возможно, вы захотите добавить эти пароли к солью ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...