Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Логин работает только со второй попытки 
:(
    Опции темы
Satellence
Дата 20.3.2011, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 28.3.2007

Репутация: нет
Всего: нет



Логин реализован через ajax с помощью библиотеки jquery
суть проблемы: Логин работает только со второго раза.
Ввожу логин, пароль, логинюсь. проверка проходит, делает переадресацию, но логин не установлен. 
Повторяю процедуру - логин есть.

функция, отвечающая за логин, по клику на кнопку:
Код

$("#login_form").submit(function() {
       // указываем класс process для div-а сообщений и плавно показываем его
       $("#login_result").css('background','#cacaf9').css('border','1px solid #00f').text('Проверка...').fadeIn(1000);
       // проверяем через AJAX имя пользователя пароль
       $.post($("#login_form").attr('action'), { username:$('#username').val(),password:$('#password').val(),savepass:$('#js_check_savelogin_pd').attr('class'),rand:Math.random() } ,function(data) {
           if(data==1) {
               // логин верный
               $("#login_result").fadeTo(200,0.1,function() {
               $(this).html('Подождите, осуществляется вход...').css('background','#caf9ca').css('border','1px solid #0f0').fadeTo(900,1,
                   function() {
                       document.location = '/private/';
                   });
               });
           }
           if(data==0) {
               // логин неверный
               $("#login_result").fadeTo(200,0.1,function() {
                   $(this).html('Не верная пара логин/пароль').css('background','#f9caca').css('border','1px solid #f00').fadeTo(900,1);
               });
           }
           if(data==3) {
               // Не активирован
               $("#login_result").fadeTo(200,0.1,function() {
                   $(this).html('Пользователь не активирован').css('background','#f9caca').css('border','1px solid #f00').fadeTo(900,1);
               });
           }
       });
       return false;// отмена отправки формы (действие по умолчанию)
  });


.post($("#login_form").attr('action') , в action ссылка на control_login.php:
Код

<?
define('DB_HOST','****');
define('DB_USER','****');
define('DB_PASSWD','****');
define('TECH_DB','****');

function ConnectDB()
{
    if (defined(LINK) && is_resource(LINK)) return ;
    define('LINK',mysql_pconnect(DB_HOST,DB_USER,DB_PASSWD));
    if (!is_resource(LINK)) die('Ошибка подключения к серверу базы данных. <br> Попробуйте обновить страницу или зайти позже.');
    mysql_select_db(TECH_DB,LINK);
    mysql_query('SET NAMES cp1251',LINK);
    return true;
}
ConnectDB();

if (isset($_POST['username']) && isset($_POST['password']))
{
    $login = $_POST['username'];
    $password = md5(md5($_POST['password']));
    $query = "
        SELECT `id`,`login`,`rules`,`mail_check`
     FROM `user`
     WHERE `login`='{$login}' AND `password`='{$password}'
     LIMIT 1
    ";
    $sql = mysql_query($query);

    // если такой пользователь нашелся
    if (mysql_num_rows($sql) == 1)
    {
        $row = mysql_fetch_assoc($sql);
        if (!empty($row['mail_check']))
        {
            //Не активирован
            echo 3;
        }
        else
        {
            session_start();
            sleep(1);
         $_SESSION['user_id'] = $row['id'];
         $_SESSION['user_login'] = $row['login'];
            $_SESSION['user_logined'] = true;
            if ($_POST['savepass'] == 'checkbox_checked')
            {
                setcookie('iternia_login', $login , time() + 864000);
                setcookie('iternia_pswd', $password , time() + 864000);
            }
            if ($row['rules'] == 'admin') $_SESSION['is_admin'] = true;
         echo 1;
        }
    }
    else
        echo 0;
}
else
    echo 0;
?>


Посмотреть вручную можно тут: Итерния. 
Тестовый пользователь roga roga123

PM MAIL   Вверх
нуп
Дата 20.3.2011, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Код

<input class="input input_submit width70 cursor"
                                                            onMouseMove="active_button('l_ok_b_main','l_ok_b_left','l_ok_b_right')"
                                                            onMouseOut="deactive_button('l_ok_b_main','l_ok_b_left','l_ok_b_right')"
                                                            id="submit" type="submit" name="submit" value="ОК" onClick="Login();">

Код

Login is not defined


Это сообщение отредактировал(а) нуп - 20.3.2011, 12:18
PM MAIL   Вверх
Satellence
Дата 20.3.2011, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 28.3.2007

Репутация: нет
Всего: нет



Да, остался кусочек с предыдущей функции. Но дело не в нем. 
(Да, удалил его, логин всеравно со второй попытки)

---
Поправка, похоже, работает.. еще послежу повнимательнее. Спасибо. 

Это сообщение отредактировал(а) Satellence - 20.3.2011, 12:58
PM MAIL   Вверх
нуп
Дата 20.3.2011, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Та вроде все работает 
PM MAIL   Вверх
Muerto
Дата 22.3.2011, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Вникать времени нету, но в общем такие проблемы бывают когда куки объявляем после отдачи заголовков, и поэтому только со второго раза срабатывает


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1387 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.