[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Протестируйте скрипт обратной связи
New Guest
Написал что-то вроде скрипта обратной связи http://deniev.ru/m.php Ваши комменты)))



Спустя 49 минут, 12 секунд (7.09.2010 - 03:28) inpost написал(а):
и что тут тестировать?! smile.gif
Я же не вижу, какой вариант к тебе приходит, а то, что взял готовое решение проверки е-майла, но тут и тестировать нечего =)

Спустя 7 часов, 26 минут, 20 секунд (7.09.2010 - 10:54) Guest написал(а):
какое готовое? сам делал


<?php

//Инициализируем переменные

$name = $_POST['name'] ;

$name = trim ($name) ;

$name = substr ($name, 0, 15) ;

$name = htmlspecialchars ($name) ;


$mail = $_POST['mail'] ;

$mail = trim ($mail) ;

$mail = substr ($mail, 0, 25) ;

$mail = htmlspecialchars ($mail) ;


$msg = $_POST['msg'] ;

$msg = trim ($msg) ;

$msg = substr ($msg, 0, 120) ;

$msg = htmlspecialchars ($msg) ;




if (get_magic_quotes_gpc () )
{
$name = stripslashes ($name) ;

$mail = stripslashes ($mail) ;

$msg = stripslashes ($msg) ;
}

//Адрес, на который отправляется письмо
$admin_mail = '123@yandex.ru' ;

//Тема письма
$tema = 'Пользователь '.$name.' пишет:' ;

//Текст письма
$author = 'Автор письма: '.$name;

$text = 'Текст письма: '.$msg ;

$user_mail = 'E-mail автора: '.$mail ;

//Заголовки
$header = 'Content-type:text/plain; charset:utf-8\r\n\r\n' ;

$header .= 'From: '.$name.'<'.$mail.'>\r\n\r\n' ;

$header .= 'Reply-to: '.$mail ;

if ($_REQUEST['sub'])
{
if (empty ($name))
{
echo '<p align="center">--- Вы не ввели имя ---</p>' ;
}

if (empty ($msg))
{
echo '<p align="center">--- Вы не ввели текст письма ---</p>' ;
}

if (!preg_match ("/[a-z0-9_-]+@[a-z0-9_-]+\.[a-z0-9]+/i", $mail))
{
echo '<p align="center">--- Неверный формат e-mail ---</p>' ;
}
else
{
$a = mail ($admin_mail, $tema, $author."\r\n\r\n".$text."\r\n\r\n".$user_mail, $header) ;

if ($a)
{
exit ('<p align="center">Сообщение успешно отправлено</p>
<p align="center"><a href="m.php">Вернуться назад</a></p>'
) ;
}
else
{
echo '<p>Ошибка во время отправки письма</p>' ;
}
}
}






?>

<div align="center"><p><b>Обратная связь</b></p>

<
form action="" method="post">

<
p><label>Введите ваше имя</label><br />
<
input type="text" name="name" size="15" maxlength="15" value="<?php echo $name; ?>" />
</
p>

<
p><label>Введите ваше e-mail</label><br />
<
input type="text" name="mail" size="15" maxlength="25" value="<?php echo $mail; ?>" />
</
p>

<
p><label>Введите ваш текст</label><br />
<
textarea name="msg" rows="5" cols="20"><?php echo $msg; ?></textarea>
</
p>

<
p><input type="submit" name="sub" value="Отправить" />
</
p>

</
form>

</
div>

Спустя 2 часа, 24 минуты, 33 секунды (7.09.2010 - 13:19) inpost написал(а):
в целях безопасности лучше использовать $_POST, а не $_REQUEST.
(!preg_match ("/[a-z0-9_-]+@[a-z0-9_-]+\.[a-z0-9]+/i", $mail) - в интернете точно такое же есть. =) Я к тому, что ты скопипастил.

Ты формируешь письмо не перед отправкой, а перед всеми проверками, это не правильно, компьютер делает лишние процессы.
Магические кавычки надо просто выключать, и проблем не будет.

В любом случае,я не верю,что сам

Спустя 58 минут, 10 секунд (7.09.2010 - 14:17) Ice написал(а):
Да, может, и сам, поскольку нестрогая какая-то проверка. Уж очень шатко-валко.

У меня мыло из 27 символов. Менять?

Спустя 8 часов, 41 минута, 37 секунд (7.09.2010 - 22:59) Guest написал(а):
Почему не веришь, что сам? Что там такого? Супер скрипт что ли? Обычное дело

Спустя 11 минут, 28 секунд (7.09.2010 - 23:10) inpost написал(а):
Guest
По старому написан, но при этом соблюден стиль. А стиль соблюдают те, кто нормально уже пишут... но при этом задаёшь вопрос, на сколько он хорош, и не знаешь, что надо показать код, а не просто форму! Собственно это всё противоречит друг другу =)

Спустя 3 минуты, 26 секунд (7.09.2010 - 23:14) Guest написал(а):
Я осваиваю php тока 4-й месяц. Я ж код показал. А почему по-старому? Что надо поменять на новое?

Спустя 34 минуты, 34 секунды (7.09.2010 - 23:48) inpost написал(а):
Я писал выше про Request, кавычки, и правильно расположить всё.
Ну и отправка не очень правильная. Зайти в уроки Твина (на главной странице) - там есть как правильно оформить, чтобы письмо отправлялось без проблем.
А вот собственно отправка:
if(substr(PHP_OS, 0, 3) == "WIN") 
$n = "\r\n";
else
$n = "\n";
$subject = "=?utf-8?b?". base64_encode($subject) ."?=";
$to = 'inpost@list.ru';
$from = 'inpost@list.ru';
$headers = 'Content-type: text/plain; charset="utf-8"'. $n;
$headers .= 'From: <'. $from .'>'. $n;
$headers .= 'MIME-Version: 1.0'. $n;
$headers .= 'Date: '. date('D, d M Y h:i:s O') . $n;
$message = "Кличка: ".htmlspecialchars(stripslashes($_POST['name']));
mail($to, $subject, $message, $headers, '-f'. $from );

Спустя 16 минут, 37 секунд (8.09.2010 - 00:05) Guest написал(а):
inpost а ты этот код не скопипастил?))))))))))))

Спустя 33 минуты, 10 секунд (8.09.2010 - 00:38) inpost написал(а):
Guest
Нет, я прошел полностью урок, освоил новые знания.
Спроси у меня любую деталь по этому коду - я скажу что это значит, а ты врядли сможешь сказать, что значит некоторые символы в том коде =) В этом и разница.

Спустя 15 минут, 7 секунд (8.09.2010 - 00:53) Gradus написал(а):
Код просто ужасный, очень рано пытаешься хвастаться smile.gif
Единственный плюс если ты сам всё написал и понял, что судя по коду не правда smile.gif
Наберись опыту не надо ни кому себя показывать smile.gif

Спустя 45 минут, 11 секунд (8.09.2010 - 01:38) inpost написал(а):
Gradus
Ты не прав, как мне кажется, он просто попросил проверить! =) Вот мы посмотрели и указали на ошибки... по крайней мере я

Спустя 9 часов, 8 минут, 20 секунд (8.09.2010 - 10:46) Gradus написал(а):
inpost, что проверить в нужном месте нажал ctrl+v или нет ? smile.gif

Спустя 2 минуты, 20 секунд (8.09.2010 - 10:49) Nord написал(а):
Цитата

if(substr(PHP_OS, 0, 3) == "WIN")       
    $n = "\r\n";       
else
    $n = "\n";

Для этого есть специальная константа: PHP_EOL

Спустя 3 минуты, 20 секунд (8.09.2010 - 10:52) twin написал(а):
Вообще это неправильно. Нужно обязательно ставить "\r\n"
На сайте эта ошибка давно исправлена.

Спустя 2 часа, 46 минут, 30 секунд (8.09.2010 - 13:39) inpost написал(а):
Nord
Ладно, надо будет ещё раз пройти курс Твина, посмотреть где да что поменялось =)))
Быстрый ответ:

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