Вопрос по формам в free версии

#
Вопрос по формам в free версии
Известно, что модуля формы в free версии нет, в ерсии 3.2 я выходил из этой ситуации при помощи страниц добавления постов в гостевую книгу например, все ручками происываешь и работает на ура, не много не удобно, но работает, сегодня начал делать подобное в версии 4 и сталкнулся с тем что такая же фишка уже не прокатит, т.к. id дополнительных полей прописываются только в структуре сайта, судя по тому что там уже по дефолту прописаны автор и e-mail а туда уже ничего не добавишь.
Короче есть какой то другой способ добавления полей при постинге соощения в версии 4?
Я лично, кроме того что взять динамическую страницу из версии 3.2, не нашел.

И сразу еще один вопрос, опять таки по формам, захотел прицепить форма обратной связи (сторонний скрипт), короче самая обычная форма, отсылаются данные на файл mail.php для обработки, а вместо страницы типа ваше сообщение отправлено, выдается только белый экран, подскажите как прицепить скрипт?
Форма отправки:
<form action="/mail.php" method="post">
<table cellpadding="0" cellspacing="0" border="0">
<tr valign="top">
<td height="24">&nbsp;Ваше имя:</td><td><input type="text" name="username" size="35" maxlength="30" /></td></tr>
<tr valign="top">
<td height="24">&nbsp;Ваш E-mail:</td><td><input type="text" name="mailfrom" size="35" maxlength="30" /></td></tr>
<tr valign="top">
<td>&nbsp;Текст сообщения:</td><td><textarea cols="30" rows="10" name="question"></textarea></td></tr>
<tr>
<td height="30"></td><td align="right"><input type="submit" name="ok" value="Отправить" /></td></tr></table>
</form>

Вот сам скрипт:
<?
$mailto="MAIL";  //Ваш E-mail
// Больше ничего менять не надо
Error_Reporting(E_ALL & ~E_NOTICE);
$ip=$GLOBALS['REMOTE_ADDR'];
$mailfrom=$_POST['mailfrom'];
$mailfrom=substr($mailfrom,0,25);
$username=$_POST['username'];
$username=substr($username,0,25);
if (empty($ok))
{
?>
      <?
}
else
{

if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$username))

{
$error = "<center><div style='background: #BABABA;
width:500px; height:auto; padding: 5px 5px 5px 5px; text-align:center; vertical-align:middle;'>Не верно заполнено поле: <strong>Ваше имя</strong><br />";
  }

      if(!preg_match("/^([a-z,0-9,_,.])+\@([a-z,0-9])+(\.([a-z,0-9])+)+$/", $mailfrom))
     {
     $error = "<center><div style='background: #BABABA;
width:500px; height:auto; padding: 5px 5px 5px 5px; text-align:center; vertical-align:middle;'>Не верно заполнено поле: <strong>Ваш E-mail</strong><br />";
     }

     if (empty($question))
     {
            $error .= "<center><div style='background: #BABABA;
width:500px; height:250px; padding: 5px 5px 5px 5px; text-align:center; vertical-align:middle;'>Не заполнено поле: <strong>Текст сообщения</strong><br />
";
     }
    if ($error)
   {
            echo $error;
            echo "<a href=\"javascript:history.go(-1)\" class=\"text\">Вернуться назад</a></div></center>";
            exit;
     }
   $subject="Письмо с сайта от $username";
      $body="Имя:\n$username\n\nE-mail:\n$mailfrom\n\nТекст сообщения:\n$question\n\n IP: $ip\n\n";
      $sucess = mail($mailto, $subject, $body, "From: $mailfrom\nX-Mailer: PHP/" . phpversion());
    if ($sucess)
     {
            echo "<center><div style='background: #BABABA;
width:500px; height:auto; padding: 5px 5px 5px 5px; text-align:center; vertical-align:middle;'>Ваше сообщение отправлено<br /><br />";
         echo "Через 3 секунды Вы будете перенаправлены на главную страницу сайта.</div></center>";
?>         
           <meta http-equiv="refresh" content="3;URL=/">
<?        
     }
}
?>
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
Модератор
#
Re: Вопрос по формам в free версии
Varkolak писал(а):
Известно, что модуля формы в free версии нет, в ерсии 3.2 я выходил из этой ситуации при помощи страниц добавления постов в гостевую книгу например, все ручками происываешь и работает на ура, не много не удобно, но работает, сегодня начал делать подобное в версии 4 и сталкнулся с тем что такая же фишка уже не прокатит, т.к. id дополнительных полей прописываются только в структуре сайта, судя по тому что там уже по дефолту прописаны автор и e-mail а туда уже ничего не добавишь.

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

Varkolak писал(а):
И сразу еще один вопрос, опять таки по формам, захотел прицепить форма обратной связи (сторонний скрипт), короче самая обычная форма, отсылаются данные на файл mail.php для обработки, а вместо страницы типа ваше сообщение отправлено, выдается только белый экран, подскажите как прицепить скрипт?

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

По представленному Вами скрипту в начале кода идет проверка:

if (empty($ok))

судя по тому, что $ok вообще отсутствует в приведенном фрагменте, Вы получаете белую страницу:
if (empty($ok))
{
?>
      <?
}
#
Re: Вопрос по формам в free версии
HostCMS, т.е. теперь добавление полей наоборот облегчено? теперь ненадо прописывать для каждого поле id в типовой странице? достаточно прописать xml тег и все?
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com
Модератор
#
Re: Вопрос по формам в free версии
Varkolak писал(а):
т.е. теперь добавление полей наоборот облегчено?

каких именно полей?

Varkolak писал(а):
теперь ненадо прописывать для каждого поле id в типовой странице?

Вам нужно в соответствующие поля внести значения:

Идентификатор дополнительного свойства "Автор"     
Идентификатор дополнительного свойства "E-mail"

Varkolak писал(а):
достаточно прописать xml тег и все?

Непонятно, при чем здесь XML?
Авторизация