Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Alex_1
1

Как может сервер-сайд код работать или не работать на конкретном компе?

26.09.2009, 05:45. Просмотров 1348. Ответов 9
Метки нет (Все метки)

Всем привет!
Вот такая проблема. Есть сайт, все работает ок, но - один из компов имеющий Win98 и IE6.0 and service pack 1 работает очень странно. Для входа на сайт нужно ввести UserID and Password. Это сохраняется в Session. На следующей страничке проверяется - если Session переменная не пустая, то все ок, если пустая - назад на логин. Открывается нормально, при отладке вижу, что все ок. На страничке есть возможность перемещения между ордерами с помощью кода на Javascript
document.location=MyURL. На всех компах это работает отлично - на этом - выбрасывает на логин. Настройки броузера идентичные. Да и менял я их на этом компе, пытаясь настроить куки, и прописывал конкретный сайт, и включал на нем сешен куки - ни фига.

Поменял document.location=MyURL на document.MyForm.submit() - выбрасывать перестало. Но, мне нужно знать, какой ордер вытягивать из БД - на один больше или меньше. Для этого у меня есть переменная Pos1, которая принимает значение -1 1 - соответственно - назад, вперед. Я джаваскриптом в hidden поле формы загоняю это значение, причем - проверяю - алерт выдает, что все ок, а вот request('Pos1') - в асп коде на сабмит выдает пустое значение, в результате, я никуда не двигаюсь. И это только на этом компе - этот же код везде работает. Я вообще не понимаю - как может сервер-сайд код работать или не работать на конкретном компе. Переставлял сервис пак - не помогло.

Даже не знаю, что делать. Помогите, пожалуйста!!!!

Причем, как сказал мне клиент - это начало проявляться и на других компьютерах. Прямо, как вирус какой-то, просто не знаю, что делать. Помогите, прошу вас.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2009, 05:45
Ответы с готовыми решениями:

Soket - может ли сервер работать как на прием, так и на передачу?
День добрый. Много чего о Сокете в Qt. 1)Как я разобрался: сервер может работать на прием и...

Как работать на одном компе вдвоем, по сети с другого комьютера??? Один на Основном компе, а сдругой с ноутбука!
Итак! Есть один комп с XP и ноутбук тоже Xp стоит! они подключены по сетке (D-link 2640-U)....

может ли купленная мною GTX460 работать к примеру не как должна работать GTX460 а как видюха по хуже?
Ребята, помогите пожалуйста в таком вопросе! Взял видеокарту Gainward GTX460 1Gb GS, так как я не...

Может ли asp сервер работать с обычным MySQL?
я асп.нет только начинаю осваивать. хочу уточнить: как установить асп сервер - ясно. он...

На сколько адекватно может работать сервер на HDD диске ?
Добрый день Подскажите на сколько адекватно может работать сервер на HDD диске ? у нас 4-5...

9
jora_m
0 / 0 / 0
Регистрация: 25.08.2008
Сообщений: 19
27.09.2009, 00:55 2
может это опечатка? --> request('Pos1') - в асп коде на сабмит выдает пустое значение, в результате, я никуда не двигаюсь ....

для GET --> Request.QueryString('Pos1')()
для POST --> Request.Form('Pos1')()

if (Request.ServerVariables('REQUEST_METHOD') == 'POST' ){

Если POST.......
}

if (Request.ServerVariables('REQUEST_METHOD') == 'GET' ){

Если GET.......
}

Пробуй....
безвыходных ситуаций нет!
0
Alex_1
27.09.2009, 03:58 3
Пробовал уже что угодно. Если заходить на сайт с некоторых компьютеров-то получается именно так - request('Pos1')='' а на других - выдает значение, находящееся в поле Pos1. Я уже и request('Pos1') request.form('Pos1') ставил - ни фига, я вообще не понимаю, как это может быть?
jora_m
0 / 0 / 0
Регистрация: 25.08.2008
Сообщений: 19
27.09.2009, 17:08 4
Каким методом пользуешся?
POST или GET

Пробуй GET и Request.QueryString('pos1')()
<FORM action='твой_файл.asp' method='GET'>
<input type='text' name='pos1' value='<передаваемое значение>' >
<input type='hidden' name='met' value='ok' >

<input type='submit' name='submit1' value='submit'>
</FORM>

после субмита формы у тебя будет в адресной строке:
http://bla... bla... /твой_файл.asp?pos1=<передаваемое значение>

чтобы получить этот pos1 пиши:
if (Request.ServerVariables('REQUEST_METHOD') == 'GET'){
//Проверяем все что отправлено методом ГЕТ.....

if (Request.QueryString('met')() == 'ok'){
MyPos1 = Request.QueryString('pos1')();
Response.Write(MyPos1); }

}
0
Alex_1
27.09.2009, 18:56 5
Пользуюсь POST - форма сабмитается сама на себя.
Более того-на всех компах, с которых я захожу на сайт-все работает отлично, это и 98 винда и 2000 и XP - все рулит, а у клиента компы сыпятся один за другим. Прямо, как вирус
Alex_1
27.09.2009, 19:42 6
У меня такая ситуация, как я уже писал ранее:

На страничке есть 5 линков, которые дают возможность перемещения между ордерами с помощью кода на Javascript document.MyForm.submit().
В линке прописан вызов функции
ChangeOrder(order.asp?OrderID=100&Pos=1)

<script>
function ChangeOrder(MyURL){
document.MyForm.Pos1.value=MyURL
document.MyForm.submit()
}
</script>
После submit я хочу получить значение, которое я положил в поле Pos1.
Я пишу Pos=request('Pos1'), затем выделяю из полученной строки значение позиции для перемещения

if inStr(Pos,'Pos=-1')<>0 then
Pos=-1
end if

if inStr(Pos,'Pos=1')<>0 then
Pos=1
end if

if inStr(Pos,'Pos=0')<>0 then
Pos=0
end if
которое вместе с OrderID и передаю store prcedure MS SQL 2000.
Проблема в том, что при заходе на сайт с некоторых компов request('Pos1') возвращает пустое значение. Как это может быть? Ведь это выполняется на сервере. Неужели туда ничего не передается? Я пробовал проверять с помощью alert сразу же, как только выполнил строку document.MyForm.Pos1.value=MyURL значение поля Pos1 - все ок, спрашивается - куда оно пропало? Делал request.form и смотрел на список полученных данных - вы не поверите, но он разный.

У вас могут возникнуть вопросы, почему так поступаю? Отвечу.
Вначале, примерно пол года назад, когда сайт был создан там было немного по другому. Там был document.location=MyURL в Javascript функции ChangeOrder. Как я указывал ранее, при открытии странички там проверяется не пустая ли Session переменная UID, которая проинициализирована в global.asa. Она получает значение, если UserID и Password верны. Тогда Session('UID')=UserID. Я вставил эту проверку, подключив через <!--#include file='uid.asp'-->

Вот текст файла uid.asp

<%
if Session('UID')='' then
response.redirect('default.asp')
end if
%>

Первый раз страничка открывается нормально, значит Session('UID') не пустая, затем при нажатии на линк для смены ордера - выбрасывает на логин. Значит Session('UID') пустая, верно? Ладно, закомментарил response.redirect('default.asp') - ни фига. Убрал строку <!--#include file='uid.asp'--> - ни фига. Почистил кещ броузера (IE 6.0) - ни фига. Прописал этот сайт в настройках кукис, ставил accept all cookies - тот же результат. Рядом стоит такой же комп, с теми же настройками, на котором все чудесно работает. Снесли систему, поставили снова, пропатчили - то же самое. Я просто в щоке. Как так может быть?

Попробуйте сами: вот url http://209.139.66.145/citycarpet - это вариант, где вместо document.location написано document.MyForm.submit. Дело в том, что вариант с document.location находится на сервере хостера и там стоит пароль, который я не имею права давать. А это отладочный вариант на моем компе. Проверьте и скажите - у кого работает - у кого нет. Просто перейдите по линкам prev, next first, last
jora_m
0 / 0 / 0
Регистрация: 25.08.2008
Сообщений: 19
27.09.2009, 20:15 7
Короче траблы у тебя с яваскрипт на клиентской стороне когда ты передаешь значение в поле pos

начит так:
когда ты обращаешся к инпутам таким образом, типа document.myform.myelement некоторые браузеры выбирает не по нэймам а по ID тэгов
и лучше всего добавь к нэймам айдишки типа такого
<input type='text' id='pos' name='pos'>
и обращайся так:
document.forms['myform'].myelement.value

я глубоко не копал, в общем поиграйся с этим...
если че, то я поищю сви екзамплы и мож скину тебе по мылу
0
Alex_1
27.09.2009, 21:18 8
Так на всех компах стоит IE 6.0, но как сказал мне клиент - глючит, в основном XP (home and Prof), есть пару компов с XP, у которых добавлена Java VM - и на них все работает номально. На тех, на которых этого нет (просто нет чекбокса в свойствах броузера) - не работает. Это не может повлиять никак?
Alex_1
01.10.2009, 23:47 9
Спасибо-помогло, но в чем причина такого гшюка?
jora_m
0 / 0 / 0
Регистрация: 25.08.2008
Сообщений: 19
02.10.2009, 00:12 10
майкрасофт изначально пытается хитро в...ться,
их IE скажем наделен 'некоторым умом', который умеет автоматически исправлять некоторые ошибки разработчиков.....
но так как ентот ум далеко не умный, у него не все получается....
Короче это из области философии.....

А на самом деле, я не знаю...
я всегда выбираю по ID или создаю свои атрибуты, так надежней и проще.
0
02.10.2009, 00:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2009, 00:12

Что значит сервер не может работать по VPN только TCP/IP ?
Планируется запустить маленький сервек по локалке и люди к нему должны подключаться извне. В...

почему может не работать код ?
Label10-&gt;Font-&gt;Style &lt;&lt;fsUnderline &lt;&lt;fsBold ; ошибок никаких не выдает...

Код перестал работать после переноса сайта на новый сервер
После переноса сайта на новый сервер, перестал работать код. Не пойму в чем дело &lt;?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru