Студент - Репутация: 3
- Webmoney BL: ?
| Всем привет:) На главной странице сайта нужно разместить открытую форму обратной связи,чтобы посетитель мог быстро,и без перезагрузки отправить свои данные на почту администратора Вот пример: Вообщем погуглил и нашел один подходящий скрипт,поместил его в html файл,сама форма открывается,но данные на почту не приходят,и еще над самой формой отображается часть php,сам в php не селен поэтому не могу разобраться в чем проблема. Вот тот самый код
PHP код: <?php
#### Stroke
##### следующий код получает данные и высылает их на почту, указанную в парметре $admin_mail
##### параметр $mail_template - оформление письма
##### параметр $mail_subject - заголовок письма
$admin_mail = "strokeru@gmail.com";
$mail_subject = "Новая заявка на сайте";
$mail_template =
"Поступила новая заявка на сайте. Пользователь указал следующие данные\r\n".
"Имя: {%name%}\r\n".
"Почтовый ящик: {%email%}\r\n".
"Телефон: {%phone%}\r\n".
"Время отправления : {%send_time%}\r\n";
if( isset( $_POST['name'] ) ){
$replace_array = array( "{%name%}" => htmlspecialchars( $_POST['name'] ),
"{%email%}" => htmlspecialchars( $_POST['email'] ),
"{%phone%}" => htmlspecialchars( $_POST['phone'] ),
"{%send_time%}" => date("d.m в H:i", gmdate( "U", time() ) ) );
$mail_template = strtr( $mail_template, $replace_array );
mail( $admin_mail, $mail_subject, $mail_template );
exit( );
}
?>
<!doctype html>
<html lang="ru-RU">
<head>
<meta charset="UTF-8">
<title>Обратная связь</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".required_field").click(function() {
$(".required_field").css("border", "#CCC 1px solid") ;
});
$("#send").click(function() {
/* Проверяем наличие двух полей, имени и почтового ящика, если они пустые, то на этом все */
if( $('#name').val() == "" || $('#email').val() == "" ){
$('#name').css("border", "red 1px solid") ;
$('#email').css("border", "red 1px solid")
}
else{
$.ajax({
url: "<?=$_SERVER["SCRIPT_NAME"];?>",
type: "post",
data: $("#feedback_form").serialize(),
success: function(){
$("#info_block").removeClass("error_block");
$("#info_block").html('Сообщение отправлено. ');
$("#feedback_form").fadeOut( 1200 );
$("#info_block").fadeIn( 900 );
},
error:function(){
$("#info_block").addClass("error_block");
$("#info_block").html('Какая-то ошибка. ');
$("#info_block").fadeIn( 500 );
return false;
}
});
}
});
});
</script>
<style type="text/css">
.form_block input {
height: 30px;
width: 220px;
border: 1px solid #CCC;
padding: 4px;
}
.form_block input[type="button"]{
padding: 10px;
width: 232px;
height: 40px;
background-color: #3774A4;
color: #FFF;
cursor: pointer;
}
.info_block{
display:none;
padding: 10px;
width: 212px;
border: 1px solid #000;
background-color: #f6f6f6;
}
.error_block{
border: 1px solid red;
}
</style>
</head>
<body>
<div style="padding:10px;" class="form_block">
<div id="info_block" class="info_block"></div>
<form id="feedback_form">
<p><input type="text" class="required_field" name="name" id="name" placeholder="Ваше имя" /></p>
<p><input type="text" class="required_field" name="email" id="email" placeholder="E-mail" /></p>
<p><input type="text" name="phone" id="phone" placeholder="Телефон" /></p>
<p><input type="button" name="send" id="send" value="Отправить" /></p>
</form>
</div>
</body>
</html>
Подскажите пожалуйста в чем проблема,или может есть какая нибудь альтернатива Последний раз редактировалось forestdc; 01.11.2013 в 11:50. |