скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКурсовая работа: Разработка сайта. Система поиска по сайту

4.  "Первая программа": После изучения преимуществ PHP, истории языка, почему бы не попробовать написать программу? Эта страница поможет вам в этом.

5.  Страница "поиск". Вводим, нажимаем "искать…", получаем результат.

6.  Панель администрирования. Вводим пароль в форму, попадаем на следующую страницу:

Здесь можно осуществить индексацию сайта (перезапись файла data. dat), в случае изменения каких-либо данных или добавления страниц в сайт. Сменить пароль для администратора. Посмотреть Версию установленного PHP интерпретатора. Узнать к какому семейству относится операционная система, установленная на сервере (Windows, Linux, Mac OS и пр.).


Заключение

В ходе проделанной работы был разработан сайт с системой поиска информации по нему. Тематика сайта: введение в PHP. Можно узнать о языке программирования PHP, а именно: его возможностях, истории, получить ответ на вопрос: "Что такое PHP?". На одной из страниц будет продемонстрировано написание первой программы на PHP. Выполнено на пяти страницах.

Разработана система поиска по сайту, с панелью администрирования. Выполнено на двух страницах.

Все требования к работе выполнены.


Список используемой литературы

1.  Ульман Л. Основы программирования на PHP: пер. с англ. - М.: ДМК Пресс, 2001. - 288 с.: ил. Самоучитель.

2.  Кузнецов М.В., Симдянов И.В., Голышев С.В. РНР 5. Практика разработки Web-сайтов. - СПб.: БХВ-Петербург, 2005. - 960 с: ил.

3.  Котеров Д.В., Костарев А.Ф. PHP5. - СПб.: БХВ - Петербург, 2005. - 1120 с.: ил

4.  Фленов М.Е. РНР глазами хакера. - СПб.: БХВ-Петербург, 2005. - 304 с: ил.

5.  Руководство по PHP. - http://www.php.net/manual/ru/

6.  Клуб разработчиков PHP. - http://www.phpclub.ru/

7.  PHP FAQ. Сайт с ответами на вопросы. - http://www.phpfaq.ru/


Приложение

Листинг index. php

<? php

function error ($error,$file) {exit ('<font face=verdana size=1 color=#de0000><b>'. $error. '<br> ['.htmlspecialchars ($file). '] </b></font>'); }

@set_time_limit (0);

@SetLocale (LC_ALL,"ru_RU. CP1251");

function CheckConf ($conf)

{

while (list ($section,$array) =each ($conf))

while (list ($key,$value) =each ($array))

if (! strlen ($value))

error ("В файле параметров скрипта, а именно в секции <font color=green>". $section. "</font>, пуст ключ <font color=green>". $key. "</font>",$conf ['dir'] ['path']. "/inc/config. inc. dat");

}

$term_paper=parse_ini_file (". /inc/config. inc. dat",1) or error ("не могу загрузить основной файл параметров",". /inc/config. inc. dat");

include ($term_paper ['file'] ['functions']);

CheckConf ($term_paper);

while (list ($section,$array) =each ($term_paper))

while (list ($key,$value) =each ($array))

$term_paper ['other'] [chr (73). chr (110). chr (105). ucfirst (strtolower ($section)). ucfirst (strtolower ($key))] =$value;

settype ($FirstTime=term_paper_time (),"integer");

if (isset ($_GET ['query']))

{

$query=$UserQuery=term_paper_stripslashes ($_GET ['query']);

preg_match_all ("/\w+/",$query,$QueryArray);

$TempQuery=array_unique ($QueryArray [0]);

$QueryArray [0] =$term_paper ['result'] =null;

while (list (,$value) =each ($TempQuery))

$QueryArray [0] [] =$value;

$result=array ();

$found=0;

if (! $QueryCount=count ($QueryArray [0]))

{

ParseTemplate ($term_paper ['templates'] ['top']);

if (empty ($query))

$term_paper ['other'] ['error'] =$term_paper ['error'] ['EmptyQuery'];

else

$term_paper ['other'] ['error'] =$term_paper ['error'] ['EmptyQueryAfterStrip'];

ParseTemplate ($term_paper ['templates'] ['error']);

ParseTemplate ($term_paper ['templates'] ['bottom']);

exit;

}

elseif ($QueryCount==1)

$query=$QueryArray [0] [0];

else

if (! empty ($query))

{

ParseTemplate ($term_paper ['templates'] ['top']);

$OpenDataFile=fopen ($term_paper ['file'] ['data'],'r');

flock ($OpenDataFile,1);

flock ($OpenDataFile,2);

while (! feof ($OpenDataFile))

if (preg_match ("/". $query. "/i",$string=fgets ($OpenDataFile)))

{

/*

list ($term_paper ['other'] ['link'],$term_paper ['other'] ['document']) =split (" ",$string,2);

$term_paper ['other'] ['document'] =substr ($term_paper ['other'] ['document'],0,$term_paper ['other'] ['MaxChars']);

$term_paper ['other'] ['document'] =trim (preg_replace ("/". $query. "/i","<b>\\0</b>",$term_paper ['other'] ['document'])).". ";

ParseTemplate ($term_paper ['templates'] ['result']);

flush ();

*/

$result [] =$string;

$found++;

}

fclose ($OpenDataFile);

if (! $found)

{

$term_paper ['other'] ['error'] =$term_paper ['error'] ['NoFound'];

ParseTemplate ($term_paper ['templates'] ['error']);

}

else

{

$term_paper ['other'] ['navigation'] =term_paper_array_navigation (

(isset ($result))? $result: null,

(isset ($term_paper ['other'] ['MaxShow']))? $term_paper ['other'] ['MaxShow']: null,

(isset ($term_paper ['other'] ['MaxPages']))? $term_paper ['other'] ['MaxPages']: null,

"? query=". $UserQuery. "&SearchPage=",

(isset ($_GET ['SearchPage']))? $_GET ['SearchPage']: null,

null,

null,

(isset ($term_paper ['color'] ['NotActive']))? $term_paper ['color'] ['NotActive']: null,

null,

(isset ($term_paper ['color'] ['CurrentPage']))? $term_paper ['color'] ['CurrentPage']: null,

null,

null,

" "

);

$term_paper ['strings'] =$term_paper_array_navigation;

while (list ($number,$string) =each ($term_paper ['strings'] ['result_strings']))

{

$term_paper ['other'] ['num'] =$term_paper ['strings'] ['count_all_strings'] - $term_paper ['strings'] ['start_string'] - $number;

list ($term_paper ['other'] ['link'],$term_paper ['other'] ['title'],$term_paper ['other'] ['document']) =split (" ",$string,3);

$term_paper ['other'] ['document'] =substr ($term_paper ['other'] ['document'],0,$term_paper ['other'] ['MaxChars']);

$term_paper ['other'] ['document'] =trim (preg_replace ("/". $query. "/i","<b>\\0</b>",$term_paper ['other'] ['document'])).". ";

ParseTemplate ($term_paper ['templates'] ['result']);

flush ();

}

}

$term_paper ['other'] ['query'] =htmlspecialchars ($UserQuery);

$term_paper ['other'] ['docs'] = (empty ($found))?"ноль": $found;

$term_paper ['other'] ['time'] =round (term_paper_time () - $FirstTime,3);

ParseTemplate ($term_paper ['templates'] ['stat']);

if (! empty ($found))

ParseTemplate ($term_paper ['templates'] ['navigation']);

ParseTemplate ($term_paper ['templates'] ['bottom']);

}

}

else

{

$LoadingBody=null;

$OpenLoadingFile=fopen ($term_paper ['dir'] ['templates']. chr (47). $term_paper ['template'] ['parse']. chr (47). $term_paper ['templates'] ['loading'],'r');

$LoadingBody=fread ($OpenLoadingFile,filesize ($term_paper ['dir'] ['templates']. chr (47). $term_paper ['template'] ['parse']. chr (47). $term_paper ['templates'] ['loading']));

fclose ($OpenLoadingFile);

$term_paper ['other'] ['LoadingHtmlCode'] =addslashes (term_paper_strip_new_line ($LoadingBody));

ParseTemplate ($term_paper ['templates'] ['form']);

}

? >

<br><br><br>

<div align="center">

<table>

<tr><a href=". /down.html">На главную</a></tr>

<tr><img src=". /img/logo_pic. gif"></tr>

</table></div>

Листинг admin. php

<? php

function error ($error,$file) {exit ('<font face="verdana" size="1" color="#de0000"><b>'. $error. '<br> ['.htmlspecialchars ($file). '] </b></font>'); }

@set_time_limit (0);

@SetLocale (LC_ALL,"ru_RU. CP1251");

if (isset ($_GET))

while (list ($key,$value) =each ($_GET))

$$key=$value;

header ("Expires: Mon, 26 Jul 1997 05: 00: 00 GMT");

header ("Last-Modified:". gmdate ("D, d M Y H: i: s")." GMT");

header ("Cache-Control: no-store, no-cache, must-revalidate");

header ("Cache-Control: post-check=0, pre-check=0", false);

header ("Pragma: no-cache");

function read_dir ($dir)

{

if ($OpenDir=opendir ($dir))

{

while ( ($file=readdir ($OpenDir))! ==false)

{

if ($file! =". "&&$file! =". ")

{

if (is_dir ($dir. chr (47). $file))

{

if (! is_readable ($dir. chr (47). $file))

error ("нет прав для чтения текущий папки",$dir. chr (47). $file);

elseif (! is_writeable ($dir. chr (47). $file))

error ("нет прав для записи в текущую папку",$dir. chr (47). $file);

else

read_dir ($dir. chr (47). $file);

}

else

{

if (! is_readable ($dir. chr (47). $file))

error ("нет прав для чтения файла",$dir. chr (47). $file);

elseif (! is_writeable ($dir. chr (47). $file))

error ("нет прав для записи в файл",$dir. chr (47). $file);

}

}

}

}

else error ("нет прав",$dir);

}

function CheckConf ($conf)

{

while (list ($section,$array) =each ($conf))

while (list ($key,$value) =each ($array))

if (! strlen ($value))

error ("В файле параметров скрипта, а именно в секции <font color=green>". $section. "</font>, пуст ключ <font color=green>". $key. "</font>",$conf ['dir'] ['path']. "/". $conf ['dir'] ['inc']. "/config. inc. dat");

}

if (! is_readable (". /inc")) error ("нет прав для чтения текущий папки",". /inc");

elseif (! is_writeable (". /inc")) error ("нет прав для записи в текущую папку",". /inc");

elseread_dir (". /inc");

$term_paper=parse_ini_file (". /inc/config. inc. dat",1);

CheckConf ($term_paper);

include (". /inc/functions. inc. php");

if (isset ($_SERVER ['QUERY_STRING']) &&$_SERVER ['QUERY_STRING'] =="exit")

{

$_COOKIE=null;

setcookie ($term_paper ['script'] ['prefix']. "password",null);

}

#$term_paper ['sections'] =array (

#10=>"Создание базы (индексация сайта)",

#20=>"Смена пароля",

#);

$term_paper ['sections'] =array (

'Основное меню'=>array (

'10'=>'создание базы (индексация сайта) '

),

'Пароль'=>array (

'20'=>'смена пароля'

),

'Информация'=>array (

'30'=>'версия PHP интерпретатора',

'40'=>'операционная система'

)

);

function CheckPostRequest ()

{

global $term_paper;

if (! count ($_POST)) return 0;

elseif (! isset ($_POST ['password'])) return 0;

elseif (strlen ($_POST ['password']) ==32) return 0;

else

{

setcookie ($term_paper ['script'] ['prefix']. "password",md5 ($_POST ['password']));

$_COOKIE [$term_paper ['script'] ['prefix']. "password"] =md5 ($_POST ['password']);

return 1;

}

}

function CheckAdminPassword ($password)

{

global $term_paper;

$PasswordFile=term_paper_read_file (". /inc/password. inc. dat");

if (! isset ($password)) return 0;

elseif (! isset ($PasswordFile [0])) return 0;

elseif (strlen ($password) ==32&&isset ($_COOKIE [$term_paper ['script'] ['prefix']. "password"]) &&$_COOKIE [$term_paper ['script'] ['prefix']. "password"] ==$PasswordFile [0]) return 1;

elseif ($password==$PasswordFile [0]) return 1;

elsereturn 0;

}

if (CheckPostRequest ()) $term_paper ['access'] =CheckAdminPassword ($_COOKIE [$term_paper ['script'] ['prefix']. "password"]);

else$term_paper ['access'] =CheckAdminPassword ( (! isset ($_COOKIE [$term_paper ['script'] ['prefix']. "password"]))? null: $_COOKIE [$term_paper ['script'] ['prefix']. "password"]);

if (empty ($term_paper ['access']))

{

if (isset ($_POST ['password'])) $term_paper ['status'] ="пароль не опознан, повторите ввод";

$term_paper ['section'] ['name'] ="Вход в управление";

$term_paper ['result'] ='<br><table border="0" align="center" cellspacing="0" cellpadding="1">

<form method="post">

<tr><td align="right"><font face="verdana" size="1" color="maroon">Пароль: </td><td><input type="password" name="password" size="30" class="name" onfocus="id=className" onblur="id=\'\'"" style="font: italic; width: 165px" value=""></td></tr>

<tr><td height="10"></td></tr>

<tr><td align="right" colspan="2">

<table border="0" cellspacing="0" cellpadding="1" bgcolor="#000000">

<tr><td><input type="submit" value="Выполнить вход" class="submit" style="width: 163px"></td></tr>

</table>

</td></tr>

<tr><td height="20"></td></tr>

</form>

</table>';

}

else

{

$term_paper ['status'] ="<a href='?". term_paper_char_generator ("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890",32). "'><font color=#de0000>Главное меню</font></a>";

$term_paper ['result'] = (! isset ($term_paper ['result']))? null: $term_paper ['result'];

$term_paper ['section'] ['name'] ="Выберите нужное Вам действие";

$term_paper ['result']. ="<table border=0 width=80% align=center>";

$term_paper ['NewSections'] =array ();

#while (list ($a,$b) =each ($term_paper ['sections']))

#$term_paper ['result']. ="<tr><td><a href='? section=". ( ($a+1) *2*3*4*5*6*7*8*90). "'><font face=verdana size=1>". $void++. chr (46). chr (32). ucfirst ($b). "</a></td></tr>";

while (list ($a,$b) =each ($term_paper ['sections']))

{

$term_paper ['result']. ="<tr><td><font face=verdana size=1><b><font color=maroon>". $a. "</font></b><ul type=square>";

while (list ($key,$value) =each ($b))

{

$term_paper ['result']. ="<li><a href='? section=". ( ($key+1) *2*3*4*5*6*7*8*90). "'><font face=verdana size=1><i>". ucfirst ($value). "</i></a></li>";

$term_paper ['NewSections'] [$key] =$value;

}

$term_paper ['result']. ="</ul></td></tr>";

Страницы: 1, 2, 3


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.