[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: скрипт для обратной связи
Roxie
Доброе время суток!

ПОпыталась сделать форму отправки почты с сайта (обратную связь), но что-то там не то...Форма не отображается sad.gif Подскажите, пожалуйста, что не так.
Код
<tr>
<td height="100%">
<table border="0" align="center" width="100%" height="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="textbase">
<div class="text">
<h1> Обратная связь </h1>
<br>
<script LANGUAGE="JavaScript">
var iscomplete=false;

function checkform(){iscomplete=true
if (document.main.name.value=="") {iscomplete=false}
if (document.main.email.value=="") {iscomplete=false}
if (document.main.tel.value=="") {iscomplete=false}
if (document.main.info.value=="") {iscomplete=false}
txt=document.main.email.value;

if (txt == ""){iscomplete=false;}
if (txt.indexOf(".") == -1){iscomplete=false;}
dog = txt.indexOf("@");
if (dog == -1){iscomplete=false;}
if ((dog <1) || (dog> txt.length - 5)){iscomplete=false;}
if ((txt.charAt(dog - 1) == '.') || (txt.charAt(dog + 1) == '.')){iscomplete=false;}
return iscomplete;}
</SCRIPT>
<table width="599" border="0" cellspacing="0" cellpadding="0" style="COLOR: #323233" class="vmenutext">
<form method="post" name="main" id="main" onsubmit="return checkform();">
<input type="hidden" name="act" value="act">
<tbody>
<tr height="25">
<td width="250">Ваше имя (фамилия, отчество)</td>
<td width="349" style="BACKGROUND-IMAGE: url(UserFiles/Image/other/text1.jpg); background-repeat: no-repeat" align="center">
<input type="text" name="name" class="vmenutext" style="BORDER-RIGHT: #7897b3 0px solid;
BORDER-TOP: #7897b3 0px solid; FONT-SIZE: 10px; BORDER-LEFT: #7897b3 0px solid; WIDTH: 330px; BORDER-BOTTOM: #7897b3 0px solid; HEIGHT: 12px"></td>
</tr>
<tr height="15">
<td colspan="2"></td>
</tr>
<tr height="25">
<td width="250">Электронная почта</td>
<td width="349" style="BACKGROUND-IMAGE: url(UserFiles/Image/other/text1.jpg); background-repeat: no-repeat" align="center">
<input type="text" name="email" class="vmenutext" style="BORDER-RIGHT: #7897b3 0px solid;
BORDER-TOP: #7897b3 0px solid; FONT-SIZE: 10px; BORDER-LEFT: #7897b3 0px solid; WIDTH: 330px; BORDER-BOTTOM: #7897b3 0px solid; HEIGHT: 12px"></td>
</tr>
<tr height="15">
<td colspan="2"></td>
</tr>
<tr height="25">
<td width="250">Телефон для контактов</td>
<td width="349" style="BACKGROUND-IMAGE: url(UserFiles/Image/other/text1.jpg); background-repeat: no-repeat" align="center">
<input type="text" name="tel" class="vmenutext" style="BORDER-RIGHT: #7897b3 0px solid;
BORDER-TOP: #7897b3 0px solid; FONT-SIZE: 10px; BORDER-LEFT: #7897b3 0px solid; WIDTH: 330px; BORDER-BOTTOM: #7897b3 0px solid; HEIGHT: 12px"></td>
</tr>
<tr height="15">
<td colspan="2"></td>
</tr>
<tr height="127">
<td valign="top"><br>
Интересующий вопрос</td>
<td width="349" style="BACKGROUND-IMAGE: url( UserFiles/Image/other/text2.jpg); background-repeat: no-repeat" align="center">
<textarea name="info" class="vmenutext" style="SCROLLBAR-FACE-COLOR: #7897b3; SCROLLBAR-3DLIGHT-COLOR: #D9E6EF;
SCROLLBAR-ARROW-COLOR: #000000; SCROLLBAR-DARKSHADOW-COLOR: #7A7A7A; OVERFLOW: auto;
BORDER-RIGHT: #7897b3 0px solid; BORDER-TOP: #7897b3 0px solid; FONT-SIZE: 11px;
BORDER-LEFT: #7897b3 0px solid; WIDTH: 330px; BORDER-BOTTOM: #7897b3 0px solid; HEIGHT: 119px"></textarea>
</td>
</tr>
<tr height="15">
<td colspan="2"></td>
</tr>
<tr height="21">
<td></td>
<td align="center"><input type="image" name="submitB" id="submitB" style="CURSOR: hand" src="UserFiles/Image/other/button.jpg" width="116" height="21"></td>
</tr>
</tbody>
</form>
</table>


Вспомнила еще - а как сделать чтобы после успешной отправки сообщения на эране появлялось "Спасибо. Наш сотрудник свяжется с Вами в ближайшее время." ? Заранее спасибо!



Спустя 2 часа, 9 минут, 51 секунда (16.11.2007 - 10:15) bars80080 написал(а):
святые угодники!
такого фарша из css стоит поискать, единственное что может извинить, это если форма версталась в каком-нибудь хитроумном редакторе, который создаёт подобную дрянь
1. выкинь его и пиши в текстовом редакторе!
2. у меня форма появляется, правда твой фарш из стилей очень эффективно истребляет всякие границы у полей и потому их просто не видно
3. что там у тебя js проверяет, не по моей части
4. а собственно скрипта отправки здесь нет, смотри в топиках там эта тема неоднократно разбиралась

Спустя 33 минуты, 10 секунд (16.11.2007 - 10:49) Roxie написал(а):
А если так:
Код
<!--$mymail = "name@yandex.ru"
if(empty($go)) {
-->
<form action="&lt;?echo $PHP_SELF;?&gt;" method="post" name="[object]">
    <p>&nbsp;</p>
    <p>Ваше имя: <input name="name" /><br />Ваш e-mail: <input name="mail" /><br />Сообщение: <textarea rows="10" cols="50" name="message"></textarea><br />
    <td align="center"> /td>
    <input id="submitB" style="CURSOR: hand" type="image" height="21" width="116" img="UserFiles/Image/other/button.jpg" name="submitB" /> </p>
</form>
<!--}
else {
if(!preg_match("/^([a-z,0-9])+@([a-z,0-9])+(.([a-z,0-9])+)+$/", $mail)) {
$bad = "Неправильный e-mail<br>";
}
if(empty($message)) {
$bad .= "Нет сообщения<br>";
}
if ($bad) {
echo $bad;
exit;
}
$temp = "Пришло сообщения с обратной связи $message";
$subj = "Сообщение с сайта";
$body = $temp;
$adds = "From: $mail ";
$adds .= "X-Sender: < $mail > ";
$adds .= "Content-Type: text/plain; charset=windows-1251 ";
mail($mymail,$subj,$body,$adds);
}
-->


Только изображение кнопки не отображается sad.gif Что исправить?

Спустя 25 минут, 17 секунд (16.11.2007 - 11:14) bars80080 написал(а):
<input id="submitB" style="CURSOR: hand" type="image" height="21" width="116" img="UserFiles/Image/other/button.jpg" name="submitB" />
вместо img надо бы src
<form action="&lt;?echo $PHP_SELF;?&gt;" - интересная конструкция, работает?
если хотите адресацию на ту же страницу, на которой лежит форма action вообще можно не указывать

Спустя 27 минут, 32 секунды (16.11.2007 - 11:41) Roxie написал(а):
img src уже исправила, спасибо smile.gif
А вот как сделать-то чтоб выскакивало после отправки окошечко или открывалась страница с инфо?

И кнопка что-то отображается над формой?! как ее вниз поставить?

Спустя 2 часа, 5 минут, 42 секунды (16.11.2007 - 13:47) bars80080 написал(а):
кнопка над формой, потому что она у тебя не находится внутри тегов таблицы, упорядочи структуру, либо везде исплльзуй только <br /> внутри формы, либо опиши ровную таблицу

$adds .= "Content-Type: text/plain; charset=windows-1251 ";
mail($mymail,$subj,$body,$adds);
echo 'Спасибо. Наш сотрудник свяжется с Вами в ближайшее время';
}
либо

$adds .= "Content-Type: text/plain; charset=windows-1251 ";
mail($mymail,$subj,$body,$adds);
echo '<script> alert('Спасибо. Наш сотрудник свяжется с Вами в ближайшее время');</script>';
}
но это уже изощрение

Спустя 15 минут, 38 секунд (16.11.2007 - 14:03) Roxie написал(а):
Это надо прописывать в <form action= ? или куда?
unsure.gif

Спустя 9 минут, 44 секунды (16.11.2007 - 14:12) Roxie написал(а):
Пишет ошибку

Parse error: parse error, unexpected '=' in d:\hst\amadea-ru_3670f230\http\url.php(42) : eval()'d code on line 1

Спустя 5 часов, 5 минут, 3 секунды (16.11.2007 - 19:18) Roxie написал(а):
Я прописала echo, но почему-то все автоматически переводится на главную...хм... а на почту все равно не отправляется sad.gif
Вот что получилось на данный момент:
Код
<!--$mymail = "name@yandex.ru"
if(empty($go)) {
-->
<form action=" " method="post" name="[object]">
    <p>&nbsp;</p>
    <p>Ваше имя:&nbsp; &nbsp;&nbsp;<input name="name" /><br />Ваш e-mail:&nbsp; &nbsp;<input name="mail" /><br />Сообщение: <textarea rows="10" cols="50" name="message"></textarea><br /><input id="submitB" style="CURSOR: hand" type="image" height="30" width="124" src="/UserFiles/Image/other/button.jpg" longdesc="undefined" name="submitB" /> </p>
</form>
<!--}
else {
if(!preg_match("/^([a-z,0-9])+@([a-z,0-9])+(.([a-z,0-9])+)+$/", $mail)) {
$bad = "Неправильный e-mail<br>";
}
if(empty($message)) {
$bad .= "Нет сообщения<br>";
}
if ($bad) {
echo $bad;
exit;
}
$temp = "Пришло сообщения с обратной связи $message";
$subj = "Сообщение с сайта";
$body = $temp;
$adds = "From: $mail ";
$adds .= "X-Sender: < $mail > ";
$adds .= "Content-Type: text/plain; charset=windows-1251 ";
mail($mymail,$subj,$body,$adds);
echo 'Спасибо. Наш сотрудник свяжется с Вами в ближайшее время';
}
-->


Спустя 1 год, 2 месяца, 8 дней, 17 часов, 12 минут, 28 секунд (25.01.2009 - 12:30) Ink-developer написал(а):
Для реализации обратной связи без заморачивания со скриптами могу предложить сервис:
Обратная связь у вас на сайте
5 минут и готово, работает даже на хостинге без php
Устанавливаеш форму обратной связи пишеш админу е-mail на который должны приходить письма и все готово

Спустя 1 час, 5 секунд (25.01.2009 - 13:30) twin написал(а):
Вот так примерно должен выглядеть Ваш скрипт. Только совет - не копируйте тупо, попробуйте разобраться (найти 10 отличий smile.gif )
PHP
<?php
$mymail 
= "name@yandex.ru";
$mail = isset($_POST['mail'])?$_POST['mail']:null;
$message = isset($_POST['message'])?$_POST['message']:null;
$name = isset($_POST['name'])?$_POST['name']:null;
if(isset(
$_POST['go_x'])) 
{
    if(!$mail) 
    $bad 
= "Нет e-mail<br>";
    elseif(!preg_match("/^([a-z,0-9])+@([a-z,0-9])+(.([a-z,0-9])+)+$/", $mail))
    $bad = "Неправильный e-mail<br>";

    if(!$message) 
    $bad 
.= "Нет сообщения<br>";

    if (!$bad) 
    
{
$subj = "Пришло сообщения с обратной связи www.my_site.ua ";
$body = nl2br($message)."<br>от: <b>".$name."</b>";
$adds = "From: $mail\r";
$adds .= "X-Sender: < $mail > \r";
$adds .= "Content-Type: text/html; charset=utf-8 ";

        if(mail($mymail,$subj,$body,$adds))
        {
echo "Спасибо. Наш сотрудник свяжется с Вами в ближайшее время.<a href='?'> Еще письмецо?</a>";
        exit();
        }
    }
}


echo $bad;
?>
<form action=" " method="post" name="[object]">
    <p>&nbsp;</p>
    <p>Ваше имя:&nbsp; &nbsp;&nbsp;
    <input type="text" name="name" value="<?php echo htmlspecialchars($name) ?>"/><br />
    Ваш e-mail:&nbsp; &nbsp;
    <input type="text" name="mail" value="<?php echo htmlspecialchars($mail) ?>" /><br />
    Сообщение: <textarea rows="10" cols="50" name="message"><?php echo htmlspecialchars($message) ?></textarea><br />
    <input id="submitB" style="CURSOR: hand" type="image" height="30" width="124" src="/UserFiles/Image/other/button.jpg" longdesc="undefined" name="go" /> </p>
</form> 

Спустя 18 дней, 22 часа, 12 минут, 11 секунд (16.02.2009 - 11:42) martiny007 написал(а):
Здравствуйте. Чтобы упростить себе жизнь, можно использовать форуму обратной связи предоставленную сервисом www.vipform.ru . Форма будет работать на любом сайте. Но немного мозгов всегда не помешает!

Спустя 2 года, 2 месяца, 22 дня, 12 часов, 55 минут, 41 секунда (8.05.2011 - 23:38) Гость_сергей написал(а):
[color=darkblue][/color][size=1][/size]
вы можете связаться со мной


_____________
Быстрый ответ:

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