Спустя 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
Там и будут все письма. Это заглушка специально для отладки.
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.