born2rich
Писатель
- Регистрация
- 14 Фев 2012
- Сообщения
- 9
- Реакции
- 2
- Автор темы
- #1
Делаю сложную форму обратной связи в модальном окне. Она работает, но при обработке формы, окно закрывается, и сообщение результата типа "Ваша форма отправлена" или "Вы неправильно заполнили поля формы" не видно.
Буду благодарен за любые советы!
Код:
<?php
session_start();
$admin = 'born2rich@mail.ru';
if ( isset( $_POST['sendMail'] ) ) {
$name = substr( $_POST['name'], 0, 64 );
$email = substr( $_POST['email'], 0, 64 );
$subject = substr( $_POST['subject'], 0, 64 );
$message = substr( $_POST['message'], 0, 250 );
$error = '';
if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>';
if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>';
if ( empty( $subject ) ) $error = $error.'<li>Не заполнено поле "Тема"</li>';
if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>';
if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) )
$error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>';
if ( !empty( $error ) ) {
$_SESSION['sendMailForm']['error'] = '<p>При заполнении формы были допущены ошибки:</p><ul>'.$error.'</ul>';
$_SESSION['sendMailForm']['name'] = $name;
$_SESSION['sendMailForm']['email'] = $email;
$_SESSION['sendMailForm']['subject'] = $subject;
$_SESSION['sendMailForm']['message'] = $message;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
$body = "АВТОР:\r\n".$name."\r\n\r\n";
$body .= "E-MAIL:\r\n".$email."\r\n\r\n";
$body .= "ТЕМА:\r\n".$subject."\r\n\r\n";
$body .= "СООБЩЕНИЕ:\r\n".$message;
$body = quoted_printable_encode( $body );
$theme = '=?windows-1251?B?'.base64_encode('Feedback').'?=';
$headers = "From: ".$_SERVER['SERVER_NAME']." <".$email.">\r\n";
$headers = $headers."Return-path: <".$email.">\r\n";
$headers = $headers."Content-type: text/plain; charset=\"windows-1251\"\r\n";
$headers = $headers."Content-Transfer-Encoding: quoted-printable\r\n\r\n";
if ( mail($admin, $theme, $body, $headers) )
$_SESSION['success'] = true;
else
$_SESSION['success'] = false;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
function quoted_printable_encode ( $string ) {
// rule #2, #3 (leaves space and tab characters in tact)
$string = preg_replace_callback (
'/[^\x21-\x3C\x3E-\x7E\x09\x20]/',
'quoted_printable_encode_character',
$string
);
$newline = "=\r\n"; // '=' + CRLF (rule #4)
// make sure the splitting of lines does not interfere with escaped characters
// (chunk_split fails here)
$string = preg_replace ( '/(.{73}[^=]{0,3})/', '$1'.$newline, $string);
return $string;
}
function quoted_printable_encode_character ( $matches ) {
$character = $matches[0];
return sprintf ( '=%02x', ord ( $character ) );
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Persborker.ru - Персональный брокер</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="">
<meta name="keywords" content="">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="css/styles.css" media="screen" />
<link rel="stylesheet" type="text/css" href="css/slideshow_style.css" media="screen" />
<link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<link rel="stylesheet" type="text/css" href="css/ui.custom.css" media="screen" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/fade_image_gallery.js"></script>
<script type="text/javascript" src="fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="js/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#forma").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none',
'padding' : '0'
});
$("#sender").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none',
'padding' : '0'
});
});
</script>
<script type="text/javascript">
$(function(){
$( "#tabs" ).tabs();
});
</script>
</head>
<body>
<!-- Header -->
<div id="head">
<div id="head-body">
<div id="logo"><a href="#"><img src="img/logo.png" title="Персональный брокер"/></a></div>
<div id="phone">
<span class="phone">(495) 669-66-82</span><br>
<span class="pht">получить консультацию</span>
</div>
<div id="question">
<a href="#inline1" id="forma">Получить консультацию</a>
<div id="skype">
<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>
<a href="skype:persbroker?call"><img src="img/skype.png" style="border: none;" width="70" height="32" alt="Skype Me™!" /></a>
</div>
<div id="icq">
<a href="http://www.icq.com/whitepages/cmd.php?uin=243300&action=message" style="text-decoration:none">
<script type="text/javascript">
<!--
document.write('<img src="http://status.icq.com/online.gif?icq=243300&img=25&rnd='+Math.random()+'" style="border:none;vertical-align:middle;" alt="243300" />')
//-->
</script>
<noscript><div style="display:inline"><img src="http://status.icq.com/online.gif?icq=243300&img=25" alt="243300" style="border:none;vertical-align:middle;" /></div></noscript></a>
</div>
</div>
<div id="office">
<div id="key"></div>
<a href="#">Вход в личный кабинет</a>
<div id="facebook"></div>
<div id="twitter"></div>
<div id="google"></div>
</div>
</div>
</div>
<!-- Slider -->
<div id="slider">
<div align="center">
<div id="hero">
<div id="features">
<!-- Points -->
<div id="feature-links">
<li> <a href="#feature-1" id="feature-link-1" class="feature-link active"></a> </li>
<li> <a href="#feature-2" id="feature-link-2" class="feature-link"></a> </li>
<li> <a href="#feature-3" id="feature-link-3" class="feature-link"></a> </li>
<li> <a href="#feature-4" id="feature-link-4" class="feature-link"></a> </li>
</div>
<!-- Account buttons -->
<div id="feature-btns">
<a href="#inline1" id="forma"><div id="account"></div></a>
<a href="#"><div id="account-demo"></div></a>
</div>
<!-- Slide 1 -->
<div style="display:block; background:url(img/slide01.png) no-repeat;" id="feature-1" class="feature-story active">
<div style="height:447px; width:984px;">
<div id="slidehd">Управляй своими финансами сомостоятельно</div>
<div id="slidecmd">У вас нет ограничений по используемым финансовым инструментам, чем ограничены обычные клиенты ПИФов</div>
</div></div>
<!-- Slide 2 -->
<div style="background:url(img/slide02.png) no-repeat;" id="feature-2" class="feature-story">
<div style="height:447px; width:984px;">
<div id="slidehd">Слоган второй</div>
<div id="slidecmd">Описание номер два</div>
</div></div>
<!-- Slide 3 -->
<div style="background:url(img/slide03.png) no-repeat;" id="feature-3" class="feature-story">
<div style="height:447px; width:984px;">
<div id="slidehd">Слоган третий</div>
<div id="slidecmd">Описание номер три</div>
</div></div>
<!-- Slide 4 -->
<div style="background:url(img/slide04.png) no-repeat;" id="feature-4" class="feature-story">
<div style="height:447px; width:984px;">
<div id="slidehd">Слоган четвертый</div>
<div id="slidecmd">Описание номер четыре</div>
</div></div>
</div>
<!-- Preload -->
<div style="background:url(img/slide01.png) no-repeat;" id="feature-1-preload" class="feature-preload"> </div>
<div style="background:url(img/slide02.png) no-repeat;" id="feature-2-preload" class="feature-preload"> </div>
<div style="background:url(img/slide03.png) no-repeat;" id="feature-3-preload" class="feature-preload"> </div>
<div style="background:url(img/slide04.png) no-repeat;" id="feature-4-preload" class="feature-preload"> </div>
</div>
</div>
</div>
<!-- Wrap -->
<div id="wrap">
<div id="wrap-body">
<!-- Left colum -->
<div id="left-column">
<div id="news">
<div id="news-head">
Что Нового ?
</div>
<div id="news-post">
<p id="date">15.07.2012<p>
<p id="post"><a href="#">Изменения списка бумаг для маржинального кредитования</a></p>
</div>
<div id="news-post">
<p id="date">09.06.2012<p>
<p id="post"><a href="#">Изменения списка бумаг для маржинального кредитования</a></p>
</div>
<div id="news-post">
<p id="date">11.05.2012<p>
<p id="post"><a href="#">Изменения списка бумаг для маржинального кредитования</a></p>
</div>
<div id="news-post" class="last">
<p id="date">02.03.2012<p>
<p id="post"><a href="#">Изменения списка бумаг для маржинального кредитования</a></p>
</div>
</div>
</div>
<!-- Right colum -->
<div id="rigth-column">
<p id="content-head">За символическую комиссию от 0,015% обьема ваших операций</p><br>
<p id="content">Вам будут доступны аналитика и торговые рекомендации в режиме реального времени, самая развитая система интернет трейденга QUIK, полноценное дистанционное обслуживание через личный кабинет клиента.</p><br>
<div id="content-columns">
<div id="content-column-left">
<div id="table-head"></div>
<table>
<tr style="font-size: 14px;">
<td>Название</td>
<td>Текущая цена</td>
<td>Рост за 5 мес.</td>
<td>Рекомендация</td>
</tr>
<tr>
<td class="bolder">Сбербанк (SBRF)</td>
<td class="t15">74,83</td>
<td class="t15" style="background:url(img/procent-bg.png) no-repeat center 8px;">+30%</td>
<td class="bolder">Накапливать</td>
</tr>
<tr>
<td colspan="3" align="left" style="background:url(img/tb-shadow.png) repeat-x;" >Крупнейший банк России, лидер по размеру собственного капитала и величине филиальной сети. Оснойной акционер - государство.</td>
<td style="background:url(img/tb-shadow.png) repeat-x;"><a href="#">Купить акции</a></td>
</tr>
<tr>
<td class="bolder">Газпром (GAZP)</td>
<td class="t15">145,01</td>
<td class="t15" style="background:url(img/procent-bg.png) no-repeat center 8px;">+25%</td>
<td class="bolder">Покупать</td>
</tr>
<tr>
<td colspan="3" align="left" style="background:url(img/tb-shadow.png) repeat-x;" >Крупнейшая газовая компания в мире.<br>Основной ационер - государство.</td>
<td style="background:url(img/tb-shadow.png) repeat-x;"><a href="#">Купить акции</a></td>
</tr>
<tr>
<td class="bolder">Сбербанк (SBRF)</td>
<td class="t15">74,83</td>
<td class="t15" style="background:url(img/procent-bg.png) no-repeat center 8px;">+30%</td>
<td class="bolder">Накапливать</td>
</tr>
<tr>
<td colspan="3" align="left" style="background:url(img/tb-shadow.png) repeat-x;" >Крупнейший банк России, лидер по размеру собственного капитала и величине филиальной сети. Оснойной акционер - государство.</td>
<td style="background:url(img/tb-shadow.png) repeat-x;"><a href="#">Купить акции</a></td>
</tr>
<tr>
<td class="bolder">Газпром (GAZP)</td>
<td class="t15">145,01</td>
<td class="t15" style="background:url(img/procent-bg.png) no-repeat center 8px;">+25%</td>
<td class="bolder">Покупать</td>
</tr>
<tr>
<td colspan="3" align="left" style="background:url(img/tb-shadow.png) repeat-x;" >Крупнейшая газовая компания в мире.<br>Основной ационер - государство.</td>
<td style="background:url(img/tb-shadow.png) repeat-x;"><a href="#">Купить акции</a></td>
</tr>
</table>
</div>
<div id="content-column-right">
<div id="start-head"></div>
<p id="start">Для доступа к торгам нужно:</p>
<p id="tip1">ОТКРЫТЬ СЧЕТ</p>
<p id="tip2">Желательно пройти обучение в одном из специализированных учебный центров</p>
<p id="tip3">Завести активы на счет: денежные средства или акции</p>
<p id="tip4">Установить программное обеспечение</p>
<p id="tip5">Выбрать торговую стратегию и приступить к работе</p>
</div>
</div>
</div>
</div>
</div>
<div id="blank"></div>
<!-- Forma -->
<div style="display: none;">
<div id="inline1" >
<div id="left-forma">
<div id="forma-head">ФОРМА ОТПРАВКИ</div><br>
<p>Для того чтобы получить консультацию от нашего специалиста, выберите тему вопроса, заполните все поля формы.</p><br><br>
<p>В течении 24 часов после отправки формы, с вами свяжется наш специалист.</p><br><br>
</div>
<div id="right-forma">
<div id="tabs">
<ul>
<li><a href="#tabs-1">Консультация</a></li>
<li><a href="#tabs-2">Открыть счет</a></li>
<li><a href="#tabs-3">Открыть демо-счет</a></li>
<li><a href="#tabs-4">Купить акции</a></li>
</ul>
<div id="tabs-1">
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<div>Ф.И.О: <input type="text" name="name" value="<?php echo $name ?>"></div>
<div>E-mail: <input type="text" name="email" value="<?php echo $email ?>"></div>
<div>Тема: <input type="text" name="subject" value="Консультация"></div>
<div>Вопрос: <textarea name="message" rows="10"><?php echo $message ?></textarea></div>
<div id="forma-btn"><input type="submit" name="sendMail" class="bt1" href="#inline1" id="forma"><br></div>
</form>
</div>
<div id="tabs-2">
</div>
<div id="tabs-3">
</div>
<div id="tabs-4">
</div>
</div>
</div>
</div>
</div>
<div style="display: none;">
<div id="inline2" >
<?php
if ( isset( $_SESSION['success'] ) ) {
if ( $_SESSION['success'] )
echo '<p>Письмо успешно отправлено</p>';
else
echo '<p>Ошибка при отправке письма</p>';
unset( $_SESSION['success'] );
}
if ( isset( $_SESSION['sendMailForm'] ) ) {
echo $_SESSION['sendMailForm']['error'];
$name = htmlspecialchars ( $_SESSION['sendMailForm']['name'] );
$email = htmlspecialchars ( $_SESSION['sendMailForm']['email'] );
$subject = htmlspecialchars ( $_SESSION['sendMailForm']['subject'] );
$message = htmlspecialchars ( $_SESSION['sendMailForm']['message'] );
unset( $_SESSION['sendMailForm'] );
} else {
$name = '';
$email = '';
$subject = '';
$message = '';
}
?>
</p>
</div>
</div>
<!-- Footer -->
<div id="footer">
<div id="footer-body">
<div id="copy">
Все замечания и пожелания присылайте на <a href="mailto:info@persbroker.ru">info@persbroker.ru</a> . <br>
Все права защищены и охраняются законом. © ООО Персональный Брокер.
</div>
<div id="note">
Все информация исключительно информативные цели и не являються публичной офертой к купле/продажи каких-либо ценных бумаг или осуществлению иных инвестиций.<br>
Инвестиции в ценные бумаги сопряженно с высоким риском, в связи с чем инвесторам необходимо провести самостоятельный анализ ситуации и объектов инвестированная перед вложением денежных средств.
</div>
<div id="footer-phone"></div>
</div>
</div>
</body>
</html>
Буду благодарен за любые советы!