Практическая работа №1. Обработка данных формы Цель работы: Приобретение навыков обработки данных текстовых полей



Скачать 144.77 Kb.
Дата01.05.2016
Размер144.77 Kb.

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





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

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

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

6


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

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

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

{echo “Вы ввели не все данные”;

Exit; }


$komu=”xxx.ru”;

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

$text_p=$_GET[‘quest’];

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

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

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


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

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

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

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

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

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

    1. Цель работы:

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

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

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

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

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

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



Способ

Описание

r

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

r+

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

w

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

w+

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

a

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

a+

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

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

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

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

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



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

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

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

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

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

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

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



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

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

  1. Ввести код программы-счетчика посещений counter.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;


?>

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

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

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



?>

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



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


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





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

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

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

function first_function() {
  echo "

Первая пользовательская функция

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

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



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



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




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

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

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

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

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

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

    1. Цель работы:

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

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

В 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"

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

  1. цикл 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>");

?>


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

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






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



Имя


Фамилия


E-mail

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


PHP


LISP


C++


UNIX

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










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



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


";

$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”].”!


”;

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

$lect =””;

$kurses=$_POST[“kurs”];

If (!isset($kurses)) {

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

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

} else {


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

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

    $k=$kurses[$i];

    $lect = $lect . “

  • лекция по $k в $time[$k]”;

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

    }

    $event = $event . $lect . “

”;



$str . =”$event”;

}

$str .= “


” . SIGN;

echo $str

?>

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



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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



    1. Цель работы:

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


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

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

  1. Таблица 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 – см. выше.



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

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

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

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

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

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

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

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

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



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

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



Пример кода:

echo "

Создание базы данных


";

echo "";

$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 "



";

}

echo "

НомерНазваниеЦена

width=20%>Количество

Примечание
$id $name $cena $kol $prim
"; ?>



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

  1. Создать файл insert.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 "Ошибка при записи данных";

?>


  1. Создать файл delete.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 "Ошибка при удалении данных";

?>






База данных защищена авторским правом ©refedu.ru 2016
обратиться к администрации

    Главная страница