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

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

Практическая работа №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 Кб

.

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

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

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

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

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

Римская республика от Югуртинской до Союзнической войн. Гай Марий

Адреналіну гидрохлорид. Норадреналіну гидротартрат. Мезатон. Ксилометазолін. Ефедрину гидрохлорид. Празозин

Лікарська форма. Таблетки. Фармакотерапевтична група.

Договор найма жилого помещения. Образец

Наймодатель обязуется, По соглашению сторон договором устанавливается плата за аренду (поднаем) квартиры и пользование имуществом

Маркетинг. Практика

Вопросы по истории для 1 курса. Теоретические  вопросы

Сохранить?

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

Введите код

Ok