Сессия в ASP не хранит значения - PullRequest
0 голосов
/ 18 марта 2019

У меня есть две страницы asp на первой странице с именем verify.asp, я написал этот код:

verify.asp

    <%
       Username = Request.Form("loginx")    
       Password = Request.Form("passx")
       liberado
       Session("liberado") = Username 

  %>

на второй странице я пытаюсь использовать переменную сеанса "liberado" с любым результатом barra.asp,

<%
  response.write(session("liberado"))
%>

Что я делаю не так? Я использую Chrome на IIS Windows 7, имя пользователя и пароль имеют значения

Ответы [ 2 ]

1 голос
/ 19 марта 2019

В вашем коде не было ничего плохого.Хотя я вижу, что вы отредактировали его сейчас, чтобы удалить dim из liberado, но вы оставили liberado позади.Это означает, что ваш ASP попытается вызвать подпрограмму с именем liberado, которая предположительно не существует.Вы можете пойти дальше и удалить эту строку.

<%

    Dim Username, Password

    Username = Request.Form("loginx")
    Password = Request.Form("passx")

    Session("liberado") = Username 

%>

Попытка установить сеанс, когда состояние сеанса отключено, вероятно, приведет к некоторой ошибке (и вы не упомянули об ошибке в своем вопросе).Но убедитесь, что он включен, открыв IIS и в разделе ASP> Свойства сеанса установите «Включить состояние сеанса» на «Истина».

Если это уже так, то есть вероятность, что с вашей формой что-то не так, а данные - нетбыть размещеннымНа странице verify.asp попробуйте выполнить следующий код:

for each item in request.form
    response.write item & ": " & request.form(item) & "<br>"
next

Будет выведен список всех публикуемых данных формы.

Это также может быть проблема с файлом cookie.Если вы блокируете использование файлов cookie в Chrome, тогда файлы cookie сеанса ASP не будут сохраняться, поэтому значения сеанса не будут доступны при перемещении со страницы на страницу.

В Chrome нажмите клавишу F12, чтобы открытьИнструменты разработчика, перейдите на вкладку Приложения и в раскрывающемся меню «Cookies» выберите свой домен.Убедитесь, что файл cookie ASPSESSIONID присутствует, и это один и тот же файл cookie на обеих ваших страницах ASP.

0 голосов
/ 24 марта 2019

Проверьте настройки пула приложений в IIS. Если в «максимальных рабочих процессах» активно несколько рабочих процессов, сеансы не всегда работают. Сеансы сохраняются для каждого процесса. Если второй рабочий процесс обрабатывается другим рабочим процессом, сеанс первого запроса может отсутствовать. Значение «0» означает, что IIS использует столько процессов, сколько необходимо.

Подробнее здесь

enter image description here

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