Обработка ввода скриптом php 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обработка ввода скриптом php



Задание

 

Прочитать теорию. Несмотря на то, что это - теоретическое занятие, не требующее обязательной оценки, рекомендую попробовать реализовать описанные конструкции, если вы этого не пробовали на занятиях в колледже.

Теория

Представленные в теории конструкции позволяют добавлять, удалять и исправлять данные с помощь доступа к базе данных через PHP. Это может быть небезопасной операцией, так как в поле ввода информации может быть введен нежелательный код.

Чтобы этого избежать, можно предварительно проверять и обрабатывать вводимую информацию процедурами сервера, процедурами PHP или специальными процедурами.

Например, если вместо $_GET['value'] написать strip_tags($_GET['value']), то из строки value будут исключены все символы скриптов и тегов, таким образом, нежелательный код, введенный поле запроса, не выполнится.

Такие предосторожности необходимо соблюдать не только при внесении изменений в базу, и при получении информации из базы данных.

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

 

Если при выводе информации из баз данных форму html и обработчик PHP допустимо было помещать в одном файле веб-станицы (но нежелательно, так как может происходить многократное повторение одинаковых запросов при обновлении веб-страницы), то при добавлении данных обработчик должен обязательно находиться в отдельном файле, на который ссылается форма, так как при обновлении страницы обработчик может выполниться многократно, и в базу будет занесена лишняя (дублирующая) информация.

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

 

Конструкции MS SQL и  MySQL даны на примерах разных баз данных.

 

MS SQL

Ввод новых данных

 

Форма html для ввода данных

 

<form action="insert_m.php" metod="get">

 

Название группы: <input name="fNameGroup" size="50" type="text"><br>

Куратор группы: <input name="fCurator" size="30" type="text"><br>

 

<p><input name="add" type="submit" value="Добавить">

<input name="clear" type="reset" value="Очистить"></p>

</form>

 

 

Обработка ввода скриптом php

 

<?php

// MSSQL

 

// установление соединения с сервером

$serverName = "DRACO-DNS\SQLEXPRESS";

$connectionInfo = ARRAY("UID" => "avd", "PWD" => "****", "Database"=>"College"); 

 

$linkMS = sqlsrv_connect($serverName, $connectionInfo);

 

IF($linkMS) {

echo "Соединение установлено.<br>";

}

ELSE {

echo "Невозможно подключиться к серверу.<br>";

DIE(print_r(sqlsrv_errors(), true));

}

 

// База

sqlsrv_query($linkMS,'use College;');

 

// Перекодировка данных

$cNameGroup = iconv('UTF-8','windows-1251',$_GET['fNameGroup']);

$cCurator = iconv('UTF-8','windows-1251',$_GET['fCurator']);

 

// Строка запроса на добавление записи в таблицу:

$insert = "INSERT INTO Groups(NameGroup, Curator) VALUES('".$cNameGroup."','".$cCurator."');";

 

sqlsrv_query($linkMS,$insert); // Выполнение запроса

sqlsrv_close($linkMS); // Отключение

 

echo "<a href='insert.php'>Запрос выполнен, вернуться</a>";

 

?>

Удаление данных

 

Исправление данных

 

MySQL

Ввод новых данных

 

Форма html для ввода данных

 

<form action="insert_m.php" metod="get">

 

Название предмета: <input name="Nazvanie" size="50" type="text"><br>

 

<p><input name="add" type="submit" value="Добавить">

<input name="b2" type="reset" value="Очистить"></p>

</form>

 

 

Удаление данных

 

Форма html для ввода данных

 

<form action="delete_m.php" metod="get">

 

<select name="Nazvanie" size = “1”>

<?php

       // установление соединения с сервером (базу можно указать позже)

       $linkMY = mysqli_connect("localhost","root","****","academy") or die ("Невозможно подключиться к серверу");

       mysqli_query($linkMY,'SET NAMES utf8'); // тип кодировки

       mysqli_query($linkMY,'use academy;');

 

       $query = mysqli_query($linkMY,'select Nazvanie from Predmet;');

 

       while ($result = mysqli_fetch_assoc($query)) {

       echo '<option value='.$result['Nazvanie'].'>'.$result['Nazvanie'].'</option>'; //Формируем новую строчку

       }

?>

</select>

 

<p><input name="del" type="submit" value="Удалить"></p>

</form>

 

Задание

 

Прочитать теорию. Несмотря на то, что это - теоретическое занятие, не требующее обязательной оценки, рекомендую попробовать реализовать описанные конструкции, если вы этого не пробовали на занятиях в колледже.

Теория

Представленные в теории конструкции позволяют добавлять, удалять и исправлять данные с помощь доступа к базе данных через PHP. Это может быть небезопасной операцией, так как в поле ввода информации может быть введен нежелательный код.

Чтобы этого избежать, можно предварительно проверять и обрабатывать вводимую информацию процедурами сервера, процедурами PHP или специальными процедурами.

Например, если вместо $_GET['value'] написать strip_tags($_GET['value']), то из строки value будут исключены все символы скриптов и тегов, таким образом, нежелательный код, введенный поле запроса, не выполнится.

Такие предосторожности необходимо соблюдать не только при внесении изменений в базу, и при получении информации из базы данных.

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

 

Если при выводе информации из баз данных форму html и обработчик PHP допустимо было помещать в одном файле веб-станицы (но нежелательно, так как может происходить многократное повторение одинаковых запросов при обновлении веб-страницы), то при добавлении данных обработчик должен обязательно находиться в отдельном файле, на который ссылается форма, так как при обновлении страницы обработчик может выполниться многократно, и в базу будет занесена лишняя (дублирующая) информация.

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

 

Конструкции MS SQL и  MySQL даны на примерах разных баз данных.

 

MS SQL

Ввод новых данных

 

Форма html для ввода данных

 

<form action="insert_m.php" metod="get">

 

Название группы: <input name="fNameGroup" size="50" type="text"><br>

Куратор группы: <input name="fCurator" size="30" type="text"><br>

 

<p><input name="add" type="submit" value="Добавить">

<input name="clear" type="reset" value="Очистить"></p>

</form>

 

 

Обработка ввода скриптом php

 

<?php

// MSSQL

 

// установление соединения с сервером

$serverName = "DRACO-DNS\SQLEXPRESS";

$connectionInfo = ARRAY("UID" => "avd", "PWD" => "****", "Database"=>"College"); 

 

$linkMS = sqlsrv_connect($serverName, $connectionInfo);

 

IF($linkMS) {

echo "Соединение установлено.<br>";

}

ELSE {

echo "Невозможно подключиться к серверу.<br>";

DIE(print_r(sqlsrv_errors(), true));

}

 

// База

sqlsrv_query($linkMS,'use College;');

 

// Перекодировка данных

$cNameGroup = iconv('UTF-8','windows-1251',$_GET['fNameGroup']);

$cCurator = iconv('UTF-8','windows-1251',$_GET['fCurator']);

 

// Строка запроса на добавление записи в таблицу:

$insert = "INSERT INTO Groups(NameGroup, Curator) VALUES('".$cNameGroup."','".$cCurator."');";

 

sqlsrv_query($linkMS,$insert); // Выполнение запроса

sqlsrv_close($linkMS); // Отключение

 

echo "<a href='insert.php'>Запрос выполнен, вернуться</a>";

 

?>

Удаление данных

 



Поделиться:


Последнее изменение этой страницы: 2021-05-27; просмотров: 59; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.100.34 (0.014 с.)