Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Модуль формы оставления заявок, не работает как сделать?

Модуль формы оставления заявок, не работает как сделать?


     10.12.2014    Все вопросы » Модули    3741

вопрос
Всем привет.
Други выручайте!

Делаю такой модуль как вакансии с формами для отправки заявки.

Сделал так:
engine/modules/newsmaker.php

<?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004,2011 SoftNews Media Group
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: feedback.php
-----------------------------------------------------
Назначение: обратная связь
=====================================================
*/

if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

if( isset( $_POST['send'] ) ) {
include_once ENGINE_DIR . '/classes/mail.class.php';
$mail = new dle_mail( $config );
$tema = "ЗАЯВКА НА ВАКАНСИЮ NEWSMAKER ";
$opt = $_POST['opt'];

$email=trim(htmlspecialchars($_POST["email"]));
if(strlen($email)=="0"){$error.="Заполните поле <b>E-Mail</b><br>";}
elseif(!preg_match("/[0-9a-z_]+@[0-9a-z_^.-]+.[a-z]{2,3}/i",$email))
{
$error.="Вы ввели неверный <b>E-Mail</b><br>";
}

$name=trim(htmlspecialchars($_POST["name"]));
if(strlen($name)=="0"){$error.="Заполните поле <b>Ваше имя</b><br>";}
$nickname=trim(htmlspecialchars($_POST["nickname"]));
if(strlen($nickname)=="0"){$error.="Заполните поле <b>Ваш никнейм ( Псевдоним )</b><br>";}
$age=trim(htmlspecialchars($_POST["age"]));
if(strlen($age)=="0"){$error.="Заполните поле <b>Ваш возраст</b><br>";}
$city=trim(htmlspecialchars($_POST["city"]));
if(strlen($city)=="0"){$error.="Заполните поле <b>Ваш город</b><br>";}
$work=trim(htmlspecialchars($_POST["work"]));
if(strlen($work)=="0"){$error.="Заполните поле <b>Как с вами связаться</b><br>";}
$osebe=trim(htmlspecialchars($_POST["osebe"]));
if(strlen($osebe)=="0"){$error.="Заполните поле <b>Расскажите о себе</b><br>";}


if(@$error){
    msgbox("Внимание, обнаружена ошибка!", $error);  
}else{
    
$test = <<<HTML
<b>ЗАЯВКА НА ВАКАНСИЮ NEWSMAKER</b><br/><br/>
Email: {$email}<br/>
Имя: {$name}<br/>
Псевдоним: {$nickname}<br/>
Возраст: {$age}<br/>
Город: {$city}<br/>
Опыт работы: {$opt}<br/>
Способ связи: {$work}<br/>
Рассказ о себе: {$osebe}<br/>
HTML;



$mail->send( $config['admin_mail'], $tema, $test);
msgbox("ЗАЯВКА ПРИНЯТА", "Ваша заявка на вакансию <b>NEWSMAKER</b> будет рассмотрена в ближайшее время.");  
}            
}


            
$tpl->load_template( 'newsmaker.tpl' );                
$tpl->copy_template = "<form  method=\"post\" id=\"sendmail\" name=\"sendmail\" action=\"\">\n" . $tpl->copy_template . "<input name=\"send\" type=\"hidden\" value=\"send\" /></form>";
$tpl->compile( 'newsmaker' );
$tpl->clear();
    
?>


Это модуль формы для заявки на вакансию newsmaker

Потом так:
engine/modules/moviemaker.php

<?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004,2011 SoftNews Media Group
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: feedback.php
-----------------------------------------------------
Назначение: обратная связь
=====================================================
*/

if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

if( isset( $_POST['send'] ) ) {
include_once ENGINE_DIR . '/classes/mail.class.php';
$mail = new dle_mail( $config );
$tema = "ЗАЯВКА НА ВАКАНСИЮ MOVIEMAKER ";

$email=trim(htmlspecialchars($_POST["email"]));
if(strlen($email)=="0"){$error.="Заполните поле <b>E-Mail</b><br>";}
elseif(!preg_match("/[0-9a-z_]+@[0-9a-z_^.-]+.[a-z]{2,3}/i",$email))
{
$error.="Вы ввели неверный <b>E-Mail</b><br>";
}

$name=trim(htmlspecialchars($_POST["name"]));
if(strlen($name)=="0"){$error.="Заполните поле <b>Ваше имя</b><br>";}
$nickname=trim(htmlspecialchars($_POST["nickname"]));
if(strlen($nickname)=="0"){$error.="Заполните поле <b>Ваш никнейм ( Псевдоним )</b><br>";}
$age=trim(htmlspecialchars($_POST["age"]));
if(strlen($age)=="0"){$error.="Заполните поле <b>Ваш возраст</b><br>";}
$city=trim(htmlspecialchars($_POST["city"]));
if(strlen($city)=="0"){$error.="Заполните поле <b>Ваш город</b><br>";}
$work=trim(htmlspecialchars($_POST["work"]));
if(strlen($work)=="0"){$error.="Заполните поле <b>Как с вами связаться</b><br>";}
$prime=trim(htmlspecialchars($_POST["prime"]));
if(strlen($prime)=="0"){$error.="Заполните поле <b>Пример ваших работ</b><br>";}
$osebe=trim(htmlspecialchars($_POST["osebe"]));
if(strlen($osebe)=="0"){$error.="Заполните поле <b>Расскажите о себе</b><br>";}


if(@$error){
    msgbox("Внимание, обнаружена ошибка!", $error);  
}else{
    
$test = <<<HTML
<b>ЗАЯВКА НА ВАКАНСИЮ MOVIEMAKER</b><br/><br/>
Email: {$email}<br/>
Имя: {$name}<br/>
Псевдоним: {$nickname}<br/>
Возраст: {$age}<br/>
Город: {$city}<br/>
Способ связи: {$work}<br/>
Пример работ: {$prime}<br/>
Рассказ о себе: {$osebe}<br/>
HTML;



$mail->send( $config['admin_mail'], $tema, $test);
msgbox("ЗАЯВКА ПРИНЯТА", "Ваша заявка на вакансию <b>MOVIEMAKER</b> будет рассмотрена в ближайшее время.");  
}            
}


            
$tpl->load_template( 'moviemaker.tpl' );                
$tpl->copy_template = "<form  method=\"post\" id=\"sendmail\" name=\"sendmail\" action=\"\">\n" . $tpl->copy_template . "<input name=\"send\" type=\"hidden\" value=\"send\" /></form>";
$tpl->compile( 'moviemaker' );
$tpl->clear();
    
?>


Это модуль формы для заявки на вакансию moviemaker

в index.php прописал:

где: require_once ROOT_DIR . '/engine/init.php';

Ниже вставил:
require_once(ENGINE_DIR. '/modules/newsmaker.php');
require_once(ENGINE_DIR. '/modules/moviemaker.php');

тут же:

if($do!="vacancy"){
$tpl->load_template( 'main.tpl' );
}else{
$tpl->load_template('vacancymain.tpl');

}

$tpl->set ( '{calendar}', $tpl->result['calendar'] );
$tpl->set ( '{archives}', $tpl->result['archive'] );
$tpl->set ( '{tags}', $tpl->result['tags_cloud'] );
$tpl->set ( '{vote}', $tpl->result['vote'] );
$tpl->set ( '{topnews}', $tpl->result['topnews'] );
$tpl->set ( '{login}', $tpl->result['login_panel'] );
$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );
$tpl->set('{newsmaker}', $tpl->result['newsmaker']);
$tpl->set('{moviemaker}', $tpl->result['moviemaker']);

в engine.php:

после: switch ( $do ) {

вставил:
case "vacancy" :
include ENGINE_DIR . '/modules/vacancy.php';
break;

тут же где: elseif ($subaction == 'newposts') $nam_e = $lang['title_new'];

ниже вставил:
elseif ($do == 'vacancy') $nam_e= "Вакансии игрового проекта";


в шаблоне создал фал vacancymain.tpl
в нём подключил шаблон: vacancy.tpl

содержимое vacancy.tpl:


<script>
$(document).ready(function() { // вся магия после загрузки страницы
    $('a#go').click( function(event){ // ловим клик по ссылки с id="go"
        event.preventDefault(); // выключаем стандартную роль элемента
        $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
             function(){ // после выполнения предъидущей анимации
                $('#modal_form')
                    .css('display', 'block') // убираем у модального окна display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
        });
    });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке
        $('#modal_form')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
                function(){ // после анимации
                    $(this).css('display', 'none'); // делаем ему display: none;
                    $('#overlay').fadeOut(400); // скрываем подложку
                }
            );
    });
});
$(document).ready(function() { // вся магия после загрузки страницы
    $('a#go2').click( function(event){ // ловим клик по ссылки с id="go"
        event.preventDefault(); // выключаем стандартную роль элемента
        $('#overlay2').fadeIn(400, // сначала плавно показываем темную подложку
             function(){ // после выполнения предъидущей анимации
                $('#modal_form2')
                    .css('display', 'block') // убираем у модального окна display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
        });
    });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $('#modal_close2, #overlay2').click( function(){ // ловим клик по крестику или подложке
        $('#modal_form2')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
                function(){ // после анимации
                    $(this).css('display', 'none'); // делаем ему display: none;
                    $('#overlay2').fadeOut(400); // скрываем подложку
                }
            );
    });
});
$(document).ready(function() { // вся магия после загрузки страницы
    $('a#go3').click( function(event){ // ловим клик по ссылки с id="go"
        event.preventDefault(); // выключаем стандартную роль элемента
        $('#overlay3').fadeIn(400, // сначала плавно показываем темную подложку
             function(){ // после выполнения предъидущей анимации
                $('#modal_form3')
                    .css('display', 'block') // убираем у модального окна display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
        });
    });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $('#modal_close3, #overlay3').click( function(){ // ловим клик по крестику или подложке
        $('#modal_form3')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
                function(){ // после анимации
                    $(this).css('display', 'none'); // делаем ему display: none;
                    $('#overlay3').fadeOut(400); // скрываем подложку
                }
            );
    });
});
</script>
{info}
    <table style=";width:100%;"><tbody><tr><td style="vertical-align:top;width: 100px;padding-top:5px;padding-left: 20px;">
    <div class="vocancyblog">NEWSMAKER</div>
    </td><td colspan="2" style="vertical-align:top;padding-top: 13px;padding-right: 20px">
   <div class="block-poloski"></div>
    </td></tr><tr><td colspan="3" style="vertical-align:top;padding-top: 5px;font-family: 'Droid Sans', sans-serif;font-size:14px;color: #5e5e5e;padding-left: 20px;line-height: 1.6em;">
       Наша команда ищет добросовестного и амбициозного ньюсмейкера.  В нашем проекте и в мире кибер-спорта происходит не мало интересных событий которые необходимо опубликовывать на нашем сайте.

    </td></tr><tr><td style="vertical-align:top;width: 170px;padding-top:55px;padding-left: 20px;">
     <img src="{THEME}/images/newsmaker.png" alt="" />
    </td><td style="vertical-align:top;font-family: 'Droid Sans', sans-serif;font-size:14px;color: #5e5e5e;padding-top:20px;line-height: 1.6em;">
      <b> <div class="jir">Обязанности: </div> </b><br/>
  - Публикация новостей команды и не маловажных новостей мира кибер спорта на сайте<br/><br/>
  <b><div class="jir">Требование: </div></b><br/>
- Грамотное правописание<br/>
- Умение правильно высказывать свои мысли и преподносить материал<br/>
- Умение оперативно находить интересную и актуальную информацию в сети<br/>
- Умение работать в фотошопе<br/>
- Возраст 18+<br/><br/>
    </td><td style="vertical-align:top;padding-top:200px;float:right;padding-right: 60px;">
     <div class="texto"><a href="#" class="texto" id="go"> <div class="ostavitz"><center>ОСТАВИТЬ ЗАЯВКУ</center></div></a></div>
    </td></tr></tbody></table>
    
    
    
    
<table style=";width:100%;"><tbody><tr><td style="vertical-align:top;width: 100px;padding-top:5px;padding-left: 20px;">
    <div class="vocancyblog">MOVIEMAKER</div>
    </td><td colspan="2" style="vertical-align:top;padding-top: 13px;padding-right: 20px">
   <div class="block-poloski"></div>
    </td></tr><tr><td colspan="3" style="vertical-align:top;padding-top: 5px;font-family: 'Droid Sans', sans-serif;font-size:14px;color: #5e5e5e;padding-left: 20px;line-height: 1.6em;">
        Наша команда ищет творческого и креативного  мувимейкера. В мире кибер-спорта ни одная команда не обходиться без столь важной профессии. Наша команда является одной из таких где требуется мувимейкер для создания мувиков и интересных моментов по CSS и DOTA2.

    </td></tr><tr><td style="vertical-align:top;width: 170px;padding-top:85px;padding-left: 20px;">
     <img src="{THEME}/images/movie.png" alt="" />
    </td><td style="vertical-align:top;font-family: 'Droid Sans', sans-serif;font-size:14px;color: #5e5e5e;padding-top:20px;line-height: 1.6em;">
       <b> <div class="jir">Обязанности: </div> </b><br/>
    - Создавать мувики, хайлаты по CS:S,DOTA2<br />
- Создавать мини ролики на любую тему нашего проекта<br /><br />
  <b><div class="jir">Требование: </div></b><br/>
- Умение работать с HLAE<br />
- Умение работать с Sony Vegas <br />
- Умение работать с After Effects <br />
- Умение работать в фотошопе<br/>
- Возраст 18+<br/><br/>
    </td><td style="vertical-align:top;padding-top:220px;float:right;padding-right: 60px;">
  <div class="texto"><a href="#" class="texto" id="go2"> <div class="ostavitz"><center>ОСТАВИТЬ ЗАЯВКУ</center></div></a></div>
    </td></tr></tbody></table>
    
    <table style=";width:100%;"><tbody><tr><td style="vertical-align:top;width: 100px;padding-top:5px;padding-left: 20px;">
    <div class="vocancyblog">STREAMMAKER</div>
    </td><td colspan="2" style="vertical-align:top;padding-top: 13px;padding-right: 20px">
   <div class="block-poloski"></div>
    </td></tr><tr><td colspan="3" style="vertical-align:top;padding-top: 5px;font-family: 'Droid Sans', sans-serif;font-size:14px;color: #5e5e5e;padding-left: 20px;line-height: 1.6em;">
Мы нуждаемся в опытном и позитивном стримере. Наша команда играет не мало интересных матчей и нам необходима прямая трансляция наших игр по CS:S и DOTA2.
    </td></tr><tr><td style="vertical-align:top;width: 170px;padding-top:55px;padding-left: 20px;">
     <img src="{THEME}/images/stream.png" alt="" />
    </td><td style="vertical-align:top;font-family: 'Droid Sans', sans-serif;font-size:14px;color: #5e5e5e;padding-top:20px;line-height: 1.6em;">
       <b> <div class="jir">Обязанности: </div> </b><br/>
    - Вести стримы матчей по CS:S и DOTA2<br /><br />
  <b><div class="jir">Требование: </div></b><br/>
- Хорошее железо<br/>
- Отличный микрофон<br/>
- Опыт вести стримы<br/>
- Желание развиваться<br/>
- Возраст 18+<br/><br/>
    </td><td style="vertical-align:top;padding-top:200px;float:right;padding-right: 60px;">
<div class="texto"><a href="#" class="texto" id="go3"> <div class="ostavitz"><center>ОСТАВИТЬ ЗАЯВКУ</center></div></a></div>
    </td></tr></tbody></table>
    
    
    
    
    <div id="modal_form"><!-- Само окно -->
    
    
    <table style=";width:100%;"><tbody><tr><td style="vertical-align:top;width: 110px;padding-top:17px;padding-left: 20px;">
      <div class="vocancyblog">NEWSMAKER</div>
    </td><td style="vertical-align:top;width: 610px;padding-top: 25px;">
     <div class="block-poloski"></div>
     </td><td style="vertical-align:top">
         <span id="modal_close">    <div class="imgclosed"></div></span> <!-- Кнопка закрыть -->
    </td></tr></tbody></table>
    
    
[not-group=5]
[b]{newsmaker}[/b]
[/not-group]
[group=5]
<br><br><br><br>
<center><div class="closed">ДОСТУП ЗАПРЕЩЁН!</div><br />
Зарегистрируйтесь или войдите под своим логином и паролем!</center><br />
{include file="login_page.tpl"}<br />

    
[/group]
</div>
<div id="overlay"></div><!-- Подложка -->

    <div id="modal_form2"><!-- Само окно -->
    
    
    <table style=";width:100%;"><tbody><tr><td style="vertical-align:top;width: 110px;padding-top:17px;padding-left: 20px;">
      <div class="vocancyblog">MOVIEMAKER</div>
    </td><td style="vertical-align:top;width: 610px;padding-top: 25px;">
     <div class="block-poloski"></div>
     </td><td style="vertical-align:top">
         <span id="modal_close2">    <div class="imgclosed"></div></span> <!-- Кнопка закрыть -->
    </td></tr></tbody></table>
    
    
        
[not-group=5]
[b]{moviemaker}[/b]
[/not-group]
[group=5]
<br><br><br><br>
<center><div class="closed">ДОСТУП ЗАПРЕЩЁН!</div><br />
Зарегистрируйтесь или войдите под своим логином и паролем!</center><br />
{include file="login_page.tpl"}<br />

    
[/group]


</div>
<div id="overlay2"></div><!-- Подложка -->
    
    
    <div id="modal_form3"><!-- Само окно -->
    
    
    <table style=";width:100%;"><tbody><tr><td style="vertical-align:top;width: 110px;padding-top:17px;padding-left: 20px;">
    <div class="vocancyblog">STREAMMAKER</div>
    </td><td style="vertical-align:top;width: 610px;padding-top: 25px;">
     <div class="block-poloski"></div>
     </td><td style="vertical-align:top">
         <span id="modal_close3">     <div class="imgclosed"></div></span> <!-- Кнопка закрыть -->
    </td></tr></tbody></table>
    
    
    
[not-group=5]
Привет3
[/not-group]
[group=5]
<br><br><br><br>
<center><div class="closed">ДОСТУП ЗАПРЕЩЁН!</div><br />
Зарегистрируйтесь или войдите под своим логином и паролем!</center><br />
{include file="login_page.tpl"}<br />

    
[/group]


</div>
<div id="overlay3"></div><!-- Подложка -->



Когда заполняю форму где moviemaker то оправляется сразу же с двух форм и с newsmaker и moviemaker.

Модуль формы оставления заявок, не работает как сделать?


Как сделать что бы они работали не зависимо друг от друга!

Помогите пожалуйста!

Мозги кипятком...

Заранее спасибо!

Ответа пока нет


2 комментария

DEWERGENT
Юзер

DEWERGENT - 10 декабря 2014 16:26 -

ПОМОГИТЕ!

DEWERGENT
Юзер

DEWERGENT - 10 декабря 2014 18:53 -

ребяяятаааа

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх