Войти

Показать полную графическую версию : Отправка формы на E-mail


ArchikDikos
24-05-2012, 15:51
Доброго времени суток!

при щелчке на кнопку отправки формы условия ввода не выполняются и открывается страничка с кодом обработчика(submit2.php).
Почему так происходит? Не пойму в чем ошибка.

Форма для отправки:
<form action="submit2.php" method="post" name="sign4" >
<table >
<tbody><tr>
<td ><label for="name">Фамилия, Имя</label></td>
<td >
<input type="text" name="name" id="name" >
</td>
</tr>
<tr>
<td style="width:140px"><label for="phone">Контактный телефон</label></td>
<td>
<input type="text" name="phone" id="phone" >
</td>
</tr>
<tr>
<td style="width:140px"><label for="desc">Комментарии</label></td>
<td >
<textarea name="desc" id="desc" ></textarea>
</td>
</tr>
<tr>
<td style="width:140px"></td>
<td >
<input type="submit" value=" Записаться " >

</td>
</tr>
</tbody></table>
</form>

Обработчик:

<?php
if (isset ($name))
{
//Не может быть более 20 символов
if (empty($name))
{
echo "<center><b>Не указано имя !!!<p>";
echo "<a href=index.html>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$name = "не указано";
}
if (isset ($phone))
{
//Не может быть более 20 символов
if (empty($email))
{
echo "<center><b>Не указан телефон !!!<p>";
echo "<a href=index.htm>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$phone = "не указано";
}
if (isset ($desc))
{
//Не может быть более 1000 символов
if (empty($desc))
{
echo "<center><b>Сообщение не написано !!!<p>";
echo "<a href=index.html>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$desc = "не указано";
}
$i = "не указано";
if ($name == $i AND $phone == $i AND $desc == $i)
{
echo "Ошибка ! Скрипту не были переданы параметры !";
exit;
}
$to = "Mymail@mail.ru";
$subject = "Сообщение с вашего интернет-сайта";
$message = "Имя пославшего:$name::::::::::Электронный адрес:$email::::::::::Сообщение:$mess:::::::::IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message) or print "Не могу отправить письмо !!!";
echo "<center><b>Спасибо за отправку вашего сообщения<a href=index.php>Нажмите</a>, что бы вернуться на главную...>";
exit;
?>

Проверял локально, на хостинг не заливал.

Sham
24-05-2012, 16:24
Проверял локально »
На локальном сервере? Какой сервер? В конфиге настройте обработчик ( в апаче смотрите AddHandler и AddType для .php)

ArchikDikos
25-05-2012, 00:04
На локальном сервере? Какой сервер? В конфиге настройте обработчик ( в апаче смотрите AddHandler и AddType для .php) »

Имел ввиду,что сайт сохранен на компьютере.У меня нет аппача, я ни разу не работал с ним. Вообще я новичек в сайтостроении.
Страничка с кодом открывается потому что php без аппача либо сервера не работает, это я уяснил.

Мне нужно сделать сайт без какой либо CMS. Я слышал там помимо обработчика нужны еще какие-то настройки. что еще может потребоваться для корректной работы всего этого? Если к примеру я залью этот обработчик на хостинг.

Sham
26-05-2012, 13:54
На хостинге должен быть установлен PHP и разрешена функция mail. Чтобы локально проверять работу скриптов, поставьте, к примеру, это (http://www.denwer.ru/).

ArchikDikos
31-05-2012, 12:51
Спасибо! Поставилось, но почему-то с мелкими ошибками при установке. При запуске с локального сервера шрифт выводится непонятными иероглифами, кодировка utf - 8.
php заработал, только почему-то не обрабатывает посланные ему данные, выводит ошибку. Вывод печатается в таких же символах, как и вывод сайта. Мне кажется проще уже поставить cms, например джумлу и перебросить туда весь контент с новой формой ввода :)




© OSzone.net 2001-2012