Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УИРС курсовой новый.docx
Скачиваний:
5
Добавлен:
19.09.2019
Размер:
4.42 Mб
Скачать

2.4 Разработка удаленного доступа к базе данных с использованием php

Чтобы PHP страница имела доступ к содержимому базы данных, необходимо установить соединение с данной базой. Взаимодействие MySQL и PHP осуществляется с помощью содержимого файла db.php. В данном файле применяется скрипт:

$db = @mysql_connect ("localhost","Имя пользователя","Пароль");

@mysql_connect – метод соединения к базе данных;

Localhost – адрес сервера MySQL;

Подключение определенной базы данных происходит следующим образом:

mysql_select_db("имя базы данных",$db);

Для того чтобы соединить данный файл с PHP страницей, необходимо в начале скрипта самой страницы прописать следующий код:

include ("db.php");

Таким образом, осуществляется связь PHP страницы с базой данных MySQL.

Для добавления информации с PHP страницы в базу данных MySQL применяется INSERT INTO. Общий вид данного скрипта будет следующим:

NSERT INTO название_таблицы (поля) VALUES (значения).

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

Время от времени возникает задача удаления записей из базы данных, для которой предназначен оператор DELETE. Данный оператор имеет следующий вид:

DELETE FROM tbl WHERE where_definition

Оператор удаляет из таблицы tbl записи, удовлетворяющие условию where_definition.

2.5 Программная реализация

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

Процедура регистрации реализована следующим образом:

<form>

<p> Введите ФИО сотрудника

<form action = "handler.php" method="post">

<input type = "text" name="name"/>

<p>

<input type="submit" value="Просмотреть" >

</form>

//проверка на заполнение формы

If (empty($_POST['usname'])) { include ("ssylka1.inc"); exit ('Поле Имя не заполнено'); }

If (empty($_POST['pass'])) { include ("ssylka1.inc"); exit ('Одно из полей Пароль не заполнено'); }

If (empty($_POST['pass1'])) { include ("ssylka1.inc"); exit ('Одно из полей Пароль не заполнено'); }

If (empty($_POST['maila'])) { include ("ssylka1.inc"); exit ('E-mail не введен'); }

If (empty($_POST['home'])) { include ("ssylka1.inc"); exit ('Вы не ввели домашний адрес'); }

If (empty($_POST['tel'])) { include ("ssylka1.inc"); exit('Вы не ввели телефон'); }

$usname=$_POST['usname'];

$dom=$_POST['home'];

$tel=$_POST['tel'];

$mail=$_POST['maila'];

//проверка правильности введенного пароля

If ($_POST['pass'] !='' AND $_POST['pass1'] !='' AND $_POST['pass'] === $_POST['pass1']){ $password=$_POST['pass'];

//проверка правильности введения E-mail

If (!empty($_POST['maila']))

{ if (!preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['maila'])) { include ("ssylka1.inc");

exit ('Поле E-mail должно соответствовать формату somebody@somewhere.ru'); } else { $result = mysql_query ("INSERT INTO user (username,password,dom_adress,telefon,pochta) VALUES

('$usname','$password','$dom','$tel','$mail')"); } } } else {

include ("ssylka1.inc");

exit('Пароль введен не верно!!повторите запрос');

} ?>

<?php include("panels/shapka.php");?>

</tr> <tr> <td > <?php

if(!$result){ echo "Вы не зарегестрировались! Попробуйте еще раз<br>";include ("ssylka1.inc"); } else {echo "Вы зарегестрировались успешно! Зайдите на сайт под своим логином<br>";include ("ssylka.inc");

Для регистрации должны быть заполнены все поля, поле E-mail должно соответствовать формату somebody@somewhere.ru.

Возможен поиск по сотрудникам больницы:

<?php $name=$_POST['name']; $query="SELECT * FROM sotrudniki where fio LIKE '{$name}%'";$cat=mysql_query($query); $kk=mysql_num_rows($cat); for ($i=0;$i<$kk;$i++){

$result=mysql_fetch_array($cat); echo "<br>Сотрудник - <b>" . $result['fio'];?></b><br><? echo "<br> Должность: " .$result['dolzhnost']; echo "<br> Домашний адрес: " .$result['dom_adress']; echo "<br> Телефон: ".$result['telefon'];

echo "<br>";} ?>

Поиск по пациентам:

<p>Введите ФИО пациента <form action="handler1.php" method="post"><input type="text" name="name" /> <p><input type="submit" value="Просмотреть" ></form>

<?php include ("panels/db.php"); $res = mysql_query("SELECT * FROM bolnye, sotrudniki Where bolnye.sotrud_id=sotrudniki.sotrud_id"); $sms = mysql_fetch_array($res); ?>

><?php

$name=$_POST['name']; $query="SELECT * FROM bolnye where fio LIKE '{$name}%'"; $cat=mysql_query($query);

$kk=mysql_num_rows($cat);for ($i=0;$i<$kk;$i++){$result=mysql_fetch_array($cat);

echo "Пациент - <b>".$result['fio'];?></b><br><? $ip=$result['sotrud_id'];

//создаем перекрестный запрос для инфо сотрудника//

//AND ychast_terapev.sotrud_id=$result['sotrud_id']//

$med="SELECT * FROM sotrudniki Where sotrudniki.sotrud_id=$ip"; $de=mysql_query($med); $rez=mysql_fetch_array($de);echo "Лечащий врач: ".$rez['fio'];

if(!$rez){ $med="SELECT * FROM ychast_terapev Where ychast_terapev.sotrud_id=$ip"; $de=mysql_query($med);$rez=mysql_fetch_array($de);echo $rez['fio'];}else{echo "Врача нет";}

echo "<br> Диагноз : " .$result['doignos'];

echo "<br> Домашний адрес: " .$result['adres'];

echo "<br> Участок: ".$result['ychastok'];

echo "<br> Дата поступления: " .$result['data_postuplen'];echo "<br> Дата выписки: " .$result['data_vypiski'];?><br><?}?>

Удаление сотрудника:

<?php $result = mysql_query ("DELETE FROM sotrudniki WHERE sotrud_id='$id' LIMIT 1");echo $result['fio']; if (isset($id)) {$result = mysql_query ("DELETE FROM sotrudniki WHERE fio='$id'");if ($result == 'true') {echo "<p>Сотрудник успешно удален!</p>

Добавление сотрудника:

<?php $result = mysql_query ("INSERT INTO sotrudniki (sotrud_id,fio,dolzhnost,dom_adress,telefon) VALUES ('$title1','$title2','$title3','$title4','$title5')"); if ($result == 'true') {echo "<p>Сотрудник успешно добавлен!</p>";}else {echo "<p>Сотрудника не удалось добавить!Попробуйте еще раз</p>";include ("ssylka2.inc");}?>