Практическая работа. Обработка данных формы

Арендный блок

Практическая работа №1. Обработка данных формы

Цель работы: Приобретение навыков обработки данных текстовых полей.

Порядок выполнения работы:

1. Создайте каталог php2 и в нем файл forma.html. Создайте форму по следующему образцу:

364490234956

Создайте файл обработчик формы, который должен выполнять следующие действия:

Проверку, все ли поля заполнены:

If ($_GET[nm]==’ ‘ or ($_GET[pass]==’ ‘ or ($_GET[email]==’ ‘)

{echo “<font color=’red’>Вы ввели не все данные</font>”;

Exit; }

Выводить приветствие с указанием имени;

Формировать и отправлять письмо:

$komu=”xxx.ru”;

$tema=”Вопрос от “. $_GET[‘nm’].” “.$_GET[‘email’];

$text_p=$_GET[‘quest’];

mail($komu, $tema, $text_p);

echo “Ваш вопрос отправлен администратору”;

Вопросы для самоконтроля

Какие типы переменных поддерживает язык PHP?

В чем отличие php-страницы и html-страницы?

Как передать переменную в php-страницу?

Какие параметры существуют у функции data()?

Что возвращает web-сервер при запросе php-страницы?

Практическая работа №1-2. Создание счетчика посещений

Цель работы:

Приобретение навыков использования функций обработки текстовых файлов.

Теоретический материал

fopen(имя файла, режим работы) – возвращает число – дескриптор открытого файла, по которому можно обращаться к открытому файлу.

Режим работы имеет 2 составляющие:

- способ работы с информацией (текстовый (t) и бинарный(b));

- способ работы с файлом:

Способ

Описание

r

Файл открывается для чтения, указатель текущей позиции в начале файла. Если файла не существует, возникает ошибка

r+

Файл открывается для чтения и записи, указатель текущей позиции в начале файла. Если файла не существует, возникает ошибка

w

Создается пустой файл и открывается для записи, указатель текущей позиции в начале файла. Если файл существует, он перезаписывается

w+

Создается пустой файл и открывается для чтения и записи, указатель текущей позиции в начале файла. Если файл , он перезаписывается

a

Файл открывается для записи, указатель текущей позиции в конце файла. Если файла не существует, он создается

a+

Файл открывается для записи и чтения, указатель текущей позиции в конце файла. Если файла не существует, он создается

flock (дескриптор файла, режим блокировки) – блокирует файл для использования других пользователей.

Режимы блокировки:

2- устанавливает блокировку;

3- снятие блокировки;

fgets(дескриптор файла) – считывает данные из файла.

ftruncate(дескриптор файла, размер) – обрезает данные из файла до заданного размера (указывается в байтах). Возвращает TRUE (при успешном выполнении) или FALSE.

fputs(дескриптор файла, данные) – осуществляет запись данных в файл.

fclose(дескриптор файла) – закрытие файла.

die(текст сообщения об ошибке) – выводит текст, переданный в качестве параметра, и осуществляет выход из программы.

Одновременное использование двух функций:

fopen() or die() – если результат выполнения первой функции FALSE, то в этом случае выполняется вторая функция.

Порядок выполнения работы

Количество посещений любой страницы хранится в текстовом файле с именем counter.txt.

Ввести код программы-счетчика посещений counter.php

<?php

$f=fopen(“counter.txt”, “a+t”) or die(“Невозможно открыть файл”);

flock( $f, 2);

$s = fgets($f);

$s+=1; // $s=$s+1;

ftruncate ($f, 0);

fputs ($f, $s);

flock ($f,3);

fclose($f);

echo $s;

?>

Открыть код страницы forma.html первой практической работы.

Добавить код для подключения счетчика в нижней части левой панели:

<?php

echo “Количество посещений – “; require_once(“counter.php”);

?>

Require_once(имя файла) – подключает модуль, имя которого указано в параметре. В качестве модуля используют программы PHP или HTML.

Заменить расширение файла: forma.php

Практическая работа №2. Вычисление значения функции

Цель работы: Закрепление навыков отладки PHP-кода.

Теоретический материал

Описание и вызов функций:

<?php function first_function() {  echo "<h4>Первая пользовательская функция</h4>";    function second_function() {     echo "<h5>Вторая пользовательская функция</h5>";   }}first_function();second_function();?>

Порядок выполнения работы:

Создать форму следующего содержания:

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

Вопросы для самоконтроля:

Как описать функцию?

Как использовать математическую функцию?

Как считать данные с текстового поля формы?

Как выполнить PHP-код?

Практическая работа №3. Обработка данных формы. Использование массива

Цель работы:

Закрепление навыков обработки данных формы. Использование массива в программе.

Теоретический материал

В PHP существуют различные методы инициализации массивов:

1. простое присвоение значений

<?

$car[] = "passenger car";

$car[] = "land-rover";

echo($car[1]); // выводит "land-rover"

?>

2. явное указание индекса массива:

<?

$car[0] = "passenger car";

$car[1] = "land-rover";

echo($car[1]); // выводит "land-rover"

?>

3. использование конструкции array():

<?

$car = array("passenger car", "land-rover");

echo($car[1]); // выводит "land-rover"

?>

4. явное указание индексов (в этом случае применяется оператор =>)

<?

$car = array("passenger car", 5 => "land-rover", "station-wagon","victoria");

echo($car[0]); echo("<br>"); // выводит "passenger car"

echo($car[5]); echo("<br>"); // выводит "land-rover"

echo($car[6]); echo("<br>"); // выводит "station-wagon"

echo($car[7]); // выводит "victoria"

?>

5. индексами массива могут быть и строки:

<?

$car = array("pc" => "passenger car", "lr" => "land-rover");

echo($car["lr"]); echo("<br>"); // выводит "land-rover"

echo($car["pc"]); // выводит "passenger car"

?>

Для обработки элементов массива используют:

цикл FOREACH

foreach (array as [$key =>] $value)

{

statements;

}

Пример:

<?

$car = array("passenger car", "land-rover", "station-wagon", "victoria");

foreach($car as $index => $val)

{

echo("$index -> $val <br>");

}

?>

Как видно из синтаксиса, переменная $key необязательна и может быть опущена:

<?

echo(

"available cars: <br> <ul>"

);

$car = array("passenger car", "land-rover", "station-wagon","victoria");

foreach($car as $val)

{

echo("<li>$val</li>\n");

}

echo("</ul>");

?>

Порядок выполнения работы

Создать новую страницу с формой следующего вида:

<h2> Форма для регистрации студентов</h2>

<form action=”1.php” method=POST>

Имя <br> <input type=text name=”first_name” value=”Введите ваше имя”> <br>

Фамилия <br> <input type=text name=”last_name” ><br>

E-mail <br> <input type=text name=”email” ><br>

<p> Выберите курс, который будете посещать: <br>

<input type=checkbox name=’kurs[]’ value=’PHP’> PHP <br>

<input type=checkbox name=’kurs[]’ value=’LISP’> LISP <br>

<input type=checkbox name=’kurs[]’ value=’C++’> C++ <br>

<input type=checkbox name=’kurs[]’ value=’UNIX’> UNIX <br>

<p> Что Вы хотите, чтобы мы знали о Вас? <br>

<textarea name=”comment” cols=32 rows=5></textarea>

<input type=submit value=”Отправить”>

<input type=reset value=”Отменить”>

</form>

В файле action.php, обрабатывающем эту форму, можно написать следующее:

<?php

$str = "Здравствуйте,".$_POST ["first_name"]." ".$_POST ["last_name"] ."!<br>";

$str.= "Вы выбрали для изучения курс по ". $_POST["kurs"];

echo $str;

?>

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

<?

// создадим массивы соответствий «курс-время» и «курс-лектор»

$time = array(“PHP”=>”14.30”, “LISP”=>”12.00”, “C++”=>”15.00”, “UNIX”=>”14.00”);

$lector= array(“PHP”=>”Васильев”, “LISP”=>”Иванов”, “C++”=>”Петров”, “UNIX”=>”Сидоров”);

define(“SIGN”, “С уважением, администрация”);// определяем подпись как константу

define(“MEETING_TIME”, “18.00”); // задаем время собрания

$date=”12 мая”;

$str=”Здравствуйте, уважаемый “.$_POST[“first_name”]. “ “. $_POST[“last_name”].”!<br>”;

$str .= “<br> Сообщаем Вам, что “;

$lect =””;

$kurses=$_POST[“kurs”];

If (!isset($kurses)) {

$event= “следующее собрание студентов”;

$str .= “$event состоится $date “. MEETING_TIME . “<br>”;

} else {

$event= “выбранная Вами лекция состоится $date <ul>”;

For ($i=0; $i < count($kurses); $i++) {

$k=$kurses[$i];

$lect = $lect . “<li> лекция по $k в $time[$k]”;

$lect . =” ваш лектор, $lector[$k])”

}

$event = $event . $lect . “</ul>”;

$str . =”$event”;

}

$str .= “<br>” . SIGN;

echo $str

?>

3. Самостоятельная работа

Вариант1. Реализуйте тест: ЗНАЕТЕ ЛИ ВЫ СЕБЯ.

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

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

Вопрос N 2. Попробуйте "прицелиться", выбрав себе мишень и глядя на нее через своеобразную мушку - карандаш или ручку. Правый ведущий глаз говорит о твердом, настойчивом, более агрессивном характере, левый - о мягком и уступчивом.

Вопрос N 3. Если при переплетении рук на груди наверху оказывается левая рука, то вы способны к кокетству, правая - склонны к простоте и простодушию.

Вопрос N 4. Если удобнее хлопать правой рукой, можно говорить о решительном характере, левой - вы часто колеблетесь, прежде чем принять решение.

ПППП - для вас характерен консерватизм, ориентация на общепринятое мнение (на стереотип). Вы не любите конфликтовать, спорить и ссориться.

ПППЛ - определяющая черта вашего характера - нерешительность.

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

ППЛЛ - редкий тип характера. Мягкий. Наблюдается некоторое противоречие между нерешительностью (левое аплодирование) и твердостью характера (правый ведущий глаз).

ПЛПП - тип характера, сочетающий аналитический склад ума и мягкость. Чаще встречается у женщин - тип "деловой женщины". Медленное привыкание, осторожность, в отношениях терпимость и некоторая холодность.

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

ЛППП - такое сочетание встречается очень часто. Основная черта - эмоциональность, сочетающаяся с недостаточной настойчивостью.

ЛППЛ - для вас характерны мягкость, наивность. Требуете особого, внимательного отношения к себе - тип "маленькой королевы".

ЛЛПП - вам присущи дружелюбие и простота, некоторая разбросанность интересов, склонность к самоанализу.

ЛЛПЛ - в вашем характере преобладают простодушие, мягкость, доверчивость. Очень редкий тип характера, практически не встречается у мужчин.

ЛЛЛП - вы эмоциональный, энергичный и решительный человек, но часто наспех принимаете решения, которые приносят серьезные осложнения. Очень важен дополнительный тормозной механизм. Мужчины с таким характером менее эмоциональны.

ЛЛЛЛ - у вас антиконсервативный тип характера. Способны на старые вещи взглянуть по-новому. Характерны эмоциональность, эгоизм, упрямство, иногда переходящее в замкнутость.

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

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

ПЛЛП - у вас легкий характер. Вы счастливо умеете избегать конфликтов, любите путешествовать. Легко находите друзей. Однако вы часто меняете свои увлечения.

ПЛЛЛ - вам присущи непостоянство и независимость, желание все сделать самому. Способность анализировать помогает вам успешно решать сложные задачи. Обычно вы кажетесь мягким, но становитесь требовательным и даже жестоким, когда доходит до дела.

Практическая работа №4. Разработка БД товаров.

Цель работы:

Приобретение навыков создания и управления базой данных с помощью программы phpMyAdmin.

Теоретический материал

Структура базы данных TOVARS:

Таблица tovar, содержит учетные записи товаров

Название поля

Описание

Тип

1

id

Поле-счетчик

INT

2

name

Название товара

VARCHAR (20)

3

cost

Стоимость

INT

4

kol

Количество товара

INT

5

date

Дата реализации

DATE

Пример записей:

id

name

cost

kol

date

1

Хлеб столовый

24

100

25.03.10

2

Хлеб ржаной

20

50

27.03.10

Выбор данных:

SELECT column1,… FROM table WHERE definition ORDER BY col_name

Добавление данных:

INSERT INTO table VALUES (value1, …)

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

DELETE FROM table WHERE definition

Основные функции для работы с MySQL:

int mysql_connect(string hostname, string username, string password) - создать соединение с MySQL. Функция возвращает параметр типа int, который больше 0, если соединение прошло успешно, и равен 0 в противном случае.

hostname – имя хоста, на котором находится база данных.

Username – имя пользователя.

Password – пароль пользователя.

int mysql_select_db(string database_name, int link_identifier) - выбрать базу данных для работы. Функция возвращает значение true или false

Database_name – имя базы данных.

link_identifier – ID соединения, которое получено в функции mysql_connect. (параметр необязательный, если он не указывается, то используется ID от последнего вызова mysql_connect)

int mysql_query(string query, int link_identifier) - функция выполняет запрос к базе данных. Функция возвращает ID результата или 0, если произошла ошибка.

query – строка, содержащая запрос link_identifier – см. предыдущую функцию.

int mysql_result(int result, int i, column) - функция возвращает значение поля в столбце column и в строке i.

int mysql_close(int link_identifier) - функция закрывает соединение с MySQL. Функция возвращает значение true или false.

link_identifier – см. выше.

Порядок выполнения работы

Открыть программу phpMyAdmin: набрать в строке браузера localhost и выбрать пункт phpMyAdmin.

В разделе Привелегии добавить нового пользователя homeuser со всеми правами.

В поле Создать новую БД ввести имя базы TOVAR – Создать (Create Database)

Создать таблицу tov:

В поле Имя ввести tov;

В поле Поля – число 5;

Кнопка Пошел.

Указать название полей таблицы и их тип. В поле Дополнительно указать auto_increment (автоматическое присвоение). Установить переключатель primary key(первичный ключ). Сохранить результат.

Ввести 4 записи для данных базы.

Создать папку lab4. В ней файл index.php, в котором описать код вывода данных таблицы на экран.

Пример кода:

<?php

echo "<h1>Создание базы данных</h1><br>";

echo "<table border=1><tr align=center><td width=10%><b>Номер</td><td width=30%><b>Название</td><td width=20%><b>Цена</td><td width=20%><b>Количество</td><td width=20%><b>Примечание</td></tr>";

$sqlhost="localhost"; $sqluser="homeuser"; $sqlpass=""; $bd="TOVARS";

// соединение с базой данных

mysql_connect($sqlhost,$sqluser,$sqlpass) or die ("нет доступа!".mysql_error());

// выбирает базу для последующей работы

mysql_select_db($bd) or die ("нет соединения".mysql_error());

$zap="SELECT * FROM tovar ORDER BY id";

// выполнение SQL-запроса выбора данных из БД

$zap_res=mysql_query($zap);

while (list($id, $name, $cena, $kol, $prim)=mysql_fetch_row($zap_res))

{

echo "<tr>

<td>$id</td> <td>$name</td> <td> $cena</td> <td>$kol</td> <td>$prim</td> </tr>";

}

echo "</table>"; ?>

Разместить 2 кнопки Добавить запись и Удалить запись № и текстовое поле для указания № удаляемой записи.

Создать файл insert.php, в котором разместить форму для ввода данных в таблицу.

Пример кода:

<?php

if (isset($_REQUEST))

{

foreach($_REQUEST as $key=>$val)

{$key=$val;}

}

$sqlhost="localhost"; $sqluser="homeuser"; $sqlpass=""; $bd="TOVARS";

mysql_connect($sqlhost,$sqluser,$sqlpass) or die ("нет доступа!".mysql_error());

mysql_select_db($bd) or die ("нет соединения".mysql_error());

$zap="INSERT INTO tovar( name, cost, kol, prim) VALUES ($name, $cena, $kol, $prim)";

$zap_res=mysql_query($zap);

if (zap_res==true)

echo "Запись успешно добавлена"; else echo "Ошибка при записи данных";

?>

Создать файл delete.php, в котором описать код для удаления записи по заданному номеру.

Пример кода:

<?php

if (isset($_REQUEST))

{

$num=$_REQUEST[num];

}

$sqlhost="localhost"; $sqluser="homeuser"; $sqlpass=""; $bd="TOVARS";

mysql_connect($sqlhost,$sqluser,$sqlpass) or die ("нет доступа!".mysql_error());

mysql_select_db($bd) or die ("нет соединения".mysql_error());

$zap="DELETE FROM ‘tovar’ WHERE id = $num ";

$zap_res=mysql_query($zap);

if (zap_res==true)

echo "Запись успешно удалена";

else echo "Ошибка при удалении данных";

?>

← Предыдущая
Страница 1
Следующая →

Скачать

Практические 1-4 по РНР и MySql.docx

Практические 1-4 по РНР и MySql.docx
Размер: 409.4 Кб

Бесплатно Скачать

Пожаловаться на материал

Цель работы: Приобретение навыков обработки данных текстовых полей.

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

Похожие материалы:

 Перечень экзаменационных практических навыков (раздел «Акушерство и гинекология»)

Своєрідність розвитку німецької літератури у ІІ половині ХХ століття

Загальна характеристика німецької літератури 2 половини 20 століття. Література повоєнного періоду (розвиток реалізму): діяльність А. Зегерс, Г. Бьолля. Постмодернізм у німецькомовній літературі: творчість Ґ. Грасса, П. Зюскінда, Е. Єлінек.

На каком расстоянии от центра диполя потенциал поля будет такой же

Задача, решение. Заряды диполя помещены соответственно в точки А и В.

Задачи, организационная структура и органы управления всероссийской службы медицины катастроф

Служба медицины катастроф Министерства обороны Российской Федерации и силы МВД, МПС России, предназначенные для ликвидации медико-санитарных последствий ЧС

Имидж менеджера

Контрольно-курсовая работа по дисциплине «Теория менеджмента». Имидж, типы имиджа. Имиджмейкеры

Сохранить?

Пропустить...

Введите код

Ok