Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

проблема с посылкой checkbox

271
22 января 2007 года
MrXaK
721 / / 31.12.2002
такая проблема
есть элемент
 
Код:
<INPUT class=inputbox id=mod_login_remember type=checkbox alt="Remember Me" value=yes name=remember> <LABEL for=mod_login_remember>Запомнить меня
                                </LABEL>

затем через js используя ajax посылаю его
 
Код:
var rem = document.getElementById("mod_login_remember");
    var rem2;
    if( rem.checked == true )
        rem2 = "yes";
    else
        rem2 = 0;
    x_doLogin(login, pass, rem2, rep);

далее в обработчике
 
Код:
function doLogin($login, $pass, $remember)
{
/* код */
            if( strpos($remember, "yes") !== false )
            {
/* код далее */
}

и в-общем этот код не выполняется никак когда checkbox установлен
если в тупую посылать x_doLogin(login, pass, rem, rep);
то if( isset($remember) ) { /* */ }
тоже не работает...
( использую sajax для посылки )
в чём может быть проблема?
13
22 января 2007 года
RussianSpy
3.0K / / 04.07.2006
Цитата:
if( rem.checked == true )


Вот это круто... =)))

[COLOR="Silver"]Вообще переменная rem является объектом. Насколько мне помнится Sajax не умеет сам передавать объекты.[/COLOR]

Еще хорошо было бы расставить везде кавычки как того требует стандарт.

UPD:
Не заметил сходу что все правильно передается. Как вы узнаете что "ничего не работает"?
я бы для начала посмотрел что передается на сервер.
Примерно так:

 
Код:
function doLogin($login, $pass, $remember)
{
  return $remember;
}

а в JavaScript функции получающей ответ сервера поставил бы обычный алерт
 
Код:
function rep(str)
{
  alert(str);
}
271
22 января 2007 года
MrXaK
721 / / 31.12.2002
про отладку забыл))
передаётся как ни странно yes
(alert выводит всё нормально)
тогда наверное проблема в коде))
там стоит установка cookie для запоминания пользователей... и flush() после неё...
раньше когда sajax не использовал всё нормально работало и запоминало))
13
22 января 2007 года
RussianSpy
3.0K / / 04.07.2006
Отправка с использованием Sajax (да и вообще любой реализации AJAX или его аналогов) это по сути обычный вызов скрипта.

Кстати а зачем там мудрить с куками? Сессии чем не угодили?
271
22 января 2007 года
MrXaK
721 / / 31.12.2002
куки просто чтобы запомнить юзера, потом всё равно после проверки кук всё в сессии пишется и с ними работается.. сессии ведь очищаются когда окно браузера закрывается) а требуют чтобы юзер запоминался... вот не пойму в чём проблема)
13
22 января 2007 года
RussianSpy
3.0K / / 04.07.2006
С чего вы взяли что сессии очищаются после закрытия окна?

Сессия "умирает" тогда, когда "умирает" кука ее идентифицирующая. А параметры куки легко настраиваются с помощью стандартной функции:

http://ru2.php.net/manual/ru/function.session-set-cookie-params.php

А не работает еще вот почему:

if( strpos($remember, "yes") !== false ) - это условие ВСЕГДА выполняется, тк сравнение идет с учетом типа данных. А integer ВСЕГДА не равен boolean..

Как говорится мануал рулит: http://ru2.php.net/manual/ru/function.strpos.php

Да и способ сравнения идиотский. Почему нельзя сделать так: if($remember == "yes")
271
22 января 2007 года
MrXaK
721 / / 31.12.2002
да я в первом посте написал уже что if($remember == "yes") тоже не работало))
ладно, с этим я уже разобрался, в функцию всё нормально передаётся, проблема в коде)) за линк пасиба, ушёл копаться в коде)
271
22 января 2007 года
MrXaK
721 / / 31.12.2002
такс
вот я делаю
 
Код:
if( $remember == "yes" )
  session_set_cookie_params(60*60*24*20);
else
  session_set_cookie_params(0);

а при переходе по страницам session_get_cookie_params(); выдаёт lifetime 0
что я не так делаю? ))
13
23 января 2007 года
RussianSpy
3.0K / / 04.07.2006
Потому что когда $remember не отправляется - выполняется условие после else...
271
23 января 2007 года
MrXaK
721 / / 31.12.2002
ну а когда посылается, проверка показывает что посылается, а session_set_cookie_params не срабатывает
13
23 января 2007 года
RussianSpy
3.0K / / 04.07.2006
А что показывает дибаг?
12
23 января 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: RussianSpy
С чего вы взяли что сессии очищаются после закрытия окна?

Сессия "умирает" тогда, когда "умирает" кука ее идентифицирующая.


Мой склероз говорит мне, что сессия "умирает" когда её убивает сборшик мусора на сервере ;) . А когда этот момент настанет в файле конфига указывается.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог