Добрый вечер собравшимся. Сразу признаюсь - в пхп я так же,как в китайском,японском и других непонятных мне языках). Мне понадобилось прикрутить к сайту форму обратной связи, отсылающую заполненные поля на мой ящик.
Сделать работающую форму мне удалось. Вернее я ее позаимствовал с вашего форума и добавил нужные поля. Все замечательно, но нужно интегрировать в нее капчу. Решил воспользоваться готовым скриптом с
www.captcha.ru, под названием kcaptcha. Убил 2 вечера, пытаясь совместить имеющуюся форму и имеющуюся капчу. Капча настроена выдавать текст в зависимости от того, правильно ли введено число. По логике - нужно как-то заменить - в случае, если правильно - вместо вывода запускать процедуру отправки,если нет - отправлять на другую страницу,или чтото подобное. Как реализовать я не знаю. Если кому-то будет не лень мне помочь или подсказать - буду премного благодарен.
прилагаю код формы(без дизайновых элементов разумеется)
<td>
<form action=mail.php method=post>
<center><b>Ф.И.О.*<br><input type=text name=name size=30><p>
Ваш e-mail*<br><input type=text name=email size=30><p>
Контактный телефон<br><input type=text name=tel size=30><p>
Организация<br><input type=text name=org size=30><p>
Ваше сообщение*<br><textarea name=mess rows=10 cols=50></textarea><p>
<input type=submit value="Отправить сообщение">
</form>
</td>
Мейловый скрипт
<?php
if (isset ($name))
{
$name = substr($name,0,20); //Не может быть более 20 символов
if (empty($name))
{
echo "<center><b>Не указано имя !!!<p>";
echo "<a href=index.html>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$name = "не указано";
}
if (isset ($email))
{
$email = substr($email,0,20); //Не может быть более 20 символов
if (empty($email))
{
echo "<center><b>Не указан e-mail !!!<p>";
echo "<a href=index.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$email = "не указано";
}
if (isset ($tel))
{
$tel = substr($tel,0,20); //Не может быть более 20 символов
if (empty($tel))
{
echo "<center><b>Не указан телефон !!!<p>";
echo "<a href=index.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$tel = "не указано";
}
if (isset ($org))
{
$org = substr($org,0,20); //Не может быть более 20 символов
if (empty($org))
{
echo "<center><b>Не указана Организация !!!<p>";
echo "<a href=index.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$org = "не указано";
}
if (isset ($mess))
{
$mess = substr($mess,0,1000); //Не может быть более 1000 символов
if (empty($mess))
{
echo "<center><b>Сообщение не написано !!!<p>";
echo "<a href=index.html>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$mess = "не указано";
}
$i = "не указано";
if ($name == $i AND $email == $i AND $mess == $i)
{
echo "Ошибка ! Скрипту не были переданы параметры !";
exit;
}
$to = "ak90_toxa@mail.ru";
$subject = "Сообщение с вашего интернет-сайта";
$message = "Имя пославшего:$name::::::::::Электронный адрес:$email::::::::::Телефон:$tel::::::::::::::Организация:$org::::::::::::::::::::Сообщение:$mess:::::::::IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message) or print "Не могу отправить письмо !!!";
echo "<center><b>Спасибо за отправку вашего сообщения<br><a href=index.php>Нажмите</a>, что бы вернуться на главную...>";
exit;
?>
Вот ко всему этому и нужно как-то приделать указаннную капчу.
Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
|