Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.04.2014, 18:20
Новичок на форуме
Отправить личное сообщение для hardwolf Посмотреть профиль Найти все сообщения от hardwolf
 
Регистрация: 08.04.2014
Сообщений: 3

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


Сайт писал не я, да и знаний у меня по javascript совсем нет. Пытаюсь понять куда уходят сообщения и вообще уходят ли они. Т.к. в Админке нет формы приема сообщений. Получается мне надо прописать где то адрес моей почты? Извините за нубские вопросы...

Если не сложно, подскажите как действовать дальше?
Фраза типа: начать изучать Java не ответ

<div class="popup" id="popup">

    {* Фон *}
    <div class="popup_bg" onclick="javascript:hidePopup();"></div>

    {* форма *}
    <div class="popup_form">

        <img src="/templates/{$template}/images/online_order_top_bg.gif" width="700" height="19" alt="" class="popup_form_bg" style="top: -19px;">
        <img src="/templates/{$template}/images/online_order_bottom_bg.gif" width="700" height="19" alt="" class="popup_form_bg" style="bottom: -19px;">


        <img src="/templates/{$template}/images/close.gif" class="close" alt="" onclick="javascript:hidePopup();">

        <p id="popup_head">Снять квартиру!</p>

        <form method="post" enctype="application/x-www-form-urlencoded" id='rent'>

            <p id="name_text"><strong>Имя</strong>&nbsp;<span></span></p>
            <input type="text" name="name" value="" class="form_field" id="name" />

            <p id="email_text"><strong>Телефон *</strong>&nbsp;<span></span></p>
            <input type="text" name="email" value="" class="form_field" id="email" />

            <p id="phone_text"><strong>E-mail *</strong>&nbsp;<span></span></p>
            <input type="text" name="phone" value="" class="form_field" id="phone" />

            <p><strong>Комментарий</strong></p>
            <textarea rows="5" cols="50" name="comment"></textarea>

            <input type="hidden" name="form_name" value="" id='form_name' />
            <input type="hidden" name="do" value="send_order" />


            <p style="padding-top: 30px;"><input type="submit" name="send" value=" Отправить " class="button" onclick="if (!checkForm(['name', 'email', 'phone'], 'phone')) return false;" /></p>

        </form>

    </div>
</div>



{* Подтверждение отправки сообщения *}
<div class="popup" id="popup_confirm" {if $smarty.get.success == 1} style="display: block" {/if}>

    {* Фон *}
    <div class="popup_bg"></div>

    {* форма *}
    <div class="popup_form">

        <img src="/templates/{$template}/images/online_order_top_bg.gif" width="700" height="19" alt="" class="popup_form_bg" style="top: -19px;">
        <img src="/templates/{$template}/images/online_order_bottom_bg.gif" width="700" height="19" alt="" class="popup_form_bg" style="bottom: -19px;">

        <p style="padding: 0 30px;">Сообщение было успешно отправлено. В ближайщее время с Вами свяжутся наши менеджеры.</p>

        <p style="padding: 30px;">
            <input type="button" name="send" value=" ОК! " class="button" onclick="javascript:document.location.href='/';" />
        </p>

        <div style="width: 100%; clear: both;"></div>

    </div>
</div>
Ответить с цитированием
  #2 (permalink)  
Старый 09.04.2014, 00:31
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от hardwolf
уходят ли они.
Предоставленный код не дает ответ на этот вопрос. Action не указан, скрипт, который отправлял бы после самбмита, тоже...
Сообщение от hardwolf
Фраза типа: начать изучать Java не ответ
да и не поможет.
Ответить с цитированием
  #3 (permalink)  
Старый 09.04.2014, 14:37
Новичок на форуме
Отправить личное сообщение для hardwolf Посмотреть профиль Найти все сообщения от hardwolf
 
Регистрация: 08.04.2014
Сообщений: 3

Сообщение от BETEPAH Посмотреть сообщение
Предоставленный код не дает ответ на этот вопрос. Action не указан, скрипт, который отправлял бы после самбмита, тоже...
ясно.. значит не с того начал... что искать тогда? С чего начать?
Ответить с цитированием
  #4 (permalink)  
Старый 09.04.2014, 18:27
Аспирант
Отправить личное сообщение для SeGun Посмотреть профиль Найти все сообщения от SeGun
 
Регистрация: 29.01.2013
Сообщений: 43

Нужен параметр Action для формы, который передаст ваши переменные скрипту для отправки сообщения.
Разберитесь с работой form action submit и передачей параметров скрипту для отправки.
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2014, 13:36
Новичок на форуме
Отправить личное сообщение для hardwolf Посмотреть профиль Найти все сообщения от hardwolf
 
Регистрация: 08.04.2014
Сообщений: 3

Вроде бы то, что нужно файл show.action.php.

<?php
//	Запрет на обращение к файлу.
if (realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
	header('Location: /');
	exit();
}



// Отправка формы
$e = array(
    'all'	=>	false,
    'email'	=>	false,
    'name'	=>	false,
    'phone'	=>	false,
);

$name = '';
$email = '';
$phone = '';
$comment = '';
$form_name = '';

if (text::get_post('do') == 'send_order'){

    $name = htmlspecialchars(stripcslashes(text::get_post('name')));
    $email = htmlspecialchars(stripcslashes(text::get_post('phone')));
    $phone = htmlspecialchars(stripcslashes(text::get_post('email')));
    $comment = htmlspecialchars(stripcslashes(text::get_post('comment')));
    $form_name = htmlspecialchars(stripcslashes(text::get_post('form_name')));

    if (text::check_mail($email) === false)
        $e['all'] = $e['email'] = true;

    if ($name == '')
        $e['all'] = $e['name'] = true;

    if ($phone == '')
        $e['all'] = $e['phone'] = true;

    if ($e['all'] === false) {

        $mail = 'victor@gmail.com';

        $subj = 'Заявка с сайта '.$_SERVER['SERVER_NAME'].' ('.$form_name.')';

        $mail_body = '
            <p>Заявка: '.$form_name.'</p>
            <p>Контактное лицо: '.$name.'</p>
            <p>Телефон: '.$phone.'</p>
            <p>E-mail: '.$email.'</p>
            <p>Комментарий: '.$comment.'</p>
        ';

        sendMail($mail, $subj, $mail_body);
        header("Location: ".$_SERVER['REQUEST_URI'].(preg_match('/\?/', $_SERVER['REQUEST_URI'])?'&':'?').'success=1');
        exit();
    }

}





$date = self::getConf('date');
$current_lang = self::getConf('curlang');
$__template = self::getConf('tpl');
$db_table_prefix = self::getConf('db_table_prefix');
$tree = self::getConf('tree');
$dbh = self::getConf('dbh');

// Для показа статических страниц нужно разобрать URL
$url = eregi_replace("\?(.*)$", '', $_SERVER['REQUEST_URI']);
$url = eregi_replace("index\.html$", '', $url);

if (!preg_match("/\/(".preg_replace('/'.self::getConf('deflang').'\|/', '', implode('|', self::getConf('langs'))).")/i", $url))
	$url = '/ru'.$url;

$aStrings = explode("/", preg_replace("/^\/(.*)\/?$/U", "\\1", $url));

/*	Создание запроса для поиска страницы.	*/
$f = '';
$w = '';
foreach ($aStrings as $key => $value) {
	//	Строка в FROM
	$f .= '`'.$db_table_prefix.'pages` `p'.$key.'`,';
	//	Строка в WHERE. Для всех уровней.
	$w .= ($w != ''?' AND ':'').' `p'.$key.'`.`alias` = "'.$value.'" AND `p'.$key.'`.`level` = '.($key+1);
	if (isset($aStrings[$key+1]))
		//	Строка в WHERE. Для чилдренов.
		$w .= ' AND `p'.$key.'`.`left` < `p'.($key+1).'`.`left` AND `p'.$key.'`.`right` > `p'.($key+1).'`.`right`';
}
$f = ereg_replace(",$", '', $f);
$query = "SELECT `p".(count($aStrings)-1)."`.* FROM ".$f." WHERE ".$w;

//	Получение информации о странице.
if (!$result_row = $DB->selectRow($query)) {
	//	Страница не найдена. Попытка ввода url вручную или поломались ключи у дерева (врятли).
	require_once DOC.'/error404.php';
}

/*		Шаблон страницы.	*/
$tpl = is_null($result_row['template'])?'index':is_file(System_Settings::getSmarty_template_dir().$result_row['template'].'.tpl')?$result_row['template']:'index';


$c = components($result_row['text'], $db_table_prefix);
$result_row['text'] = $c[0];

foreach ($result_row as $key => $value) {
	if ($key != 'text')
		$result_row[$key] = text::stsl($value);
}

foreach ($result_row as $key => $value)
	$result_row[$key] = stripcslashes($value);


/**
 * Получение хлебных крошек.
 */
$resource = $tree->enumPath($result_row['id'], false);
$parents = array();
while ($data = $dbh->fetch_array($resource))
{
	$parents[] = $data;
}
	
//	Определение заголовков.
$page_title = $result_row['title']!=''?$result_row['title']:$result_row['name'];
self::setTemplatesVar($tpl, 'page_title', isset($c[1]) && $c[1] !== false?$c[1]:$page_title);

self::setTemplatesVar($tpl, 'page', $result_row);
self::setTemplatesVar($tpl, 'parents', $parents);
self::setTemplatesVar($tpl, 'url', isset($aStrings[3])?$aStrings[3]:null);
// Шаблон для вывода статических страниц
self::SetTemplates($tpl);
Ответить с цитированием
  #6 (permalink)  
Старый 12.04.2014, 18:42
Аспирант
Отправить личное сообщение для SeGun Посмотреть профиль Найти все сообщения от SeGun
 
Регистрация: 29.01.2013
Сообщений: 43

Отправка почты с сайта
Приведу 2 простых файла которые отправляют почту с сайта:
1й сама форма для отправки form.html


<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<html>
  <head> </head>
  <body>
function check(form)
{
 if((form.name.value=="")||(form.theme.value=="")||(form.message.value=="")||(form.e_mail.value==""))
 {
 alert("Вы заполнили не все поля!");
 return false;
 }
 else
 return true;
}
</script>
<script language="javascript">
function checkEmail(inputvalue){	
    var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    if(pattern.test(inputvalue))
	{   
	return true;  
    }
	
	else
	{   
	alert("Вы неверно заполнили поле E-mail!");
    return false;
    }
}
</script>
<form name="contacts" method="POST" action="send.php"  onsubmit="return check(contacts)">
<center>
<table class="name_fields">
	<tr>
		<td><div align="left">Ваше имя</div></td>
		<td><div align="left">
		  <input type="text" name="name" size="40" onfocus="this.style.background='#e0f7bd'" onblur="this.style.background='#ffffff'">
		  </div></td>
	</tr>
	<tr>
		<td><div align="left">Тема</div></td>
		<td><div align="left">
		  <input type="text" name="theme" size="40" onfocus="this.style.background='#e0f7bd'" onblur="this.style.background='#ffffff'">
		  </div></td>
	</tr>
	<tr>
		<td><div align="left">Сообщение</div></td>
		<td><div align="left">
		  <textarea rows="10" name="message" cols="40" onfocus="this.style.background='#e0f7bd'" onblur="this.style.background='#ffffff'"></textarea>
		  </div></td>
	</tr>
	<tr>
		<td><div align="left">Ваш E-mail</div></td>
		<td><div align="left">
		  <input type="text" name="e_mail" size="40" onfocus="this.style.background='#e0f7bd'" onblur="this.style.background='#ffffff'">
		  </div></td>
	</tr>
<td valign="top" colspan="2" align="center"><table border="0" width="80%">
	<tr>
		<td align="center">
		<p><font color="#008000"></font></td>
		<td align="center">
</td>
		<td align="center">
	</tr>
</table></td>
	<tr>
		<td colspan="2">
		<p align="center"><input type=submit value="Отправить" onClick="return checkEmail(document.contacts.e_mail.value)">
</td>
	</tr>
</table>
</center>
</form>
  </body>
</html>


Второй send.php скрипт получающий данные формы и отправляющий
эти данные на e-mail
<?
$name=$_POST['name'];
$subject=$_POST['theme'];
$e_mail=$_POST['e_mail'];
$headers=$_POST['headers'];
$message=$_POST['message'];
/* Адрес получателя*/
$toMail = 'receiver@mail.ru';
$headers  = "From: $name <$e_mail> \n";
    mail ("$toMail", "$subject", 
"\nИмя : $name
E-mail : $e_mail
Тема сообщения : $subject
Подробнее : $message\n\n", "$headers");
?>


Пример далёк от совершенства, но даёт представление о том как это работает
Ответить с цитированием
  #7 (permalink)  
Старый 30.11.2014, 08:38
Аспирант
Отправить личное сообщение для kaflan Посмотреть профиль Найти все сообщения от kaflan
 
Регистрация: 11.11.2014
Сообщений: 48

Сообщение от SeGun Посмотреть сообщение
Приведу 2 простых файла которые отправляют почту с сайта:
1й сама форма для отправки form.html


<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<html>
  <head> </head>
  <body>
function check(form)
{
 if((form.name.value=="")||(form.theme.value=="")||(form.message.value=="")||(form.e_mail.value==""))
 {
 alert("Вы заполнили не все поля!");
 return false;
 }
 else
 return true;
}
</script>
<script language="javascript">
function checkEmail(inputvalue){	
    var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    if(pattern.test(inputvalue))
	{   
	return true;  
    }
	
	else
	{   
	alert("Вы неверно заполнили поле E-mail!");
    return false;
    }
}
</script>
<form name="contacts" method="POST" action="send.php"  onsubmit="return check(contacts)">
<center>
<table class="name_fields">
	<tr>
		<td><div align="left">Ваше имя</div></td>
		<td><div align="left">
		  <input type="text" name="name" size="40" onfocus="this.style.background='#e0f7bd'" onblur="this.style.background='#ffffff'">
		  </div></td>
	</tr>
	<tr>
		<td><div align="left">Тема</div></td>
		<td><div align="left">
		  <input type="text" name="theme" size="40" onfocus="this.style.background='#e0f7bd'" onblur="this.style.background='#ffffff'">
		  </div></td>
	</tr>
	<tr>
		<td><div align="left">Сообщение</div></td>
		<td><div align="left">
		  <textarea rows="10" name="message" cols="40" onfocus="this.style.background='#e0f7bd'" onblur="this.style.background='#ffffff'"></textarea>
		  </div></td>
	</tr>
	<tr>
		<td><div align="left">Ваш E-mail</div></td>
		<td><div align="left">
		  <input type="text" name="e_mail" size="40" onfocus="this.style.background='#e0f7bd'" onblur="this.style.background='#ffffff'">
		  </div></td>
	</tr>
<td valign="top" colspan="2" align="center"><table border="0" width="80%">
	<tr>
		<td align="center">
		<p><font color="#008000"></font></td>
		<td align="center">
</td>
		<td align="center">
	</tr>
</table></td>
	<tr>
		<td colspan="2">
		<p align="center"><input type=submit value="Отправить" onClick="return checkEmail(document.contacts.e_mail.value)">
</td>
	</tr>
</table>
</center>
</form>
  </body>
</html>


Второй send.php скрипт получающий данные формы и отправляющий
эти данные на e-mail
<?
$name=$_POST['name'];
$subject=$_POST['theme'];
$e_mail=$_POST['e_mail'];
$headers=$_POST['headers'];
$message=$_POST['message'];
/* Адрес получателя*/
$toMail = 'receiver@mail.ru';
$headers  = "From: $name <$e_mail> \n";
    mail ("$toMail", "$subject", 
"\nИмя : $name
E-mail : $e_mail
Тема сообщения : $subject
Подробнее : $message\n\n", "$headers");
?>


Пример далёк от совершенства, но даёт представление о том как это работает
а без пхп вообще ни как? тоесть вообще если я его не знаю не хочу чтобы для меня не было, не поняток в коде.
Ответить с цитированием
  #8 (permalink)  
Старый 30.11.2014, 09:16
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от kaflan
а без пхп вообще ни как?
Ну ставь ноду и пиши на js. Вобще на чем хошь на том и делай. Хоть на C++, хоть на Java
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 30.11.2014, 09:53
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от kaflan
а без пхп вообще ни как? тоесть вообще если я его не знаю не хочу чтобы для меня не было, не поняток в коде.
используй mailto в надежде, что у пользователя установлен почтовый клиент и корректно задана ассоциация на почтовую программу по умолчанию
Ответить с цитированием
  #10 (permalink)  
Старый 30.11.2014, 23:20
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от kaflan
а без пхп вообще ни как?
Есть варианты с использованием google form и google docs, но подробностей не знаю. Пример использования. Попробуйте погуглить.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
контактная форма исчезает после отправки сообщения( gumapumba Общие вопросы Javascript 3 16.12.2013 22:29
Резиновые дивы с прокруткой Java Script Mary-Jay Элементы интерфейса 10 24.07.2013 17:51
Очистка textarea после отправки сообщения Hayate jQuery 3 06.08.2012 12:40
Форма отправки сообщения в скрипте нового окна I-love_Chicago Общие вопросы Javascript 4 24.09.2010 14:02
Форма отправки сообщения в скрипте отдельного окна I-love_Chicago Элементы интерфейса 10 30.08.2009 23:16