![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Основы программирования на PHP ⇐ ПредыдущаяСтр 7 из 7
В этой лекции мы рассмотрим возможности программирования с использованием языка РНР. Скомпилированные программы и исходный код языка могут быть скачаны с сайта http: //www.php.net. Установим пакет РНР. Создадим простейший PHP-файл, который назовем test.php. <? echo " < hl> this is php< /hl> "; ? > Если вы работаете в Windows, то щелкните на файле test.php мышью. Появиться консольное окно, в котором отображается результат работы этой программы. Разместим файл test.php в каталоге выполняемых файлов сервера Sambar, в cgi-bin/. В браузере укажем адрес http: //loca! host/cgi-bin/test.php, после чего в окне браузера появится результат работы программы, записанной в файле test.php. Язык РНР предоставляет большое количество возможностей для создания полнофункциональных серверных Web-приложений. Среди основных свойств можно назвать такие: обработка информации, введенной пользователем посылка почты, работа с базами данных, работа с изображениями, работа с сетью, работа с объектами CORBA. Сейчас мы кратко рассмотрим основные возможности, без которых Web-программирование просто немыслимо. Ввод и вывод на РНР HTML-формы представляют собой механизм передачи серверу данных от пользователя клиентского браузера. Рассмотрим HTML-файл, содержащий форму (файл form.html). < html> < title> Пример формы < /title> < /head> < body> < form name=" formname" method=post action = " http: //localhost/cgi-bin/form.php" > < Р> Введите текстовую информацию: < input type=" text" name=" textl" > < PXinput type=" submit" value=" Submit the form to the serve: " < /form> < /body> < /html> Элемент формы начинается открывающим ярлыком < fоrm>. В качестве свойств элемента в ярлыке указаны имя элемента formname, метод передачи данных post и свойство action. Последнее свойство — это адрес файла, содержащего программу, которая будет обрабатывать данные. Адрес может быть как относительный (относительно местоположения данного HTML-файла), так и абсолютный. Внутри элемента формы описано несколько компонентов. Важным для нас являются элементы input. Каждый элемент имеет имя и значение. Именно эти пары имен и значений будут переданы серверу в виде name=value. Так, в нашем случае переменной с именем textl будет соответствовать строковое значение, которое пользователь ввел в соответствующее поле. Различные типы элементов input, описанные в языке HTML, соответствуют различным графическим элементам, отображаемым в окне браузера. Кнопка отправки формы имеет тип " submit". Все пары name=value, содержащиеся в форме, будут переданы программе, указанной в качестве значения свойства action. В файле form.php обратиться к этим значениям можно, просто указав имя соответствующей им переменной. Все переменные в РНР начинаются со знака $, поэтому наша переменная будет иметь вид $testl. Напишем простой PHP-файл form, php для обработки данной формы. Мы уже видели, что текст РНР программы начинается с символов <? и заканчивается? >. <? echo " < html> < head> < title> Forms< /title> < /head> < body> "; echo " < hl> User input< /h1> Пользователь ввел такую строку: < Р> "; echo $textl; echo " < /body> < /html> "; ? > Файл сохраняем в каталоге cgi-bin/. После нажатия кнопки отправки формы мы, видим, что пользовательские данные возвращены сервером. Приведенная в этом примере страница не имеет никакого дизайна. Коммерческие Web-приложения должны быть оформлены с учетом возможности HTML-форматирования и удобства пользователей при работе. 5.3. РНР и базы данных. Работа с MySQL.
test.php $action=$HTTP_GET_VARS[" action" ]; echo " < html> < body> "; echo " action=".$action." < p> "; $c=mysql connect(" localhost: 330 6", " admin", " " ); if ($action==" create" ) { $result=mysql create db(" articles", $c); echo $result; mysql select db(" articles", $c); $stroka=" CREATE TABLE article (Subject CHAR(50), Article LONGTEXT, Author CHAR(50), Title CHAR(50), ID INT, Annotation CHAR(50)); "; $result=mysql query($stroka); echo $result; $stroka=" CREATE TABLE WAPassword (Password CHAR(50), ID INT); "; $result=mysql query($stroka); echo $result; } if ($action==" insert" ) { mysql select db(" articles", $c); $stroka=" INSERT INTO article VALUES('Mathematics', 'Обсуждаются свойства.................................................... ', 'Ivanov V.I.', 'Об одном свойстве', 1, 'В работе рассматривается1); "; $result=mysql query($stroka); if ($result) echo $result; $stroka=" INSERT INTO article VALUES('Mathematics', 'Обсуждаются методы..................................................... ', 'Ivanov V.I.', 'Об одном методе', 2, 'В работе рассматривается'); "; $result=mysql query($stroka); if ($result) echo $result; $stroka=" INSERT INTO WAPassword VALUES('2003', 1); "; $result=mysql query($stroka); if ($result) echo $result; } if ($action==" show" ) { mysql select db(" articles", $c); $stroka=" select * from article; "; $result=mysql query($stroka); $noro=mysql nura rows ($result); echo " Rows number".$noro." < br> "; echo " < table border=0> < tr align='center'> < td> Haзвание< /td> < td> ABTop< /td> < td> Aннотация< /td> < /tr> "; while($row=mysql fetch array($result)) { echo " < tr> "; echo " < td> ".$row[" Title" ]." < /td> "; echo " < td> < i> By".$row[" Author" ]." < /i> < /td> "; echo " < td> ".$row[" Annotation" ]." < /td> "; echo " < /tr> "; } if ($action==" delete" ) { mysql drop db(" articles", $c); if ($result) echo $result; } mysql close($c); echo " < /body> < /html> "; ? > 5.4. Основные функции PHP для работы с MySQL. lr4.php < html> < head> < title> Ham газетный сайт - первые шаги в PHP и MySQL< /title> < /head> < body> < center> < p> < font size=" 3" со1ог=" #000000" > < b> Главная страница< /b> <! -- Определим основные линки --> < center> < а href=" UploadForm.php" class=" antiLine" > Загрузка статьи< /а> < br> < /center> < table BORDER=0 CELLSPACING=O CELLPADDING=O WIDTH=" 640" > <! -- Создадим таблицу шириной 640 пиксел --> < tr> < td BGCOLOR=" #FFCC99" valign = top> < /td> < /tr> <? $c=mysql connect(" localhost: 330 6", " admin", " " ); mysql select db(" articles", $c); $stroka=" select * from article; "; $result=mysql_query($stroka); $Cnt = 0; echo " < table border=0Xtr align='center'> < td> Haзвaниe< /td> < td> Aвтop< /td> < td> Aннoтaция< /td> < /tr> ''; while($row=mysql_fetch_array($result)) { echo " < tr> "; $Link=" < a href=ArtTempl.php? id=".$row[" ID" ]." > ".$row[" Title" ]." < /a> "; echo " < td> ".$Link." < /tdXtdXi> By".$row [" Author" ]." < /iX/td> "; echo " < td> ".$row[" Annotation" ]." < /td> "; echo " < /tr> "; $Cnt = $Cnt + 1; } echo " < /table> "; mysql_close($c); ? > < p> < font size=" 3" color=" #000000" > < i> <? $D = date(" F j, Y" ); echo " Сегодня".$D; echo ". В базе - ".$Cnt." статей"; ? > < /i> < /font> < /font> < /p> < /table> < /center> < /body> < /html> ArtTempl.php <? $TheID = $HTTP_GET_VARS[" id" ]; $c=mysql connect(" localhost: 330 6", " admin", " " ); mysql select db(" articles", $c); $stroka=" SELECT * FROM article Where ID =".$TheID; $result=mysql_query($stroka); $row=mysql_fetch_array($result); echo $row[" ID" ].".".$row[" Title" ]; echo " < i> < b> By".$row[" Author" ]." < /b> "; echo " < br> Subject: ".$row[" Subject" ]." < br> "; echo $row[" Article" ]; mysql_close ($c); ? > UploadForm.php < html> < head> < title> Загрузка статьи< /title> < /head> < body> < FORM NAME=" mainform" METHOD=" GET" ENCTYPE=" multipart/form-data" ACTION=" Upload.php" > < b> Author: (*)< /b> < br> < input type=TEXT size=56 name=" Author" > < br> < I — Поле имени автора статьи --> < b> Title: (*)< /b> < br> < input type=" text" name=" Title" size=" 56" > < br> < I— Поле заголовка статьи --> < b> Article Annotation: < /b> < br> < textarea name=" Annotation" cols=" 56" > < /textarea> < br> < I— Поле аннотации к статье —> < b> Article Text: < /b> < br> < textarea cols=" 56" name=" Article" rows=" 15" > < /textarea> < br> < I— Поле текста самой статьи --> < b> Type of the article: (*)< /b> < br> <! -- Поле рубрикатора статьи —> < select name=" Subject" > <? $c=mysql connect(" localhost: 330 6", " admin", " " ); mysql select db(" articles", $c); $stroka=" SELECT distinct Subject FROM article; "; $result=mysql query($stroka); while($row=mysql_fetch_array($result)) echo " < option> ".$row[" Subject" ]." < /option> "; ? > < /select> < br> < b> Database access password: (*)< /b> < br> < input type=" password" name=" Password" > < br> < center> < input type=SUBMIT value=" Publish the Article! " name=" SUBMIT" > < input type=" reset" name=" Reset" value=" Reset Article Form" > < /center> < /FORM> < /body> < /html> Upload.php < html> $c=mysql connect(" localhost: 330 6", " admin", " " ); mysql select db(" articles", $c); $stroka=" Select * From WAPassword Where ID = 1"; $result=mysql query($stroka); $row=mysql fetch array($result); $DBP = $row[" Password" ]; function Formatstr($InString) { $InString = str_replace(chr(13).chr(10), " < br> ", $InString); $InString = str_replace(chr (10).chr(10), " < /PXP> ", $InString); $InString = str_replace(chr(10), " < BR> ", $InString); $InString = str_replace(" '", " " ", $InString); $InString = str_replace(chr(34), " /", $InString); return $InString; } $ErrA = 0; $ErrT = 0; $ErrP = 0; $ErrC = 0; $AUT = $HTTP_GET_VARS[" Author" ]; if($AUT==" " ) $ErrA = 1; $AUT=FormatStr($AUT); $TIT = $HTTP_GET_VARS[" Title" ]; if (TIT==" " ) $ErrT = 1; $TIT=FormatStr($TIT); $ART = $HTTP_GET_VARS[" Article" ]; if($ART==" " ) $ErrC = 1; $ART=FormatStr($ART); $SBJ = $HTTP_GET_VARS[" Subject" ]; $ANN = $HTTP_GET_VARS[" Annotation" ]; $ANN = FormatStr($ANN); if($ANN==" " ) $ANN = " NA"; $Password = $HTTP_GET_VARS[" Password" ]; if($Password==$DBP) If($ErrA ==0 & & $ErrT == 0) { $stroka=" select max(ID) AS MAX_ID from article"; $result=mysql query($stroka); $row=mysql fetch array($result); $ID=intval($row[" MAX_ID" ])+1; $stroka=" insert into article (Author, Title, Article, Subj ect, Annotation, ID) values('".$AUT." ', '".$TIT." ', '".$ART." ', '".$SBJ." ', '" $ANN." ', '".$ID." ')"; $result=mysql query($stroka); } else $ErrP = 1; $N = date(" j F Y. H: i: s" ); if($ErrP==0 & & $ErrA==0 & & $ErrT==0 & & $ErrC==0) echo " Article uploaded successfully at ".$N." < br> "; if ($ErrP==l) echo " Error! Article database access denied! Incorrect password! "; if($ErrA==l) echo " < br> Error! No Author specified! "; if($ErrT==l) echo " < br> Error! No Title specified! "; if ($ErrC==l) echo " < br> Error! You should specify article text! "; mysql_close ($c); ? >
Библиографический список 1. Будилов В.А. Практические занятия по РНР 4. СПб.: Наука и Техника, 2001. – 352с. 2. Гарнаев А.Ю. Web-программирование на Java и JavaScript. СПб: БХВ, 2006. – 1040с. 3. Моррисон М. HTML и XML. М.: Питер, 2005. – 303с. 4. Пауэрс Ш. ASP компоненты. СПб: Питер, 2004. – 832с. 5. Водолазкий В. PHP/4. СПб: Питер, 2002. – 416с. 6. Томсон Л. Разработка Web-приложений на PHP и MySQL. М.: ДиаСофт, 2001. – 672с. 7. Паттерсон Л., Слоан Б., Шарльворс С. Использование HTML 4. М.: Вильямс, 2001. – 400с. 8. Лавджой И. ASP Web-профессиналам. Киев: BHV, 2001. – 288с. 9. Зандстра М. Освой самостоятельно PHP4 за 24 часа. М.: Вильямс, 2001. – 384с.
|
Последнее изменение этой страницы: 2019-04-09; Просмотров: 292; Нарушение авторского права страницы