Логическая организация системы клиент

advertisement
Корпоративные системы
Лекция 5. Механизмы
доступа к БД через
Web-интерфейс
Пример формы HTML
<body bgcolor = lightgreen>
<h4>Заполните регистрационные данные</h4>
<form action = "reg.php" method = “get">
Имя: <br>
<INPUT type="text" NAME="username" SIZE="57"> <br>
Логин: <br>
<INPUT type="text" NAME="userlogin" SIZE="57"> <br>
Введите пароль: <br>
<INPUT type="password" NAME="userpass" SIZE="57"> <br>
Введите пароль еще раз: <br>
<INPUT type="password" NAME="userpassconf" SIZE="57">
<br><br>
QUERY_STRING =
username=%C8%E2%E0%ED%EE%E2+%CF%E5%F2%F0+%D1%E5%F0%E3%E5%E5%E2
<INPUT type="reset" VALUE=Сброс >
%E8%F7&userlogin=mylogin&userpass=123&userpassconf=123&Submit
<INPUT type="Submit" Name = "Submit" VALUE=Отправить>
= %CE%F2%EF%F0%E0%E2%E8%F2%FC
</form>
</body>
Простейший обработчик на языке
PHP
<html>
<body>
<h4>Эта страница сгенерирована автоматически</h4>
<?
printf(“Имя пользователя: %s<br>",$username);
printf(“Логин пользователя:%s<br>",$userlogin);
printf(“Пароль пользователя:%s<br>",$userpass);
?>
</body>
</html>
Порядок работы с БД в PHP
1.
2.
3.
4.
Подключение к СУБД
Выбор базы данных
Запрос на языке SQL
Чтение результатов
while (есть записи)
Чтение записи
5.
Отключение от СУБД
Формат функций для работы с БД
*SQL_Имя_функции
где
* - тип сервера БД
 my – для mysql
 ms – для MSSQL
 p – для PostreSQL
 odbc – для ODBC драйвера
Подключение к БД
*sql_connect (“Адрес”, [“Логин”], [“Пароль”])
Возвращает идентификатор ссылки при успехе,
FALSE при неудаче.
Например:
$link = mysql_connect("localhost",
"mysql_user", "mysql_password") or
die("Could not connect");
Выбор БД
*sql_select_db (“Имя БД”, [Идентификатор соед.])
Возвращает TRUE при успехе, FALSE при
неудаче.
Например:
if (mysql_select_db(“mydb”,$link)== True)
// Выполнение SQL запроса
else
// Вывод сообщения об ошибке
Запрос на SQL
*sql_query (“Текст запроса”, [Идентификатор соед.])
Возвращает идентификатор ресурса при успехе,
FALSE при неудаче.
Например:
$result = mysql_query("SELECT * FROM
tableUsers WHERE UserName =
‘Иванов’",$link) or die("Invalid
query");
Чтение результатов
*sql_fetch_array (Идентификатор ресурса)
Возвращает массив, соответствующий
извлечённому ряду, или FALSE, если рядов
больше нет.
Например:
while ($row = mysql_fetch_array($result))
{
printf (“Имя:%s”, $row[“first”]);
}
Отключение от СУБД
*sql_close (Идентификатор ссылки)
Возвращает TRUE при успехе, FALSE при
неудаче.
Например:
mysql_close($link);
Пример добавления данных в БД
<?
if (!empty($Submit))
{ $link = mysql_connect
(“sumi.ustu”,”user”,”123”);
mysql_select_db(“ks”,$link);
$query="INSERT INTO
users(uname,ulogin,upass) VALUES
('$username','$userlogin','$userpass')";
mysql_query($query);
mysql_close();
}
?>
Download