Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум веб-мастеров _ Веб-программирование (PHP, CGI, ASP, ...) _ Отправка сообщений с сайта

Автор: Виктор 23.9.2007, 16:56

Здравствуйте!
Кто может посоветовать хороший код для отправки сообщений с сайта, с проверкой заполненных полей?

Автор: sashkovishe 23.9.2007, 19:16

Цитата(Виктор)
Здравствуйте!Кто может посоветовать хороший код для отправки сообщений с сайта, с проверкой заполненных полей?

Самому написать... smile.gif
Для отправки на email это будет несложно…

Автор: Виктор 23.9.2007, 20:08

если сам не могу..

Автор: sashkovishe 23.9.2007, 22:19

Цитата(Виктор)
если сам не могу..

Ну раз так, тогда вот, выкладываю свой скрипт (когда то писал я, для одного сайта) который отправляет сообщение на заданный (к коде) E-mail, с проверкой..
Может вам подойдет:
Прикрепленный файл  vopros.php ( 2.77 килобайт ) Кол-во скачиваний: 117

Автор: Виктор 25.9.2007, 18:24

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

Автор: sashkovishe 25.9.2007, 19:39

Цитата(Виктор)
и мне нужно чтобы нажимая на кнопку посетитель переходил на нужную мне страничку, а все заполненные данные отправлялись на указанный в скрипте майл. Ну что-то вроде того!

Ну это все делается так примерно:
Код

if (@$go)
{
if (mail($to, $subject, $body)) {
Header(”Location: <нужная страница.php>”);
} else { echo "Ошибка отправки сообщение”; }
}

Где переменные:
$go – имя кнопки формы (name)
$to адрес получателя, $subject – тема сообщения, $body – текст сообщения

Автор: gid 25.9.2007, 20:22

Цитата
у меня есть форма заказа большая, и мне нужно чтобы нажимая на кнопку посетитель переходил на нужную мне страничку, а все заполненные данные отправлялись на указанный в скрипте майл. Ну что-то вроде того!


Есть до предела простой скрипт-обработчи данных из форм отправленных через метод POST, писал для одного из своих проектов:
Код
<?php
@header("Content-type: text/html; charset=windows-1251");
@header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                     // дата в прошлом
@header("Last-Modified: " . gmdate("D, d M Y H:i:s", 10000) . " GMT"); // 1 января 1970
@header("Cache-Control: no-store, no-cache, must-revalidate");         // HTTP/1.1
@header("Cache-Control: post-check=0, pre-check=0", false);            // еще раз, для надежности
@header("Pragma: no-cache");


if (isset($_POST))
{
$tmp = "";
foreach ($_POST as $key => $val)
{
$tmp .= $key . ": " . $val . "\r\n----------\r\n";
}
if (mail("Ваш_ящик@домен.ру", "Тема письма", $tmp)) echo "Ваше сообщение отправленно!";
else echo "Ошибка!!!";
}else echo "Ошибка!!! Не заполнены поля формы!!!";
?>

ps
для данного скрипта не имеет значение, сколько элементов есть в форме, будут обработанны все.

Автор: Виктор 27.9.2007, 17:16

Спасибо вам большое! А как сделать так, чтобы не все поля были обязательными?

Автор: Виктор 29.9.2007, 23:01

А например только сообщение и майл, а имя не обязательно (ну это в стандартных формах)

Разве никто не знает? Помогите, очень нужно!

Автор: sashkovishe 30.9.2007, 7:11

Цитата(Виктор)
А например только сообщение и майл, а имя не обязательно (ну это в стандартных формах)

Если для двух полей, ну можно поставить просто проверку, просто проверять именно эти два поля и все...
Код
if (trim($_POST['email']) == '')
{
    echo "Ошибка! Не заполнено поле email";
}
if (trim($_POST['mass']) == '')
{
    echo "Ошибка! Не заполнено поле сообщение";
}


Автор: Виктор 30.9.2007, 12:52

Хорошо, а такой скрипт можно использовать, когда нужно допустим 7 из 20 полей сделать обязательными? Просто перечислить как там?

Автор: sashkovishe 30.9.2007, 20:04

Цитата
Хорошо, а такой скрипт можно использовать, когда нужно допустим 7 из 20 полей сделать обязательными? Просто перечислить как там?

Да, просто перечислить какие поля обязательны к заполнению и все... или можно поступить проще (объединить все обязательные поля в одно условие) , например:
Код
if (trim($_POST['name']) == '' || trim($_POST['email']) == '' || trim($_POST['mess']) == '') < и т.д.... > )
{
    echo "Ошибка! Вы Не заполнили обязательные поля!!! ";
}

p.s. " || " – означает "или"... фун-ия trim удаляет из начала и конца строки пробелы

Автор: Виктор 1.10.2007, 20:41

Код
// <<< - Stoned Animations online © 2000 - 2001 - >>>


// All you need to change is the e-mail addy:
$email = '';
$subject = '';

//foreach ($HTTP_POST_VARS as $var) {
foreach ($HTTP_POST_VARS as $key => $value) {
    $text .= "$key = $value \n";
}

$from = $HTTP_POST_VARS['name'] . ' ' . $HTTP_POST_VARS['email'];
mail($email,$subject,$text,"From: $from\nReply-To: $from\n");

?>

<html>

<head>
<title>Отправлено!</title>
</head>

<body bgcolor="#ffffff" text="#000000">

<p align="center"><font size="2" face="Arial"><b>Ваш заказ был успешно отправлен!!! В ближайшее время наши сотрудники свяжутся с вами!!! Спасибо за использование нашего сервиса!</b></font>

</body>

</html>



Вот, у меня есть такой скрипт. Он отсылает все что была заполнено в форме на указанный в нем майл. Но не проверяет заполнены ли поля. sad.gif Я вставил в него тот код который Вы мне дали, но почему-то сообщение не отправляется вообще. huh.gif
Скажите кто может в чем тут проблема.

Автор: sa†ana 2.10.2007, 3:46

Цитата(Виктор @ 1.10.2007, 21:41) *

Я вставил в него тот код который Вы мне дали, но почему-то сообщение не отправляется вообще. huh.gif
Скажите кто может в чем тут проблема.
- ну чтобы ответить нужно посмотреть подправленный код...

Этот код должен работать....
Код
<?
// <<< - Stoned Animations online © 2000 - 2001 - >>>

// All you need to change is the e-mail addy:

//foreach ($HTTP_POST_VARS as $var) {
foreach ($HTTP_POST_VARS as $key => $value) {
    $text .= "$key = $value \n";
}
if (trim($_POST['name']) == '' || trim($_POST['email']) == '' || trim($_POST['mess']) == '') /*< и т.д.... >*/
{
    echo "Ошибка! Вы Не заполнили обязательные поля!!! ";
}
else
{
  $from = $HTTP_POST_VARS['name'] . ' ' . $HTTP_POST_VARS['email'];
  mail($email,$subject,$text,"From: $from\nReply-To: $from\n");
}
?>
<html>
  <head>
    <title>Отправлено!</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <p align="center"><font size="2" face="Arial"><b>Ваш заказ был успешно отправлен!!! В
    ближайшее  время наши сотрудники свяжутся с вами!!! Спасибо за использование нашего сервиса!  
    </b></font>
  </body>
</html>

Осталось лишь подправить условие

Автор: Виктор 2.10.2007, 22:27

не работает все равно! Нажимаю отправить, потом открывается страница на которой написано ошибка Вы ввели не все поля формы а внизу сообщение что письмо отправлено (но оно не отправилось).

Автор: gid 2.10.2007, 23:04

Может в форме используется метод передачи данных GET? Тогда нужно заменить $HTTP_POST_VARS на $HTTP_GET_VARS и $_POST на $_GET.

А вообще, вот мой переработанный скрипт:

Код

<?php
@header("Cache-Control: no-store, no-cache, must-revalidate");

$need_val = array("name", "email", "mess"); // Имена обязательных полей, указывать обязательно в том же регистре что и в форме


if (isset($_GET))
{
$have_val = array_keys($_GET);

$result = array_intersect ($have_val, $need_val);

if (sizeof($result)<>sizeof($need_val)) die("Не все обязательные поля заполненны!");

$tmp = "";
foreach ($_GET as $key => $val)
{
$tmp .= $key . ": " . $val . "\r\n----------\r\n";
}


if (mail("gid87@mail.ru", "Тема письма", $tmp)) echo "Ваше сообщение отправленно!";
else echo "Ошибка отправки!!!";
}
else echo "Ошибка!!! Не заполнены поля формы!!!";
?>


ps
если не будет работать, то замените $_GET на $_POST

Автор: Виктор 12.11.2007, 22:14

Здравствуйте! Попробовал скрипт, с переменной $_GET он все время пишет что не все поля заполнены, хотя они заполнены. А с переменной $_POST с формы все отправляется, но не проверяется.

Автор: gid 12.11.2007, 22:24

А вы строчку:

Код
$need_val = array("name", "email", "mess"); // Имена обязательных полей, указывать обязательно в том же регистре что и в форме

исправили на свои значения???

Если в скрипте используется $_POST то и в форме то же должен использоваться этот метод передачи данных, т.е.:
Код
<form action="http://путь_к_скрипту.php" method="post">

Автор: Виктор 13.11.2007, 19:27

Да, исправил. В форме стоит та же переменная. Если стоит не та переменная в форуме, то скрипт всегда пишет что не все данные заполнили, а если та же, то даже если не заполнено отсылает сообщение

Автор: Виктор 16.11.2007, 18:39

Никто не поможет?

Автор: sashkovishe 16.11.2007, 21:49

Покажите полностью ваш скрипт... если можно вместе с формой...

Автор: Виктор 17.11.2007, 18:08

Код
<form name="doska" method="GET" action="http://silaautomira.ru/mailform1.php">
<table width="722" border="1" cellspacing="0" cellpadding="0" bordercolor="#A6FFED">
  <tr bgcolor="#F0FEFF">
   <td colspan="4">Поля помеченные * обязательны для заполнения. Использование
    HTML-тегов запрещено. </td>
  </tr>
  <tr bgcolor="#F0FEFF">
   <td width="142">Марка:<font color="#FF0000">*</font></td>
   <td width="218">
    <input type="text" name="marka">
   </td>
   <td width="129">Цвет:</td>
   <td width="223">
    <select id="ucUserAvtoMarketAdd_ucUserAddCarInfo_idColor" name="color">
     <option selected value="0">-</option>
     <option value="1">Бежево-красный металлик</option>
     <option value="2">Бежево-розовый</option>
     <option value="3">Бежевый</option>
     <option value="4">Белый двухслойный</option>
     <option value="5">Бело-желтый</option>
     <option value="6">Белый</option>
     <option value="7">Голубой</option>
     <option value="8">Желто-зеленый</option>
     <option value="9">Желтый</option>
     <option value="10">Зелено-голубой</option>
     <option value="11">Зелено-синий</option>
     <option value="12">Зеленый</option>
     <option value="13">Золотисто-зеленый</option>
     <option value="14">Золотисто-серый</option>
     <option value="15">Золотой</option>
     <option value="16">Коричневый</option>
     <option value="17">Красно-коричневый</option>
     <option value="18">Красный</option>
     <option value="19">Красный металлик</option>
     <option value="20">Светло-бежевый</option>
     <option value="21">Светло-желтый</option>
     <option value="22">Светло-зеленый</option>
     <option value="23">Светло-серый</option>
     <option value="24">Серебристо-бежевый</option>
     <option value="25">Серебристо-голубой</option>
     <option value="26">Серебристо-зеленый</option>
     <option value="27">Серебристо-золотой</option>
     <option value="28">Серебристо-синий</option>
     <option value="29">Серебристо-черный</option>
     <option value="30">Серебристый</option>
     <option value="31">Серебристый желто-зеленый</option>
     <option value="32">Серебристый зелено-голубой</option>
     <option value="33">Серебристый красный</option>
     <option value="34">Серебристый коричнево-зеленый</option>
     <option value="35">Серебристый металлик</option>
     <option value="36">Серебристый оранжевый</option>
     <option value="37">Серебристый серо-зеленый</option>
     <option value="38">Серебристый сине-зеленый</option>
     <option value="39">Серебристый сине-фиолетовый</option>
     <option value="40">Серебристый темно-бордовый</option>
     <option value="41">Серебристый темно-зеленый</option>
     <option value="42">Серебристый темно-красный</option>
     <option value="43">Серебристый темно-синий</option>
     <option value="44">Серебристый темно-фиолетовый</option>
     <option value="45">Серебристый темный</option>
     <option value="46">Серебристый фиолетовый</option>
     <option value="47">Серебристый ярко-зеленый</option>
     <option value="48">Серебристый ярко-красный</option>
     <option value="49">Серебристый ярко-синий</option>
     <option value="50">Серо-бежевый</option>
     <option value="51">Серо-бежевый металлик</option>
     <option value="52">Серо-белый</option>
     <option value="53">Серо-голубой</option>
     <option value="54">Серо-зеленый</option>
     <option value="55">Серо-зеленый металлик</option>
     <option value="56">Серо-фиолетовый</option>
     <option value="57">Сине-зеленый</option>
     <option value="58">Синий</option>
     <option value="59">Сливочно-белый</option>
     <option value="60">Темно-бежевый</option>
     <option value="61">Темно-бордовый</option>
     <option value="62">Темно-голубой</option>
     <option value="63">Темно-зеленый</option>
     <option value="64">Темно-коричневый</option>
     <option value="65">Темно-красный</option>
     <option value="66">Темно-серый металлик</option>
     <option value="67">Темно-синий</option>
     <option value="68">Темный серо-синий</option>
     <option value="69">Фиолетово-синий металлик</option>
     <option value="70">Фиолетовый</option>
     <option value="71">Черный</option>
     <option value="72">Ярко-белый</option>
     <option value="73">Ярко-красный</option>
     <option value="74">Ярко-синий</option>
     <option value="75">Ярко-фиолетовый</option>
     <option value="76">Бежевый металлик</option>
     <option value="77">Белый металлик</option>
     <option value="78">Золотой металлик</option>
     <option value="79">Темно-красный металлик</option>
     <option value="80">Голубой металлик</option>
     <option value="81">Желтый металлик</option>
     <option value="82">Зеленый металлик</option>
     <option value="83">Золотой металлик</option>
     <option value="84">Коричневый металлик</option>
     <option value="85">Оранж</option>
     <option value="86">Оранж металлик</option>
     <option value="87">Пурпурный металлик</option>
     <option value="88">Рубиновый</option>
     <option value="89">Серый</option>
     <option value="90">Серый металлик</option>
     <option value="91">Синий металлик</option>
     <option value="92">Светло-Коричневый</option>
     <option value="93">Темно-Зеленый металлик</option>
     <option value="94">Темно-Красный металлик</option>
     <option value="95">Темно-Фиолетовый</option>
     <option value="96">Фиолетовый металлик</option>
     <option value="97">Черный металлик</option>
     <option value="98">Розовый</option>
     <option value="99">Розовый металлик</option>
     <option value="100">Светло-Зеленый металлик</option>
     <option value="101">Светло-Голубой металлик</option>
     <option value="102">Бордовый</option>
     <option value="103">Бордовый металлик</option>
    </select>
   </td>
  </tr>
  <tr>
   <td width="142" height="35">Модель:<font color="#FF0000">*</font></td>
   <td width="218" height="35">
    <input type="text" name="model">
   </td>
   <td width="129" height="35">Цена:<font color="#FF0000">*</font></td>
   <td width="223" height="35">
    <input type="text" name="zena">
   </td>
  </tr>
  <tr bgcolor="#F0FEFF">
   <td width="142" height="30">Год выпуска:<font color="#FF0000">*</font></td>
   <td width="218" height="30" bgcolor="#F0FEFF">
    <select id="ucUserAvtoMarketAdd_ucUserAddCarInfo_yearList" name="god">
     <option selected value="NULL">-</option>
     <option value="2008">2008</option>
     <option value="2007">2007</option>
     <option value="2006">2006</option>
     <option value="2005">2005</option>
     <option value="2004">2004</option>
     <option value="2003">2003</option>
     <option value="2002">2002</option>
     <option value="2001">2001</option>
     <option value="2000">2000</option>
     <option value="1999">1999</option>
     <option value="1998">1998</option>
     <option value="1997">1997</option>
     <option value="1996">1996</option>
     <option value="1995">1995</option>
     <option value="1994">1994</option>
     <option value="1993">1993</option>
     <option value="1992">1992</option>
     <option value="1991">1991</option>
     <option value="1990">1990</option>
     <option value="1989">1989</option>
     <option value="1988">1988</option>
     <option value="1987">1987</option>
     <option value="1986">1986</option>
     <option value="1985">1985</option>
     <option value="1984">1984</option>
     <option value="1983">1983</option>
     <option value="1982">1982</option>
     <option value="1981">1981</option>
     <option value="1980">1980</option>
     <option value="1979">1979</option>
     <option value="1978">1978</option>
     <option value="1977">1977</option>
     <option value="1976">1976</option>
     <option value="1975">1975</option>
     <option value="1974">1974</option>
     <option value="1973">1973</option>
     <option value="1972">1972</option>
     <option value="1971">1971</option>
     <option value="1970">1970</option>
     <option value="1969">1969</option>
     <option value="1968">1968</option>
     <option value="1967">1967</option>
     <option value="1966">1966</option>
     <option value="1965">1965</option>
     <option value="1964">1964</option>
     <option value="1963">1963</option>
     <option value="1962">1962</option>
     <option value="1961">1961</option>
     <option value="1960">1960</option>
     <option value="1959">1959</option>
     <option value="1958">1958</option>
     <option value="1957">1957</option>
     <option value="1956">1956</option>
     <option value="1955">1955</option>
     <option value="1954">1954</option>
     <option value="1953">1953</option>
     <option value="1952">1952</option>
     <option value="1951">1951</option>
     <option value="1950">1950</option>
    </select>
   </td>
   <td width="129" height="30">Руль:</td>
   <td width="223" height="30">
    <select name="rul">
     <option value="0" selected> -</option>
     <option value="1">Правый</option>
     <option value="2">Левый</option>
    </select>
   </td>
  </tr>
  <tr>
   <td width="142" height="31">Тип кузова:<font color="#FF0000">*</font></td>
   <td width="218" height="31">
    <select id="ucUserAvtoMarketAdd_ucUserAddCarInfo_idTransportBodyType" name="kuzov">
     <option selected value="0">-</option>
     <option value="1">Внедорожник</option>
     <option value="2">Кабриолет</option>
     <option value="3">Комби</option>
     <option value="4">Купе</option>
     <option value="5">Лимузин</option>
     <option value="6">Мини-вэн</option>
     <option value="7">Пикап</option>
     <option value="8">Седан</option>
     <option value="9">Стретч</option>
     <option value="10">Тарга</option>
     <option value="11">Универсал</option>
     <option value="12">Хэтчбек</option>
     <option value="13">Фургон</option>
     <option value="14">Микроавтобус</option>
    </select>
   </td>
   <td width="129" height="31">Таможня:<font color="#FF0000">*</font></td>
   <td width="223" height="31">
    <select name="tamogn">
     <option value="0" selected>-</option>
     <option value="1">Не растаможен</option>
     <option value="2">На Россию</option>
     <option value="3">На область</option>
    </select>
   </td>
  </tr>
  <tr>
   <td width="142" height="27">Тип двигателя:</td>
   <td width="218" height="27" bgcolor="#F0FEFF">
    <select name="dvigatel" id="ucUserAvtoMarketAdd_ucUserAddCarInfo_idEngineType">
     <option selected value="0">-</option>
     <option value="1">Бензин инжектор</option>
     <option value="2">Бензин карбюратор</option>
     <option value="3">Бензин турбонаддув</option>
     <option value="4">Бензин ротор</option>
     <option value="5">Дизель</option>
     <option value="6">Турбодизель</option>
     <option value="7">Гибридный</option>
    </select>
   </td>
   <td width="129" height="27">Привод:</td>
   <td width="223" height="27">
    <select name="privod" id="ucUserAvtoMarketAdd_ucUserAddCarInfo_idDriveType">
     <option selected value="0">-</option>
     <option value="1">Задний</option>
     <option value="2">Передний</option>
     <option value="3">Полный</option>
    </select>
   </td>
  </tr>
  <tr>
   <td width="142" height="33">Объем двигателя<font color="#FF0000">*</font></td>
   <td width="218" height="33">
    <input type="text" name="obom">
   </td>
   <td width="129" height="33">Состояние:<font color="#FF0000">*</font></td>
   <td width="223" height="33">
    <select name="sostoyanie">
     <option selected value="0">-</option>
     <option value="1">Новый</option>
     <option value="2">Отличное</option>
     <option value="3">Хорошее</option>
     <option value="4">Среднее</option>
     <option value="5">После аварии</option>
     <option value="6">На запчасти</option>
    </select>
   </td>
  </tr>
  <tr>
   <td height="61" width="142">Дополнительная информация:</td>
   <td colspan="3" height="61">
    <textarea name="mess" cols="70" rows="10"></textarea>
   </td>
  </tr>
  <tr bgcolor="#F0FEFF">
   <td colspan="4">Контактная информация: </td>
  </tr>
  <tr bgcolor="#F0FEFF">
   <td width="142">Номер телефона:</td>
   <td width="218">
    <input type="text" name="telefon">
   </td>
   <td width="129" bgcolor="#F0FEFF">E-mail<font color="#FF0000">*</font></td>
   <td width="223">
    <input type="text" name="email">
   </td>
  </tr>
  <tr>
   <td width="142" height="17">Контактное лицо:<font color="#FF0000">*</font></td>
   <td width="218" height="17">
    <input type="text" name="name">
   </td>
   <td width="129" height="17">Страна:</td>
   <td width="223" height="17">
    <input type="text" name="strana">
   </td>
  </tr>
  <tr>
   <td width="142" bgcolor="#F0FEFF">Город</td>
   <td width="218" bgcolor="#F0FEFF">
    <input type="text" name="gorod">
   </td>
   <td bgcolor="#F0FEFF">WMID </td>
   <td bgcolor="#F0FEFF">
    <input type="text" name="textfield">
   </td>
  </tr>
</table> <p>
  <input type="submit" name="Submit" value="Отправить">
  <input type="reset" name="Submit2" value="Сброс">
</p>
</form>


Код
<?php
@header("Cache-Control: no-store, no-cache, must-revalidate");

$need_val = array("name", "email", "mess"); // Имена обязательных полей, указывать обязательно в том же регистре что и в форме


if (isset($_GET))
{
$have_val = array_keys($_GET);

$result = array_intersect ($have_val, $need_val);

if (sizeof($result)<>sizeof($need_val)) die("Не все обязательные поля заполненны!");

$tmp = "";
foreach ($_GET as $key => $val)
{
$tmp .= $key . ": " . $val . "\r\n----------\r\n";
}


if (mail("mail", "Тема письма", $tmp)) echo "Ваше сообщение отправленно!";
else echo "Ошибка отправки!!!";
}
else echo "Ошибка!!! Не заполнены поля формы!!!";
?>

Автор: gid 17.11.2007, 20:45

C формой все нормально, а вот в скрипте имена полей вы так и не указали. В общем, после небольшой доработки, скрипт для обработки этой формы должен выглядеть так:

Код
<?php

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

$need_val = array("marka", "model", "zena", "god", "kuzov", "tamogn", "obom", "sostoyanie", "email" , "name"); // Имена обязательных полей, указывать обязательно в том же регистре что и в форме


if (isset($_GET))
{
$have_val = array_keys($_GET);

$result = array_intersect ($have_val, $need_val);

if (sizeof($result)<>sizeof($need_val)) die("Не все обязательные поля заполненны!");

$tmp = "";

foreach($need_val as $val)
{
    if (isset($_GET[$val]))
    {
        if (empty($_GET[$val]))
        {
            die("Не все обязательные поля заполненны!");
        }
    }
    else die("Не хватает обязательных полей!");
}

foreach ($_GET as $key => $val)
{
$tmp .= $key . ": " . $val . "\r\n----------\r\n";
}


if (mail("xxx@mail.ru", "Тема письма", $tmp)) echo "Ваше сообщение отправленно!";
else echo "Ошибка отправки!!!";
}
else echo "Ошибка!!! Не заполнены поля формы!!!";
?>

Автор: Виктор 18.11.2007, 14:19

Спасибо огромное! Все заработало! Чем мне Вас отблагодарить?

Автор: Виктор 24.11.2007, 0:08

Безкорыстный народ! Буду рекомендовать Ваш форум!

Автор: gid 24.11.2007, 0:14

Этот форум и сайт в основном мое хобби, а не работа smile.gif поэтому и помогаю (ем) бескорыстно... ну не считая рекламы, которая какую-никакую но все же денюжку приносит...

ps
моя работа - ссылка в подписи + еще кое что smile.gif

Invision Power Board ()
© Invision Power Services ()