Суббота, 20.04.2024
   Джек Райан: Теория хаоса (2014) CAMRip   Золото Глории - Все 8 серий (2012/DVDRip)   Редкая группа крови - Все 8 серий (2013/SATRip)   Парфюмерша - Все 8 серий (2013/WEB-DL/1080p)   Она не могла иначе... - Все 8 серий (2013/SATRip)   Крымские истории. По следам исчезнувших цивилизаций (2014/SATRip)   Любовь не картошка - Все 8 серий (2013/SATRip)   Небесный щит - Документальный фильм (2014/HDTVRip)   Сказки Н.В. Гоголя - Сборник мультфильмов (1945-1951/DVDRip)   Крымская война - Все 3 серии (SATRip)   Эффект Богарне - Все 8 серий (2012/SATRip)   Муравьишка-хвастунишка - Сборник мультфильмов (1956-1983/DVDRip)   Гюльчатай - Все 8 серий (2012/SATRip)   Смерть от простуды (2014/SATRip)   1913-й. Мифы и реальность (HDTVRip)   Замок лгунов - Сборник мультфильмов (1960-1990/DVDRip)   Без обмана. Зубные рвачи (2014/SATRip)   По лезвию бритвы - Все 8 серий (2014/SATRip)   Центральный музей бронетанкового вооружения и техники (HDTVRip)   Лапландские сказки - Сборник мультфильмов (1990/DVDRip)   Гетеры майора Соколова - Все 8 серий (2014/SATRip)   Золотое перышко - Сборник мультфильмов (1951-1960/DVDRip)   Нюхач - Все 8 серий (2013/SATRip)   Турецкий транзит - Все 8 серий (2014/SATRip)   Пастушка и трубочист - Сборник мультфильмов (1965-1980/DVDRip)   Голоса - Все 2 серии (2014/SATRip)   Шапка-невидимка - Сборник мультфильмов (1950-1985/DVD-5)   Убить Сталина - Все 8 серий (2013/SATRip)   Следователь Протасов - 8 серий (2014/SATRip)   Бомба - Все 8 серий (2013/SATRip)   Тайна трех океанов (2014/HDTVRip)   Верь мне - Все 8 серий (2014/SATRip)   На крыльях (Дети трущоб) - Все 5 серий (2014/SATRip)   Верните Рекса - Сборник мультфильмов (1969-1986/DVD-5)   Неудача Пуаро - Все 5 серий (2002/DVDRip)   Капризная принцесса - Сборник мультфильмов (1964-1969/DVD-5)   Адъютант его превосходительства - Все 5 серий (1969/DVDRip)   Вариант «Омега» - Все 5 серий (1975/DVDRip)   Наша Вселенная - Документальный фильм (2013/BDRip/720p)   В стране невыученных уроков - Сборник мультфильмов (1956-1981/DVD-5)   Отряд специального назначения - Все 5 серий (1987/SATRip)   Атлантида. Конец мира, рождение легенды (HDRip)   Особенности национальной маршрутки (Газзила) - Все 4 серии (2013/SATRip)   Аленький цветочек - Сборник мультфильмов (1952-1977/DVD5)   Курьерский особой важности - Все 4 серии (2013/SATRip)   Дядюшка Ау - Все 3 серии (1979/DVDRip)   Птица в клетке - Все 4 серии (2013/SATRip)   Про Веру и Анфису - Сборник мультфильмов (1973-1987/DVD-5)   Восьмидесятые - 1 сезон. Все 12 серий (2011/SATRip)   Причал любви и надежды - Все 4 серии (2013/SATRip)   Буревестник и др. - Сборник мультфильмов (1996-2004/DVD5)   Серьезные отношения - Все 4 серии (2013/HDTVRip)   Тайна (Секрет) - Документальный фильм (DVDRip)   Рок-н-ролл под Кремлем - Все 4 серии (2013/SATRip)   Рукавичка - Сборник мультфильмов (1963-1996/DVDRip)   Наука голодания - Документальный фильм (DVDRip)   Пока живу, люблю - Все 4 серии (2013/SATRip)   Полный 6-дневный курс - Верни себе зрение (DVDRip)   Диверсанты - Все 4 серии (2013/SATRip)   Про всех на свете - Сборник мультфильмов (1973-1987/DVD5)   Суперсооружения Третьего рейха - Все 6 серий (2013/HDTVRip)   Не отпускай меня - Все 4 серии (2014/SATRip)   Доктор Смерть - Все 4 серии (2014/SATRip)   Воины мира - 11 серий (SATRip)   Жизнь рассудит - Все 4 серии (2014/SATRip)   Земляничный дождик - Сборник мультфильмов (1973-1991/DVD5)   Судья - Все 4 серии (2014/SATRip)   Discovery. Наука сексуальной привлекательности (DVDRip)   Солнышко на нитке - Сборник мультфильмов (1946-1986/DVD5)   Я буду ждать тебя всегда - Все 4 серии (2014/SATRip)   Игры Богов - Все 13 серий (DVDRip)   Без права на выбор - Все 4 серии (2013/DVDRip)   Шалтай-болтай - Сборник мультфильмов (1975-1984/DVD5)   Папа напрокат - Все 4 серии (2014/SATRip)   Защитница - Все 8 серий (2012/SATRip)   Еда живая и мертвая - Документальный фильм (2013/SATRip)   Кавардак - Сборник мультфильмов (1971-1989/DVD5)   Виктория - Все 8 серий (2012/SATRip)   Курск 1943. Встречный бой (2013/SATRip)   Чистая проба - Все 8 серий (2011/DVDRip)   Еда. Тайный код взломан (2014/SATRip)   Собачьи истории - Сборник мультфильмов (1950-1991/DVD5)   Спецотдел - Все 10 серий (2002/DVDRip)   Человечество. История всех нас - Все 12 серий (BDRip)   Все началось в Харбине - Все 8 серий (2013/SATRip)   Сказочки для малявочки - Сборник мультфильмов (1971-1982/DVD5)   Пандора - Все 8 серий (2011/SATRip)   Сказки о весне - Сборник мультфильмов (1949-1988/DVD5)   Линия Марты - Все 4 серии (2014/SATRip)   Ленин. Красный император - Все 3 серии (2014/SATRip)   Позывной "Стая" - Все 4 серии (2013/SATRip)   Новоселье у Братца Кролика - Сборник мультфильмов (1973-1990/DVD5)   Ключи от прошлого - Все 8 серий (2013/SATRip)   Курская битва. И плавилась броня (2013/SATRip)   Ментовские войны 4 - Все 8 серий (2008/DVDRip)   Алиса в Стране чудес. Алиса в Зазеркалье (1981-1982/DVB)   Дождаться любви - Все 4 серии (2014/SATRip)   BBC. 10 секретов сна (SATRip)   Цезарь - Все 8 серий (2013/SATRip)   Детский альбом - Сборник мультфильмов (1946-1985/DVDRip)   Убить дважды - Все 4 серии (2013/SATRip)   Романовы - Все 8 серий (2013/HDTVRip)   Ладога - дорога жизни - Все 4 серии (2014/HDTVRip)   Дед Мороз и лето - Сборник мультфильмов (1963-1981/DVDRip)   Папа в законе - Все 4 серии (2014/SATRip)   Мститель - Все 4 серии (2013/SATRip)   Ковбои в городе - Сборник мультфильмов (1973-1988/DVDRip)   Петля времени - Все 4 серии (2013/SATRip)   Золотые парни - Все 14 серий (2005/DVDRip)   Курортный туман (2012) DVDRip   Сказки Владимира Сутеева - Сборник мультфильмов (1947-1953/DVD5)   National Geographic. Самые опасные животные мира (2013/HDRip)   Снежные дорожки - Сборник мультфильмов (1948-1991/DVDRip)   Седьмая печать дьявола - Документальный фильм   Король улиц / The King of the Streets (2012) HDRip / BDRip 720p   Географ глобус пропил (2013) WEBRip   Нянюшкины сказки - Сборник мультфильмов (1946-1953/DVDRip)   И пробил час / Good Day for It (2011) HDRip   Со мною вот что происходит (2012) DVDRip   Обнаженная маха / Volaverunt (1999) DVDRip   Братва, пушки и зомби (2012) DVDRip   Чупакабра против Аламо / Chupacabra vs. the Alamo (2013) HDTVRip   На грани / Lev stærkt (2014) WEBRip   Воскрешение / A Resurrection (2013) HDRip / BDRip 720p/1080p   Последний бой - Все 3 серии (2013/DVB)   Наемный убийца / Bounty Killer (2013) HDRip / BDRip 720p/1080p   Пулевое ранение / The Kill Hole (2012) WEBDLRip / WEBDL 720p   Насмешка / Ridicule (1996) HDRip   Кома (2012) DVDRip   Невидимый / The Invisible (2007) HDRip   Златовласка - Сборник мультфильмов (1978-1991/DVDRip)   Зимушка-Зима - Сборник мультфильмов (1955-1981/DVD-5)   Кукловоды / The Puppet Masters (1994) HDRip   Про больших и маленьких - Сборник мультфильмов (1971-1985/DVD-5)   Костер тщеславий / The Bonfire of the Vanities (1990) HDRip   Взвод / Platoon (1986) HDRip   Ваш выбор, Мадам / Ça ira mieux demain (2000) DVDRip   Мосфильм. 90 шагов - 10 серий (2013/SATRip)   Два жадных медвежонка - Сборник мультфильмов (1954-1988/DVDRip)   Жесткое порно – Детективные истории (2007/SATRip)   Жестокий ручей / Злая речка / Mean Creek (2004) WEB-DLRip   Французский для начинающих / Französisch für Anfänger / French for Beginners (2006) DVDRip   Без звука / Lautlos / Soundless (2004) DVDRip   Университетский вампир / Vamp U (2013) WEBDLRip / WEBDL 720p   Контракт / The Contract (2005) HDRip   Гони бабки. Лето в Нью-Йорке / Gimme the Loot (2012) WEBDLRip   Поле битвы / Озеро скелетов / Skeleton Lake (2012) HDRip   Честь самурая (2012) DVDRip   Пустошь / The Barrens (2012) HDRip   Нахлебники / Freeloaders (2011) WEBDLRip / WEBDL 720p


Дорогие друзья и гости сайта!
За активное участие на форуме и в работе сайта у вас есть шанс не только поднять свой ранг,
но и получить свою первую и возможно не последнюю медаль,которая сможет скрасить вид вашего профиля.
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум сайта sted.ucoz.de-фильмы на любой вкус » Для вебдизайнера. » Информация для вебмастера. » Гостевая книга на PHP и MySQL
Гостевая книга на PHP и MySQL
AdminДата: Четверг, 03.09.2009, 09:33 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 1810
Медали
За первое сообщение За 5 сообщений За 10 сообщений За 15 сообщений За 20 сообщений За 25 сообщений За 30 сообщений За 35 сообщений За 40 сообщений За 45 сообщений За 50 сообщений За 100 сообщений За 150 сообщений За 200 сообщений За 250 сообщений За 300 сообщений За 350 сообщений За 400 сообщений За 450 сообщений За 500 сообщений За 550 сообщений За 600 сообщений За 650 сообщений За 700 сообщений За 750 сообщений За 800 сообщений За 850 сообщений За 900 сообщений За 950 сообщений За 1000 сообщений За 1050 сообщений За 1100 сообщений За 1150 сообщений За 1200 сообщений За 1250 сообщений За создание сайта
Очень распространенная задача для веб-мастера – как написать гостевую книгу на PHP и MySQL. Конечно же можно скачать готовый скрипт и вклеить его в свой дизайн сайта, что настоятельно не рекомендую делать. Причин для этого несколько: используя готовые скрипты мы ничему не научимся, руками мы сделаем защищённую, аккуратную и «быструю» гостевую книгу, что не всигда скажешь о скаченных.

Ничего сложного в этом нет (вполне нормальный урок для начинающего программиста на php и MySQL), да и возможности самой гостевой не самые большие: проверка вводимых пользователем данных, запись их в базу данных, постраничный вывод, возможность удалять записи. Для тех, кто хочет больше возможностей, советую создать редактирование записей и комментирование их (так же несложно).

Допустим, что у вас уже настроен PHP, MySQL и веб-сервер. Если нет и Вы не хотите возиться с муторной настройкой, то скачайте Denver – автоматически настроенный сервер, всё что нам понадобиться там ест: Apach + php + MySQL.

Конечно же начнём с создания таблицы для хранения данных гостевой книги. Всё, что нам необходимо знать от пользователя, это его имя (или ник) и сам комментарий. При желании пользователь сможет сообщить адреса электронной почты и домашней странички. Так же нам понадобится ещё одно поле: уникальный идентификатор для каждой записи. Ну и дата, конечно.

Вот что должно получиться:

Code
CREATE TABLE gb (
    id int(10) unsigned NOT NULL auto_increment,
    datetime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
    name varchar(100) NOT NULL,
    email varchar(100),
    www varchar(100),
    message text NOT NULL,
    PRIMARY KEY (id)
);

Таблица у нас есть. Теперь можно приступать к программированию.

Для создадим файл с настройками гостевой книги:

Code
<?php
// общие константы
define('PATH', '/gb/'); // путь к гостевой книге
define('RECSPERPAGE', 10); // количество записей на одной странице
define('ADMIN_EMAIL', 'artem@sapegin.ru'); // email администратора
define('ERROR_LOG_FILE', 'logs/error.log'); // файл лога ошибок

// Параметры БД
define('DBHOST', 'localhost'); // имя хоста
define('DBUSER', 'root'); // имя пользователя
define('DBPASSWD', ''); // пароль
define('DBNAME', 'test'); // имя базы данных
?>

Теперь подумаем, какие вспомогательные функции нам понадобятся. На нужно будет взаимодействовать с СУБД, проверят и обрабатывать вводимые пользователем данные. Так же для функций администрирования на понадобится отличать администратора от простых пользователей.

Начнём с работы с СУБД.

Code
<?php
/** recource db_connect ( string host, string user, string passwd, string dbname )
* Подключение к СУБД и открытие базы данных
*/
function db_connect($host, $user, $passwd, $dbname)
{
$link = mysql_pconnect($host, $user, $passwd) or die('Could not connect to database');
mysql_select_db($dbname) or die('Could not select database');
return $link;
}

/** Выполняет запрос к БД
*
* @param текст запроса
* @return resource id
*/
function db_query($query)
{
$result = mysql_query($query)
   or die('Bad database query');
return $result;
}

/** Выполняет запрос к БД (placeholder)
*
* @param текст запроса
* @param*
* @return resource id
*/
function db_query_ex($query)
{
$values = func_get_args();
array_shift($values);
$i = 0;
return db_query(preg_replace('%?%e', '"'".addslashes($values[$i++])."'"',
                 $query));
}
?>

Обработка строк (проверка и фильтрация вводимых пользователем данных).
Code
<?php
/**
* Проверяет является ли строка адресом e-mail
*/
function strings_isemail($string)
{
return preg_match('%[-.w]+@[-w]+(?:.[-w]+)+%', $string);
}

/**
* Добавление ссылок на http и e-mail
*/
function strings_addlinks($string)
{
return preg_replace(
'%((?:http|ftp)://[-w]+(?:.[-w]+)+b[-w:@&?=+,!/~*$.'%]*)(?<![.,?!)])%i',
'<a href="1">1<a>',
$string
);
}

/**
* Чистка строки
*/
function strings_clear($string)
{
$string = trim($string);
$string = stripslashes($string);
return htmlspecialchars($string, ENT_QUOTES);
}

/**
* Обрезание строки
*/
function strings_stripstring($text, $wrap, $length)
{
$text = preg_replace('%(S{'.$wrap.'})%', '1 ', $text);
return substr($text, 0, $length);
}
?>

Написание аутентификации администратора я оставляю вам в качестве домашнего задания. Есть достаточно много способов и их обсуждение - тема отдельной статьи. Я приведу лишь функцию-заглушку:
Code
<?php
/**
* Проверка: администратор или обычный пользователь
*/
function auth_is_admin()
{
return @$_GET['admin'];
}
?>

Далее идёт достаточно большой модуль, в котором содержится почти весь HTML-код гостевой книги, - шаблон. В нём нет ничего сложного и его написание можно вполне под силу верстальщику сайта, если у вас таковой имеется.
Code
<?php
/**
* заголовок страницы
*/
function template_header($page)
{
?><html>
<head>
<title>page <?=$page?> < fjGuestbook Demo</title>
<style>
body{
padding: 15px;
margin: 0;
color: #333;
background-color: #eee;
border-left: 30px solid #adba8e;
font: 500 .9em verdana, arial, helvetica;
}
a:link{color: #250;}
a:visited{color: #639;}
a:active,a:hover{
color: #c00;
text-decoration: underline;
}
h1 { font-size: 150%; }
h2 { font-size: 110%; }

.c{margin-bottom: 10px;}
.cn{
background-color: #d2d6bc;
padding: 2px 4px;
margin-bottom: 4px;
}
</style>
</head>
<body>
<h1>fjGuestbook Demo</h1><?php
}

/**
* окончание страницы
*/
function template_footer()
{
?>
<p>fjGuestbook 1.2. Copyright © 2002—2004
<a href="http://sapegin.ru">Artem Sapegin</a></p>
</body></html>
<?php
}

/**
* форма добавления новой записи
*/
function template_form($name, $email, $www, $message, $error)
{
   // вывод сообщения об ошибке
   function error($error)
   {
     if($error) echo '<br><font color=#880000>'.$error.
                     '</font>';
   }

   echo '<h2>Добавить новое сообщение</h2>
<p><table cellspacing="2" cellpadding="2" border="0">
<form action='.PATH.'?add=1 method=post><tr>
<td>Имя<font color=#880000>*</font>:</td>
<td><input type=text name="name" size=30  
   maxlength=100 value="'.$name.'">';
   @error($error['name']);
   echo '</td>
</tr><tr>
<td>Email:</td>
<td><input type=text name="email" size=30  
   maxlength=100 value="'.$email.'">';
   @error($error['email']);
   echo '</td>
</tr><tr>
<td>URL:</td>
<td><input type=text name="www" size=30  
   maxlength=100 value="'.$www.'">';
   echo '</td>
</tr><tr>
<td>Сообщение<font color=#880000>*</font>:</td>
<td><textarea cols=40 rows=5  
   name="message">'.$message.'</textarea>';
   @error($error['message']);
   echo '</td>
</tr><tr>
<td> </td>
<td><small><font color=#880000>*</font>
— Обязательные поля</small></td>
</tr><tr>
<td> </td>
<td><input name="sb" type=submit  
   value="Добавить сообщение"></td>
</form></tr>
</table>';
}

/**
* печать одной записи гостевой книги
*/
function template_show_body($id, $name, $email, $www, $message, $datetime)
{
   $out = '<div class=c><div class=cn><b>'.$name.'</b>';
   // если есть email или homepage - печатаем их
   if($email || $www)
   {
     $out .= '( ';
     if($email)
       $out .= ' <a href=mailto:'.$email.'>email</a>';
     if($email && $www)
       $out .= ' | ';
     if($www)
       $out .= ' <a href='.$www.'>www</a>';
     $out .= ' )';
   }
   $out .= ' пишет '.$datetime.':</div>'.$message.'</div>';
   // если гостевую книгу просматривает администратор - печатаем кнопку
   // удаления записи
   if(auth_is_admin())
   {
     $out .= '<div class=c>[ <a href='.PATH.'?admin=1&del='.$id.
             '>удалить</a> ]</div>';
   }

   return $out;
}

?>

И вот, мы наконец-то дошли до главного. До модуля гостевой книги. Постараюсь написать побольше комментариев, чтобы вам было понятно.
Code
<?php
/**
* Создание таблицы, если её ещё нет
*/
function gb_install()
{
db_query(
'CREATE TABLE IF NOT EXISTS gb (
id int(10) unsigned NOT NULL auto_increment,
datetime datetime NOT NULL default '0000-00-00 00:00:00',
name varchar(100) NOT NULL default '',
email varchar(100) default NULL,
www varchar(100) default NULL,
message text NOT NULL,
PRIMARY KEY (id),
INDEX (datetime)
) TYPE=MyISAM;'
);
}

/**
* Добавление записи в гостевую книгу
*/
function gb_add($name, $email, $www, $message, &$error)
{
// проверяем правильность заполнения полей
$error = '';
if(empty($name))
$error['name'] = 'Это обязательное поле';
if(empty($message))
$error['message'] = 'Это обязательное поле';
if(!empty($email) && !strings_isemail($email))
$error['email'] = 'Это не email';

// если не было ошибок - добавляем
if(!$error)
{
// чистим данные
$name = strings_clear($name);
$message = strings_clear($message);
$name = strings_stripstring($name, 15, 100);
$email = strings_stripstring($email, 100, 100);
$www = strings_stripstring($www, 100, 100);
$message = strings_stripstring($message, 100, 2000);
$message = nl2br($message);

// если пользователь поленился написать http:// перед адресом - сделаем
// это за него
if(!empty($www) && 'http://' != substr($www, 0, 7))
$www = 'http://'.$www;

// запрос на добавление записи в базу данных
db_query_ex('INSERT INTO gb (name, email, www, message, datetime)
        VALUES(?, ?, ?, ?, NOW())', $name, $email, $www, $message);
// перекидываем браузер на первую страницу
// это нужно, чтобы, если пользователь нажмет кнопку Refresh,
// запись не добавилась еще раз
header('Location: '.PATH."?page=1");
}
}

// удаление записи из гостевой книги
function gb_delete($id)
{
   // запрос на удаление записи из базы данных
   // WHERE id = '.$id указывает на запись, которую следует удалить
   db_query_ex('DELETE FROM gb WHERE id = ?', $id);
   header('Location: '.PATH."?page=1"); // ???
}

// вывод страницы с записями
function gb_show($page)
{
// положение первой записи страницы
$begin = ($page - 1) * 10;
// выборка записей из базы данных
// SELECT * FROM gb - все поля из бд gb
// ORDER BY datetime DESC - сортировка по дате, новые сверху
// LIMIT '.$begin.','.RECSPERPAGE - ограничение:
// RECSPERPAGE (см. defines.php) записей начиная с $begin
$result = db_query('SELECT * FROM gb ORDER BY datetime DESC LIMIT '.
                     $begin.', '.RECSPERPAGE);
$out = '';

// цикл по всем выбранным записям
while($row = mysql_fetch_array($result))
$out .= template_show_body($row['id'], $row['name'], $row['email'],
   $row['www'], $row['message'], $row['datetime']);

// уничтожаем результат
mysql_free_result($result);

echo $out;
}

// вывод списка страниц
function gb_showpages($current)
{
// узнаем число записей в гостевой книге
$result = db_query('SELECT * FROM gb');
$rows = mysql_num_rows($result);
if($rows)
{
$pages = ceil($rows / RECSPERPAGE);

// печатаем ссылки на страницы (номер текущей страницы не является ссылкой)
echo '<div class=c>';
for($i = 1; $i <= $pages; $i++)
{
if($i != $current)
echo ' | <a href='.PATH.'?page='.$i.'>'.$i.'</a>';
else
echo ' | '.$i;
}
echo ' |';

// если это не полследняя страница печатаем ссылку "Дальше"
if($current < $pages)
echo ' >a href='.PATH.'?page='.($current + 1).
      '>Дальше >></a>';
echo '</div>';
}
}

?>

И последнее - объединяем всё вместе.

<?php
/**
* fjGuestbook 1.2
*
* Ядро гостевой книги
*
* Copyright 2002-2004 Artem Sapegin
* http://sapegin.ru
*/

// подключаем модули
require_once 'my/defines.php';
require_once 'my/template.php';

require_once 'engine/lib/strings.php';
require_once 'engine/lib/auth.php';
require_once 'engine/lib/bd.php';
require_once 'engine/gb.php';

// подключаемся к БД
db_connect(DBHOST, DBUSER, DBPASSWD, DBNAME);

// создаём таблицу, если её нет
gb_install();

// получаем данные формы, если форма была отправлена
if (!empty($_POST['sb']))
{
$name = @$_POST['name'];
$email = @$_POST['email'];
$www = @$_POST['www'];
$message = @$_POST['message'];
$formerr = '';
}
else
{
$name = $email = $www = $message = $formerr = '';
}

// если в GET-запросе не указан номер страницы, выводим первую
if(is_numeric(@$_GET['page']))
   $page = $_GET['page'];
else
   $page = 1;

// если нужно добавить запись, добавляем
if(@$_GET['add'])
   gb_add($name, $email, $www, $message, $formerr);

// если нужно удалить запись, удаляем
if(isset($_GET['del']) && auth_is_admin())
   gb_delete(intval($_GET['del']));

// печатаем гостевую книгу
template_header($page);
gb_showpages($page);
gb_show($page);
gb_showpages($page);
template_form($name, $email, $www, $message, $formerr);
template_footer();

?>

Как видите, ничего сложного не было.


 
Форум сайта sted.ucoz.de-фильмы на любой вкус » Для вебдизайнера. » Информация для вебмастера. » Гостевая книга на PHP и MySQL
  • Страница 1 из 1
  • 1
Поиск:

Sted.ucoz.de - Фильмы на любой вкус,скрипты,рецепты,тосты,анегдоты,и многое другое.Реклама,сотрудничество,предложения-обращаться к администратору сайта. © 2024