X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Добавить ответ в эту тему
> почтовая форма
Nicolai_hb
Nicolai_hb
Topic Starter сообщение 7.11.2013, 13:39; Ответить: Nicolai_hb
Сообщение #1


Всем привет. Столкнулся проблемой и немогу понять в чем ее суть.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 9.11.2013, 12:56; Ответить: Degradator
Сообщение #2


пишите в личку
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
wieppir
wieppir
сообщение 31.8.2014, 13:15; Ответить: wieppir
Сообщение #3


Подскажите если в каждом поле выдает вот так что это <?=$_SESSION['post']['name']?> <?=$_SESSION['post']['email']?> <?=$_SESSION['post']['message']?>

Code
Index.php
session_name("fancyform");
session_start();
$_SESSION['n1'] = rand(1,20); /* сгенерировать первую цифру */
$_SESSION['n2'] = rand(1,20); /* потом вторую */
$_SESSION['expect'] = $_SESSION['n1']+$_SESSION['n2']; /* результат сложения */
/* Код ниже используется, если JS выключен */
$str='';
if($_SESSION['errStr']) /* если submit.php выдает строку с ошибкой в массиве session */

{
$str='<div class="error">'.$_SESSION['errStr'].'</div>';
unset($_SESSION['errStr']); /* будет показан только 1 раз */
}
$success='';
if($_SESSION['sent'])
{
$success='<h1>Thank you!</h1>'; /* Сообщение об успехе */
$css='<style type="text/css">#contact-form{display:none;}</style>';
/* специальное правило CSS, которое прячет форму */
unset($_SESSION['sent']);
}
Code
Submit.php
require "phpmailer/class.phpmailer.php";
session_name("fancyform"); /* начинаем сессию */
session_start();
foreach($_POST as $k=>$v)
{
/* если magic_quotes включены, очистить массив post */
if(ini_get('magic_quotes_gpc'))
$_POST[$k]=stripslashes($_POST[$k]);
$_POST[$k]=htmlspecialchars(strip_tags($_POST[$k]));
/* удалить special chars */
}
$err = array();
/* некоторые проверки на ошибки */
if(!checkLen('name'))
$err[]='The name field is too short or empty!';
if(!checkLen('email'))
$err[]='The email field is too short or empty!';
else if(!checkEmail($_POST['email']))
$err[]='Your email is not valid!';
if(!checkLen('subject'))
$err[]='You have not selected a subject!';
if(!checkLen('message'))
$err[]='The message field is too short or empty!';
/* Сравнить полученный результат captcha с результатом в массиве session */
if((int)$_POST['captcha'] != $_SESSION['expect'])

$err[]='The captcha code is wrong!';
/* Если ошибки есть */
if(count($err))
{
/* Если форма обработана с помощью AJAX */
if($_POST['ajax'])
{
echo '-1';
}
/* в противном случае заполнить массив SESSION и редирект обратно на форму */
else if($_SERVER['HTTP_REFERER'])
{
$_SESSION['errStr'] = implode('<br />',$err);
$_SESSION['post']=$_POST;
header('Location: '.$_SERVER['HTTP_REFERER']);
}
exit;
}
/* тело письма */
$msg=
'Name: '.$_POST['name'].'<br />
Email: '.$_POST['email'].'<br />
IP: '.$_SERVER['REMOTE_ADDR'].'<br /><br />
Message:<br /><br />
'.nl2br($_POST['message']).'
';
$mail = new PHPMailer(); /* используя PHPMailer */
$mail->IsMail();
$mail->AddReplyTo($_POST['email'], $_POST['name']);
$mail->AddAddress($emailAddress);
$mail->SetFrom($_POST['email'], $_POST['name']);
$mail->Subject = "A new ".mb_strtolower($_POST['subject'])." from ".$_POST['name']." | contact form feedback";
$mail->MsgHTML($msg);
$mail->Send();
unset($_SESSION['post']);
/* Форма удачно была отправлена */
if($_POST['ajax'])

{
echo '1';
}
else
{
$_SESSION['sent']=1;
if($_SERVER['HTTP_REFERER'])
header('Location: '.$_SERVER['HTTP_REFERER']);
exit;
}
/* дополнительные функции */
function checkLen($str,$len=2)
{

return isset($_POST[$str]) && mb_strlen(strip_tags($_POST[$str]),"utf-8") > $len;
}
function checkEmail($str)
{
return preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $str);
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Форма регистрации вордпресс. Привязка ссылок
0 plscomeback 5588 29.3.2016, 19:29
автор: -plscomeback-
Открытая тема (нет новых ответов) Калькулятор + форма заказа
0 adsprosto 7297 11.4.2015, 0:30
автор: -adsprosto-
Открытая тема (нет новых ответов) Есть форма, как отправить с нее инфу на почту?
0 LipGrad 2761 13.4.2014, 12:20
автор: -LipGrad-
Открытая тема (нет новых ответов) Ajax форма
0 jollar 1075 19.1.2014, 14:36
автор: jollar
Открытая тема (нет новых ответов) Форма расчета с результатом на другой странице
6 kreolmage 3629 12.5.2013, 23:33
автор: -fanaticc-


 



RSS Текстовая версия Сейчас: 19.3.2024, 6:07
Дизайн