здравствуйте
появилась следующая проблема, 2й день бьюсь:
на локальной машине стоит openserver.
1
есть простая авторизация.
форма отправляется постом через квери на обработчик, если все верно результат сохраняется в сессию и вписывается в поле на страницу вместо формы, эти данные беру из созданной сессии.
в обработчике и на странице - session_start();
так вот: он переменную в сессии видит, но все равно выдает классическуб ошибку
CODE ( html):
скопировать код в буфер обмена
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent...
обновляю страницу и вижу значение переменной на станице вместе с ошибкой, взятое из сессии, следовательно сесия работает.
если в настройках прописать автоматический старт сессии, то ошибка пропадает,
вот настройки
CODE ( htmlphp):
скопировать код в буфер обмена
[Session] session.save_handler = files session.save_path = "%sprogdir%/userdata/temp/" session.use_cookies = 1 ;session.cookie_secure = session.use_only_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.cookie_httponly = session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 3600 session.bug_compat_42 = 0 session.bug_compat_warn = 0 session.referer_check = session.entropy_length = 0 session.entropy_file = ;session.entropy_length = 16 ;session.entropy_file = /dev/urandom session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 5 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
подскажите в чем может быть дело, может в настройках чего прописать?
2
при ошибке возвращаю ее номер, например er
в data функции проверяю:
CODE ( javascript):
скопировать код в буфер обмена
...function(data) { if(data=='er'){$('#e-err').html('Введите название фирмы, email и пароль');$('#eform input.zn').addClass('err');$('#eloading').empty();} else if(data=='er1'){$('#e-err').html('Неверный логин или пароль, возможно такой фирмы не существует.');$('#eloading').empty();} else{$('#eloading').empty();$('#eform').addClass('dnone');$('#firmauser').html(data);} });
а оно считает этот ответ положительным и выполняет последнюю строку вместо того чтобы вывести ошибку, хотя на другом работающем сайте на хостинге такой обработчик срабатывает...
в чем ошибка может быть?(Отредактировано автором: 27 Апреля, 2014 - 13:23:04)
|