Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Активные серверные страницы, Обмен данными с сервером. 
:(
    Опции темы
mihanik
Дата 31.8.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Сразу обращаюсь к модераторам.
Если посчитаете, что данный материал должен лежать не тут, то перенесите его туда, куда нужно.

Итак...
Недавно Masas попросил меня привести пример программирования на ASP (диалект VB).
А именно, его интересовал вопрос передачи информации с html-страницы на сервер и наоборот.

Дано.У нас есть html-страница следующего содержания

Код

<HTML>
<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> 
    <TITLE>
        Форма сбора информации
    </TITLE> 
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000">

<FORM name="mail" method="get" action="myscript.asp">

<P>
    <INPUT TYPE="text" NAME="n1" VALUE="name">
</P>
<P>
    <TEXTAREA NAME="b1">text</TEXTAREA>
</P>
<P>
    <INPUT TYPE="submit" NAME="Submit" VALUE="Submit">
</P>
</FORM> 

</BODY>
</HTML>


Т.е. здесь имеются два поля с именами n1 и b1 в которых пользователь что-то пишет.
При нажатии на кнопку "submit" все данные с формы передаются на сервер с помощью метода "get" где и обрабатываются скриптом с именем "myscript.asp".

Надо.
На сервере формируется новая страничка и отправляется назад к пользователю.
На этой страничке используются те данные, которые пользователь переслал на сервер.

Решение.
Вот текст "myscript.asp"

Код

<HTML>
<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> 
    <TITLE>
        Ответ с сервера
    </TITLE> 
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000">

<%
' Начало кода на ASP

' объявим сначала переменные
dim strText1, strText2

' Получим в переменные те значения, которые нам выслал пользователь...

   strText1 = Request.QueryString("n1")
   strText2 = Request.QueryString("b1")

%>

<!-- Теперь выдадим обратно юзеру то, что он передал на сервер... -->

<p>
    Вы передали на сервер следующие данные:
</p>

<p>
     В переменной с именем n1 - <% = strText1 %>
</p>

<p>
     В переменной с именем b1 - <% = strText2 %>

</p>

<!--
Теперь повесим на html-страничке ещё одну кнопочку для вызова другого скрипта с именем myscript2.asp
Скрипт myscript2.asp будет формировать страничку, в которую будет внедрён текст 
из обычного текстового файла, хранящегося на сервере.
-->

<FORM name="textfile" method="get" action="myscript2.asp">

<P>
    <INPUT TYPE="submit" NAME="Submit" VALUE="Нажми на меня!!!">
</P>
</FORM> 

</BODY>
</HTML>



Пример кода, который формирует страничку с данными, взятыми из обычного текстового файла, взятого с сервера.

Код

<HTML>
<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> 
    <TITLE>
        Пример вывода текстового файла на странице...
    </TITLE> 
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000">

<p>
    Протестируем Ваш браузер...
</p>
<-- Ну, эта часть - чистой воды выпендрёж
      Просто захотелось показать, как можно определить, что может браузер
      человека, просматривающего эту html-страницу -->

<p>
1.
<% Set Browser = Server.CreateObject("MSWC.BrowserType") %>
<% If Browser.VBscript Then 
    Response.Write "Могу "
Else
    Response.Write "Не могу "
End If
%> выполнить VBScript код.
<BR>
2.
<% If Browser.Frames Then
    Response.Write "Могу "
Else
    Response.Write "Не могу "
End If
%> отображать фреймы
<BR>
3.
<% If Browser.Tables Then
    Response.Write "Могу "
Else
    Response.Write "Не могу "
End If
%> отображать таблицы.
</p>



<p>
    Выведем текст из файла text.txt...
</p>

<%

' Определяем переменные
dim strText
Dim MyFile
Dim fs
Dim ts

'Создаем экземпляр объекта типа FileSystemObject
   set fs = Server.CreateObject ("Scripting.FileSystemObject")
'Присоединяемся к пути "text.txt")"
   MyFile = Server.MapPath("text.txt")
'Открываем файл для чтения
   set ts = fs.OpenTextFile (MyFile,1)

' Читаем весь файл в переменную  strText 
   strText = ts.ReadAll()
' Закрываем файл
   ts.close

' "Сбрасываем" ставшие ненужными объёкты
   set ts = nothing
   set fs = nothing
   
%>

<p>

<!-- Встраиваем считанный текст в формируемую страницу -->
<% = strText  %>
</p>

</BODY>
</HTML>


Записать информацию в файл на сервере тоже можно.
Это делается по аналогии с чтением.

Все файлы, которые мной написаны для проверки того, что я здесь написал лежат в архивчике ниже...

Добавлено @ 12:11 
Хм...
Архив не цепляется... smile 


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 31.8.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



А вот так можно собирать информацию при помощи html-страниц и сохранять её в файл на сервере...

текст html-страницы.

Код

<HTML>
<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> 
    <TITLE>
        Форма сбора информации
    </TITLE> 
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000">

<FORM name="mail" method="get" action="myscript3.asp">

<P>
Имя файла (без расширения) <INPUT TYPE="text" NAME="FileName" VALUE="name">
</P>
<P>
Текст файла <TEXTAREA NAME="Text">text</TEXTAREA>
</P>
<P>
    <INPUT TYPE="submit" NAME="Submit" VALUE="Submit">
</P>
</FORM> 

</BODY>
</HTML>


Код скрипта, который обрабатывает данные и записывает их в файл...

Код

<HTML>
<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> 
    <TITLE>
        Ответ с сервера
    </TITLE> 
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<%
dim strText1, strText2

   strText1 = Request.QueryString("FileName")
   strText2 = Request.QueryString("Text")
   strText1 = strText1 + ".txt"
%>
<p>
    Вы передали на сервер следующие данные:
</p>
<p>
     Имя файла - <% = strText1 %>
</p>
<p>
     Текст файла - <br> <% = strText2 %>

</p>

<%

dim strText
Dim MyFile
Dim fs
Dim ts

   set fs = Server.CreateObject ("Scripting.FileSystemObject")
   MyFile = Server.MapPath (strText1)

   set ts = fs.OpenTextFile (MyFile,2, True )

   strText = ts.Write(strText2 )
   ts.close

   set ts = nothing
   set fs = nothing
   
%>

</BODY>
</HTML>



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.