[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка данных из формы
Диана
Я отправляю данные из формы (php), приходит сообщение, что данные отправлены, а в моем ящике сообщение не появляется. Почему такое происходит? Помогите разобраться.



Спустя 14 часов, 19 минут, 53 секунды (23.06.2010 - 11:22) starpom написал(а):
Думаю, Диана, вам не помешает конкретизировть вопрос, например , выложив скрипт.

Спустя 3 часа, 23 минуты, 12 секунд (23.06.2010 - 14:46) Диана написал(а):
Там несколько файлов: сама форма (index.php), конфигурационный и функ. файлы... и страница с сообщением, что письмо отправлено, на которую переходит пользователь после отправки формы. Я отправляю форму, но данные формы в мой ящик не попадают.

Спустя 1 минута, 14 секунд (23.06.2010 - 14:47) Диана написал(а):
если выкладывать все скрипты очень длинно получится. Может какую-то конкретную часть выложить?

Спустя 4 минуты, 41 секунда (23.06.2010 - 14:52) Lenarfate написал(а):
выложи скрипт, где происходит сама отправка

Спустя 13 минут, 22 секунды (23.06.2010 - 15:05) twin написал(а):
Скрипт случайно не локально запускается?

Спустя 8 часов, 9 минут, 26 секунд (23.06.2010 - 23:14) Диана написал(а):
<?php
//Инициализация сессии
session_start();

//Подключаем файл конфигурации
require("inc/config.inc.php");
//Подключаем файл с функциями
require("inc/functions.inc.php");

//Были ли нажата кнопка
if(@$_POST['do']!=''){
//Создаем переменные
$_ERR='';
$page='';
$head='';
//Переопределяем переменную
$keystring = $_REQUEST['keystring'];



//Сравниваем
if ($keystring != $_SESSION['captcha_keystring'] OR empty($keystring)) {
//Составляем уведомление
$page.='<p style="color:red">Ошибка: '.$error['captcha'].'</p>';
unset($_SESSION['captcha_keystring']);
}
else {
//Если мэйл обязателен
if($requirements['email']==1){
//Проверяем
if(checkmail($_POST['field']['email']) ===0 ){ $_ERR.=$error['email'];}

}
else { //Если нет
//Было ли заполнено

if($_POST['field']['email']!=''){
//Тогда проверяем
if(checkmail($_POST['field']['email']) ===0 ){ $_ERR.=$error['email'];}
}
}




//Запускаем цикл
for($i=1;$i<=count($requirements);$i++){
//Проверяем
if($requirements[$i] ==1) {
//Проверяем существование переменной
if(!isset($_POST['field'][$i]) OR $_POST['field'][$i]=='' ) { $_ERR.=$error[$i];}
}
}


//Если есть ошибки
if($_ERR !='') {
$page.='<p style="color:red">Ошибка: '.$_ERR.'</p>';
} else {
//Подгружаем шаблон формы
$_tmpl = @join('',@file($_file));

//Парсим шаблон
for($k=1;$k<=count($requirements);$k++){
//Проверяем массив ди это?
if(is_array($_POST['field'][$k])) {
//Формируем строку из массива
$_string = implode(",",$_POST['field'][$k]);
//Заменяем метку
$_tmpl = str_replace('[FIELD'.$k.']',$_string,$_tmpl);

} else {
//Заменяем метки
$_tmpl = str_replace('[FIELD'.$k.']',$_POST['field'][$k],$_tmpl);


}
}

//Заменяем метку эл.адреса
$_tmpl = str_replace('[EMAIL]',$_POST['field']['email'],$_tmpl);
//Заменяем служебные метки
$_tmpl = str_replace('[DATA]',date("d.m.Y H:i:s"),$_tmpl);
$_tmpl = str_replace('[IP]',getenv('REMOTE_ADDR'),$_tmpl);
$_tmpl = str_replace('[BROWSER]',getenv('HTTP_USER_AGENT'),$_tmpl);
$_tmpl = str_replace('[URL]',getenv('HTTP_REFERER'),$_tmpl);

//Разбираем массив получателей
$_to = implode(",",$recipient);


//Отправляем письмо
if(@mail($_to, $_subject, $_tmpl, $_headers)){
if($_redirect == 0){
//Перенаправляем пользователя на страницу
header("Location:".$_success_url);
}

if($_redirect == 1) {
//Перенаправляем пользователя на страницу при помощи js с нулевой задержкой

$head .= '<script type="text/javascript">
setTimeout(
\'location.replace("'.$_success_url.'")\', 0);
</script>

<noscript>

<meta http-equiv="refresh" content="0; url='
.$_success_url.'">

</noscript>'
;
}

$page.='<p style="color:green">Спасибо. Ваще сообщение отправлено</p>';


} else {

$page.='<p style="color:red">Ошибка: '.$error['mailer'].'</p>';
}




}

}


if($page==''){ $page.='<p style="color:red">Ошибка: '.$error['render'].'</p>';}
//Разрушаем сессию
unset($_SESSION['captcha_keystring']);
}
?>


<!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>
<?=$head;?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<
title>[FORM TITLE]</title>
</
head>

<
body>

<!--
уведомелния-->
<?=$page;?>
<!--/уведомления-->

<!--
BEGIN FORM-->
<
h3>Форма обратной связи</h3>
<
form action="" method="post">
Ваше имя: <input type="text" name="field[1]" value="<?= $_POST['field']['1']?>" maxlength="30" /><br/>
Ваш телефон: <input type="text" name="field[2]" value="<?=$_POST['field']['2']?>" maxlength="18" /><br/>
Ваш e-mail: <input type="text" name="field[email]" value="<?=$_POST['field']['email']?>" maxlength="50" /><br/><br/>
Ваше общее впечатление от нашего заведения:<br/>
<
textarea name="field[3]" wrap="on" rows="5" cols="70"><?=$_POST['field']['3']?></textarea><br/>
Чего Вам не хватает?<br/>
<
textarea name="field[4]" wrap="on" rows="3" cols="70"><?=$_POST['field']['4']?></textarea><br/><br/>

Обедали ли Вы у нас ранее?<br/>
<
input name="field[5]" type="radio" value="Да"/>Да<br/>
<
input name="field[5]" type="radio" value="Нет" />Нет<br/>
<
input name="field[5]" type="radio" value="Не помню" />Не помню<br/>
<
br/>
Какие сети ресторанов Вам знакомы?<br/>
<
input name="field[6][0]" type="checkbox" value="Макдональдс" />Макдональдс<br/>
<
input name="field[6][1]" type="checkbox" value="Ростикс" />Ростикс<br/>
<
input name="field[6][2]" type="checkbox" value="Ромашка" />Ромашка<br/>
<
input name="field[6][3]" type="checkbox" value="А у нас во дворе" />"А у нас во дворе"<br/>
<
br/>

<
a name="captcha"></a>
<
p>Введите код подтверждения:</p>
<
p><img src="kcaptcha/img.php" id="image"></p>
<
p><a href="#captcha" onClick="document.getElementById('image').src='kcaptcha/img.php?rand='+Math.round(1000 * Math.random());">Refresh</a></p>
<
p><input type="text" name="keystring"></p>
<
input type="submit" value="Отправить" name="do" />



</
form>
<!--
END FORM-->


</
body>
</
html>

Спустя 2 минуты, 51 секунда (23.06.2010 - 23:17) Диана написал(а):
Этот скрипт я хочу отправить на свой ящик для проверки как он работает. Запускаю его из Denwer.

Спустя 1 день, 8 часов, 4 минуты, 4 секунды (25.06.2010 - 07:21) admrp написал(а):
Диана, Twin прав насчёт локальной работы скрипта. Так письмо не дойдёт до внешнего почтового ящика. Необходимо тестировать на хостинге.

Спустя 11 часов, 39 минут, 33 секунды (25.06.2010 - 19:01) Диана написал(а):
А для этого надо за хостинг заплатить? Как вообще можно протестировать работу пхп, сразу сайт с пхп файлами на хостинге регистрировать? А если там недоработка какая-то?

Спустя 23 минуты, 47 секунд (25.06.2010 - 19:25) Basili4 написал(а):
Есть либо бесплатные хостинги либо очень дешевые. Если не доработка значит доработать и заменить старый файл на новый.

Спустя 19 минут, 1 секунда (25.06.2010 - 19:44) twin написал(а):
Если стоит Денвер, то нужно просто открыть папку по адресу
Z:\tmp\!sendmail
Там и будут все письма. Это заглушка специально для отладки.

Спустя 2 часа, 28 минут, 29 секунд (25.06.2010 - 22:12) Диана написал(а):
Ура!!! Я все сообщения в этой папке нашла, чуть ящик не треснул! Спасибо огромное, если я смогу чем помочь, обращайтесь :-)

Спустя 2 минуты, 49 секунд (25.06.2010 - 22:15) Диана написал(а):
Кстати, я на народе пыталась этот тест провести, так пхп даже не был воспринят. Так что на бесплатных сайтах не получится протестировать, а если на платный сайт - то не хочется тестировать при клиенте - тоже не выход :-(

Спустя 5 минут, 33 секунды (25.06.2010 - 22:20) Bezdna написал(а):
Цитата (Диана @ 25.06.2010 - 22:15)
я на народе пыталась этот тест провести


Народ не поддерживает PHP.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.