Практика разработки Web-страниц

         

ASP-файлы не работают


Активные серверные страницы (Active Server Pages, ASP) – это структура для написания сценариев на стороне сервера (server-side scripting) – то есть страница, обрабатывающая то, что происходит на веб-сервере. ASP чаще используются для создания больших коммерческих сайтов, но также легко доступны для всех, имеющих веб-сервер на базе Windows. ASP позволяет вам динамически создавать веб-страницы сети, которые смогут реагировать на запросы посетителей и выполнять действия на сервере в соответсвии с этими запросами или значениями, которые посетители введут в форму. Когда вы начинаете работать с ASP – пишете ли вы файлы самостоятельно, копируете их из найденных примеров или позволяете программам вроде Microsoft Access написать их за вас – всегда можно столкнуться с проблемами. Во-первых, установки вашего сервера или страницы могут не поддерживать ASP, следовательно, сервер не сможет понять ваш сценарий. Во-вторых, сценарий может иметь неверный формат, тогда появятся ошибки или сценарий будет неверно интерпретирован. И даже после того, как вы запустили ваш сценарий, он может иметь целый ряд ошибок, которые будет тяжело проследить.

За идеями о том, где можно использовать ASP, обращайтесь к разделу "Выбор программирования на стороне клиента или на стороне сервера". Если ваши ASP-файлы не работают, сделайте следующее.


Если с вашей ASP-страницей что-то не так, например, ошибка в VBScript, сервер отобразит сообщение на странице

  1. Если броузер выдает ошибку вроде "Access Forbidden" или пытается загрузить ASP-файл, ваш веб-сервер неверно сконфигурирован для ASP-сценариев. Убедитесь, что сервер запускает Microsoft Internet Information Server, Personal Web Server (с установленным ASP) или ChiliASP!. Используйте административные инструменты веб-сайта, чтобы убедиться, что папка и сеть поддерживают ваш код.
  2. Если на странице вы видите код ASP, ваш сценарий не был обработан сервером. Убедитесь, что файл имеет расширение .asp, а не .htm, и вы открыли файл, используя адрес http:// , а не положение файла на вашем диске или сети. Также убедитесь, что ваш код расположен в блоке сценария ASP (между <% и %>).
  3. Если ваша страница искажена, не заполнена или обрезана, проверьте, не пропущен ли закрывающий тэг %>.



  4. Если броузер показывает ошибку VBScript, значит, ошибка в вашем сценарии – в форматировании или программировании. Самые типичные ошибки подобного рода приведены ниже:



    • Вы могли не учесть знак =. Например, чтобы VBScript вставил значение в HTML, используйте ситнакс <%=value%>.

      <p>Today’s Date: <%=Date%> </p>



    • В VBScript довольно строгий подход к типам данных – например, вы не можете комбинировать число и текстовую строку. Если вы видите ошибку "Type mismatch", используйте функцию для преобразования типов, такую как CStr или Cint:

      Message = "The random number is" + CStr( Rnd )



    • При генерировании выражений HTML в вашем сценарии или создании запросов SQL к базам данных легко получить неправильные скобки или кавычки, что приведет ко всевозможным ошибкам. VBScript использует двойные кавычки, но в созданном HTML или SQL могли использоваться одинарные кавычки:

      ht = "<img src='" + fname + "' height=80 width=80 alt='" + _alttxt + "'>" Response.Write ht

      Если сценарий генерирует страницу в броузере, но страница отображается некорректно, просмотрите источник HTML и попытайтесь найти ошибку.



    • Вы могли некорректно использовать серверные объекты ASP. Используйте объект Request для восстановления информации, такой как данные формы, переменные сервера или cookies. Используйте объект Response, чтобы послать HTML в броузер, переадресовать броузер и установить cookies. Используйте объект Session чтобы сохранить информацию, которая используется между страницами. Ниже приведено несколько общих примеров:

      EmailName = Request("EmailName") ' Считывание данных с формы. Response.Redirect "http://goaway" ' Пересылка посетителей к новому сайту. Session("UserID") = lngUserID ' Передать информацию об этом посетителе между страницами.

    • Если вы видите ошибку в драйвере ODBC или провайдере OLE DB, вы неверно написали команды базы данных. Если у вас проблемы с обращением к базе данных, прочтите раздел "Строка связи не подключается к базе данных".


    • Если ваши сценарии слишком длинные и запутанные, вы можете использовать отладчик (debugger) – программу, которая позволит пошагово отладить сценарий, проверяя значения переменных и выражений на каждом шаге. Загрузить Microsoft Script Debugger можно с msdn.microsoft.com/scripting или, для полной среды разработки для Internet, поищите Microsoft Visual InterDev.

      Учебники и документацию по Активным Серверным Страницам можно найти на msdn.microsoft.com/workshop/ server. Краткие указания и примеры есть на www.learnasp.com, www.15seconds.com, или www.asphole.com.

    • 6. Если вы не можете заставить ASP работать, проверьте, нельзя ли сделать то же самое в FrontPage без написания сценария. Например, если вы пытаетесь связаться с базой данных или отправить сообщение, используя форму, FrontPage может создать сценарий ASP за вас.



    Содержание раздела