Практическая часть, написание калькулятора.
1. Используя программу Блокнот создать следующую форму. Замечания: используя атрибут ID, присвоить форме идентификатор calc, имена кнопок можно задать произвольно, чтобы все кнопки были одинакового размера (25x25), можно описать соответствующий класс CSS.
2. Описать функцию с именем zero(), в теле которой написать следующий код: идентификатор_формы.имя_текстовой_строки.value+=’0’, это означает, что мы хотим добавить в строку цифру 0; ту же запись можно было записать так: идентификатор_формы.имя_текстовой_строки.value= идентификатор_формы.имя_текстовой_строки.value+’0’. Можно пользоваться любой из записей, первая из них – это особенность языка Си.
3. Для кнопки с цифрой нуль обработать событие onClick, вызвав описанную выше функцию следующим образом: <input type="button" value="0" name="B10" onClick=zero()>.
4. Опробовать в действии Вашу страничку.
5. Аналогичным образом описать все цифры, описывая соответствующие функции и обрабатывая событие onClick для соответствующей кнопки, можно пользоваться любой из записей, но первая предпочтительней.
6. Немножко уменьшим объем нашей странички. Все 10 описанных выше функций выполняют одну и туже последовательность действий, а именно добавляет в строку один символ, значит все их можно объединить в одну функцию, в которую в качестве аргумента будем передавать символ. Для этого опишите новую функцию с именем add(d), где d – это аргумент, в котором мы будем передавать символ. В теле функции написать оператор, который в строку добавляет значение переменной d (смотри выше).
|
|
7. Изменить обработчики событий для кнопок с цифрами следующим образом, например для кнопки с цифрой 1 нужно написать onClick=add(‘1’). Для кнопки с запятой обработать событие onClick, вызвав функцию add, передавая в качестве параметра ‘,’.
8. Опишем функцию с именем znak(c), которая будет запоминать знак операции, первое число и очищать строку. Для этого выше всех функций описать три переменные с именами oper (знак операции), pervoe (первое число), vtoroe (второе число) следующим образом: var oper, pervoe, vtoroe, то есть мы описали переменные, значения которых будет известно во всех функциях. Теперь опишем функцию znak(c), где c – параметр для хранения знака операции. Сначала в переменную oper помещаем значение переменной c, затем, используя функцию eval для преобразования строки в число, в переменную pervoe помещаем значение текстовой строки и очищаем текстовую строку, помещая в нее значение, равное нулю. Обработать событие щелчок по кнопкам со знаками операций, вызвав описанную выше функцию.
9. Опишем функцию chet(), которая будет подсчитывать результат. Сначала переменной vtoroe присвоим значение, хранящееся в текстовой строке (смотри предыдущий пример), затем используя условный оператор можем вычислить результат, например, если знак «+», то условный оператор выглядит следующим образом: if (op = = '+') идентификатор_формы.имя_текстовой_строки.value=first+second;. Аналогично написать для всех знаков.
|
|
10. Сохранить документ и опробовать в действии.
11. Самостоятельно: добавить кнопку, которая бы очищала текстовую строку, кнопочку, которая бы меняла знак числа.
Практическая работа №1
«Обработка данных формы»
Цели:
1. приобретение навыков обработки данных текстовых полей;
2. ознакомление со структурой стандартной формы.
Порядок выполнения работы:
1. Создайте каталог php2 и в нем файл forma.html. Создайте форму по следующему образцу:
Создайте файл обработчик формы, который должен выполнять следующие действия:
· Проверку, все ли поля заполнены:
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-страницы?
Практическая работа №2
«Создание счетчика посещений»
Цели:
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.
1. Ввести код программы-счетчика посещений 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;
?>
2. Открыть код страницы forma.html первой практической работы.
3. Добавить код для подключения счетчика в нижней части левой панели:
<?php
echo “Количество посещений – “; require_once(“counter.php”);
?>
Require_once(имя файла) – подключает модуль, имя которого указано в параметре. В качестве модуля используют программы PHP или HTML.
4. Заменить расширение файла: forma.php
Практическая работа №3
«Вычисление значения функции»
Цели:
1. закрепление навыков отладки PHP-кода;
2. ознакомление со структурой стандартной формы.
Описание и вызов функций:
<?php
function first_function() {
echo "<h4>Первая пользовательская функция</h4>";
function second_function() {
echo "<h5>Вторая пользовательская функция</h5>";
}}
first_function();
second_function();
?>
3. Порядок выполнения работы:
1. Создать форму следующего содержания:
2. Написать обработчик данных формы, который представляет результаты в виде следующей таблицы:
Практическая работа №4
«Использование массивов»
Цели:
1. закрепление навыков обработки данных формы;
2. закрепление навыков использования массива в программе.
В PHP существуют различные методы инициализации массивов:
Простое присвоение значений
<? $ 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. Создать новую страницу с формой следующего вида:
<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. Реализуйте тест: ЗНАЕТЕ ЛИ ВЫ СЕБЯ.
Ученые установили, что если из двух полушарий ведущим является правое полушарие мозга, то у человека преобладает эмоциональная сфера. Если ведущим оказывается левое полушарие, то у человека аналитический склад ума преобладает над эмоциональностью. Предлагаемый тест как раз и позволяет выявить ведущее полушарие. Это является признаком врожденным и, как правило, не меняется до конца жизни.
Вопрос N 1. Переплетите пальцы рук и вы заметите, что сверху всегда оказывается один и тот же палец, если левый - вы человек эмоциональный, правый - у вас преобладает аналитический склад ума.
Вопрос N 2. Попробуйте "прицелиться", выбрав себе мишень и глядя на нее через своеобразную мушку - карандаш или ручку. Правый ведущий глаз говорит о твердом, настойчивом, более агрессивном характере, левый - о мягком и уступчивом.
Вопрос N 3. Если при переплетении рук на груди наверху оказывается левая рука, то вы способны к кокетству, правая - склонны к простоте и простодушию.
Вопрос N 4. Если удобнее хлопать правой рукой, можно говорить о решительном характере, левой - вы часто колеблетесь, прежде чем принять решение.
ПППП - для вас характерен консерватизм, ориентация на общепринятое мнение (на стереотип). Вы не любите конфликтовать, спорить и ссориться.
ПППЛ - определяющая черта вашего характера - нерешительность.
ППЛП - для вас характерны кокетство, решительность, чувство юмора, артистизм. При общении с вами необходимы юмор и решительность. Очень контактный тип характера. Этот тип у женщин встречается наиболее часто.
ППЛЛ - редкий тип характера. Мягкий. Наблюдается некоторое противоречие между нерешительностью (левое аплодирование) и твердостью характера (правый ведущий глаз).
ПЛПП - тип характера, сочетающий аналитический склад ума и мягкость. Чаще встречается у женщин - тип "деловой женщины". Медленное привыкание, осторожность, в отношениях терпимость и некоторая холодность.
ПЛПЛ - слабый и самый редкий тип характера. Обладатели такого харак- тера беззащитны, подвержены различному влиянию. Встречается, как правило, у женщин.
ЛППП - такое сочетание встречается очень часто. Основная черта - эмоциональность, сочетающаяся с недостаточной настойчивостью.
ЛППЛ - для вас характерны мягкость, наивность. Требуете особого, внимательного отношения к себе - тип "маленькой королевы".
ЛЛПП - вам присущи дружелюбие и простота, некоторая разбросанность интересов, склонность к самоанализу.
ЛЛПЛ - в вашем характере преобладают простодушие, мягкость, доверчивость. Очень редкий тип характера, практически не встречается у мужчин.
ЛЛЛП - вы эмоциональный, энергичный и решительный человек, но часто наспех принимаете решения, которые приносят серьезные осложнения. Очень важен дополнительный тормозной механизм. Мужчины с таким характером менее эмоциональны.
ЛЛЛЛ - у вас антиконсервативный тип характера. Способны на старые вещи взглянуть по-новому. Характерны эмоциональность, эгоизм, упрямство, иногда переходящее в замкнутость.
ЛПЛП - самый сильный тип характера. Вас трудно в чем-либо убедить. Вы с трудом меняете свою точку зрения. Но в то же время вы энергичны, упорно добиваетесь поставленных целей.
ЛПЛЛ - вы настойчивы в достижении поставленных целей. Обладатели такого характера - люди неуступчивые, переубедить их порой оказывается невозможно. Они склонны к самоанализу, с трудом находят себе новых друзей.
ПЛЛП - у вас легкий характер. Вы счастливо умеете избегать конфликтов, любите путешествовать. Легко находите друзей. Однако вы часто меняете свои увлечения.
ПЛЛЛ - вам присущи непостоянство и независимость, желание все сделать самому. Способность анализировать помогает вам успешно решать сложные задачи. Обычно вы кажетесь мягким, но становитесь требовательным и даже жестоким, когда доходит до дела.
Практическая работа №5
«Разработка базы данных»
Цели:
1. приобретение навыков создания и управления базой данных с помощью программы phpMyAdmin;
2. закрепление навыков использования MySQL.
Структура базы данных 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
Дата добавления: 2020-04-08; просмотров: 185; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!