Войти

Показать полную графическую версию : [решено] Нужен скрипт для обратной связи на сайте


dr-organizer
20-08-2012, 04:41
Есть готовая шаблонная HTML-страница, на которой есть форма отправки сообщений:

<form method="post" name="contact" action="">
<label for="author">Ваше имя:</label> <input type="text" id="author" name="author" class="required input_field" />
<div class="cleaner_h10"></div>
<label for="email">Ваш Email:</label> <input type="text" id="email" name="email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>
<label for="text">Сообщение:</label> <textarea id="text" name="text" rows="0" cols="0" class="required input_field"></textarea>
<div class="cleaner_h10"></div>
<input type="submit" class="submit_btn" name="submit" id="submit" value="ОК" />
<input type="reset" class="submit_btn" name="reset" id="reset" value="Reset" />
</form>

Какой можно залить скрипт в корень сайта на .......16mb.com (это на hostinger.ru, чтобы я смог отправлять почту вышеуказанной формой?
---
в contact action=""> прописывал contact action="mail.php"> , заливал десяток разных скриптов, но ничего не работает.

Habetdin
20-08-2012, 12:18
есть форма »
Форма сама письмо не отправит
заливал десяток разных скриптов, но ничего не работает »
Имена полей в форме не совпадают / скрипт не для тех целей...
Прописываем action="mail.php" и создаем mail.php вроде этого:
<?php
// скрипт юзался с кодировкой UTF-8
function check($str) {
return str_replace(chr(0), '', trim($str));
}

$name = check($_POST['author']);
if (!$name) die('Вы не заполнили имя');
$theme = 'Письмо от '.$name;

$mes = check($_POST['text']);
if (!$mes) die('Нет текста для отправки');

$from = check($_POST['email']);
if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,6}$/i", $from)) die('Неверный адрес в поле "Ваш E-mail"');

// Не забыть заменить e-mail на свой ;)
if (mail('ваш@e-mail.тут', '=?utf-8?B?'.base64_encode($theme).'?=', $mes, "From: $from\r\nContent-type: text/plain; charset=UTF-8"))
echo 'Отправлено';
else
echo 'Ошибка';

dr-organizer
22-08-2012, 20:55
Habetdin, спасибо большое! Сдвиги есть, но письмо еще не отправляется, а пишет: Неверный адрес в поле "Ваш E-mail" (только пишет кракозябрами) :). Теперь смогу поэкспериментировать только через 2 дня.

Habetdin
23-08-2012, 01:45
dr-organizer, упс, скопировал $from = check($_POST['text']); вместо $from = check($_POST['email']); :tomato2: Нужно поправить :)
кракозябрами »
Можно еще добавить сразу после <?php:
header("Content-type: text/html; charset=UTF-8");

dr-organizer
23-08-2012, 10:47
Habetdin, спасибо Вам огромное!!! Только Вы смогли мне помочь! Всё работает шикарно. :rupor: :Beer:




© OSzone.net 2001-2012