
- •Оглавление
- •4.1. Разработка cgi-программ
- •4.1.2. Разработка cgi-программ в среде Visual Studio
- •If (login.Equals(dr["login"])) // в данных имени пользователя
- •4.2. Разработка активных страниц
- •4.2.1. Пример страницы asp.Net
- •4.2.2. Элементы страниц asp.Net
- •4.2.3. Создание страниц asp.Net в среде Visual Studio
If (login.Equals(dr["login"])) // в данных имени пользователя
{
return false;
};
}
DS.Tables[0].Rows.Add(new object[] { login, pass });
SaveDs(); //добавление в файл нового
return true; // имени и пароля
}
public static bool CanLog(string login, string pass)
{
LoadDs(); //проверка наличия
foreach (DataRow dr in DS.Tables[0].Rows) //в данных введенных
{ //имени и пароля
if (login.Equals(dr["login"]) & pass.Equals(dr["pass"]))
{
return true;
};
}
return false;
}
static void Main(string[] args)
{
string query = System.Environment.GetEnvironmentVariable("QUERY_STRING");
//string query = "log=mvp1&pass=pmv1&tip=log";//значение для отладки
char[] SplitChars = new char[] { '=', '&' }; //разделение строки
string[] result = query.Split(SplitChars); //запроса на значения
if (result[5] == "reg")
{
Console.WriteLine("Content-Type:text/html\n");
Console.WriteLine("<html>");
Console.WriteLine("<head>");
Console.WriteLine("<TITLE>Страница ответа</TITLE>");
if (NewUser(result[1], result[3]))
{
Console.WriteLine("<p>Вы успешно зарегистрированы" + result[1] + "</p>");
}
else
{
Console.WriteLine("<p>Такой пользователь" + result[1] + "уже зарегистрирован" + "</p>");
}
Console.WriteLine("</body>\n");
Console.WriteLine("</html>\n");
};
if (result[5] == "log")
{
Console.WriteLine("Content-Type:text/html\n");
Console.WriteLine("<html>");
Console.WriteLine("<head>");
Console.WriteLine("<TITLE>Страница ответа</TITLE>");
Console.WriteLine("</head>");
Console.WriteLine("<body>");
if (CanLog(result[1], result[3]))
{
Console.WriteLine("<p>Успешный вход--" + result[1] + "</p>");
}
else
{
Console.WriteLine("<p>Ошибка в паре логин-пароль!!</p>");
}
Console.WriteLine("</body>");
Console.WriteLine("</html>");
};
}
}
}
Комментарии в коде дают представление о назначении основных объектов.
Поскольку при работе в среде отсутствует Web-сервер, то для формирования данных запроса используется присвоение значения переменной query, а строка для получения данных из переменных окружения должна быть помещена в комментарий.
В ходе отладки в среде правильность работы приложения контролируется по HTML-коду в окне вывода консоли.
Следует отметить, что код страниц, отправляемых клиенту, упрощен в целях сокращения общего объема текста. В реальных условиях HTML-код (статическая часть этих страниц) может быть достаточно большим, его целесообразно хранить в отдельных файлах, читать из них и направлять в выходной поток.
После автономной отладки в среде и компиляции со строкой получения данных из переменных окружения исполняемый файл log_reg.exe, файл с данными users.xml и страница index.htm копируются в папку сервера, соответствующую сайту. Папка должна иметь соответствующие разрешения на доступ. Конфигурация сервера должна позволять запуск CGI-программ (конфигурирование сервера Apache выполняется с использованием конфигурационных файлов, IIS – соответствующей консоли управления).
После выполнения всех указанных настроек проверяется работа ресурса с использование браузера.