Помогите поправить код обратной связи

1. Владимир (17.10.2013 / 15:20)
Ребят, помогите поправить код.Болею, чёто голова не варит..в общем вот код
<?
if (isset ($_POST['message'])) {
$name = @ trim ($_POST['name']);
$contact = @ trim ($_POST['contact']);
$message = @ trim ($_POST['message']);
$captcha = @ trim ($_POST['captcha']);

if (! $name or ! $contact or ! $message or ! $captcha) echo ('<p style="color: red">Необходимо заполнить все поля</p>');

else { mail ("vovalika@mail.ru",
      "Сообщение с сайта (отправитель: $name)",
      "$message \n\n Контакты: \n $contact");
      echo ('<p style="color: green">Ваше сообщение получено, спасибо!</p>');
      $_POST['name'] = $_POST['contact'] = $_POST['message'] = '';
}
}
?>


echo '<FORM METHOD=POST">
Ваше имя:<br/>
<INPUT NAME="name" value="<?=@$_POST['name'];?>"><br/>
Контактная информация для связи с вами (icq, e-mail или номер телефона):<br/>
<INPUT NAME="contact" value="<?=@$_POST['contact'];?>"><br/>
Текст сообщения:<br/>
<TEXTAREA NAME="message" ROWS="8" COLS="17"><?=@$_POST['message'];?></TEXTAREA><br/>';

session_name("regsid");
$rand = mt_rand(10000, 99999);
$_SESSION['rand'] = $rand;
$sid = session_id();
echo '<img src="/img.php?regsid='.$sid.'" alt="This is CAPTCHA"/><br/>


Цифры с картинки:<br/>
<INPUT NAME="captcha" value="<?=@$_POST['captcha'];?>"><br/>
<INPUT TYPE="submit" value="Отправить">
</FORM>';
что то не работает..выручайте

2. Кевин Митник (17.10.2013 / 15:24)
ошибки какие?

3. Владимир (17.10.2013 / 15:26)
Кевин Митник_HHTeam (17 Октября 2013 / 11:24)
ошибки какие?
Не отправляется письмо на почту..тупо обновляется страница..+ на странице среди форм код скрипта светится

4. Кевин Митник (17.10.2013 / 15:28)
ааа вначале, после <? поставь php

<?php

5. Владимир (17.10.2013 / 15:31)
Кевин Митник_HHTeam (17 Октября 2013 / 11:28)
ааа вначале, после <? поставь php

<?php
разницы нет)

6. Кевин Митник (17.10.2013 / 16:14)
на, работает

<?
if (isset ($_POST['message'])) {
$name = @ trim ($_POST['name']);
$contact = @ trim ($_POST['contact']);
$message = @ trim ($_POST['message']);
$captcha = @ trim ($_POST['captcha']);

if (! $name or ! $contact or ! $message or ! $captcha) echo ('<p style="color: red">Необходимо заполнить все поля</p>');

else { mail ("vovalika@mail.ru",
      "Сообщение с сайта (отправитель: $name)",
      "$message \n\n Контакты: \n $contact");
      echo ('<p style="color: green">Ваше сообщение получено, спасибо!</p>');
      $_POST['name'] = $_POST['contact'] = $_POST['message'] = '';
}
}



echo '<FORM METHOD=POST">
Ваше имя:<br/>
<INPUT NAME="name" value="'.$_POST["name"].'"><br/>
Контактная информация для связи с вами (icq, e-mail или номер телефона):<br/>
<INPUT NAME="contact" value="'.$_POST["contact"].'"><br/>
Текст сообщения:<br/>
<TEXTAREA NAME="message" ROWS="8" COLS="17">'.$_POST["message"].'</TEXTAREA><br/>';

session_name("regsid");
$rand = mt_rand(10000, 99999);
$_SESSION['rand'] = $rand;
$sid = session_id();
echo '<img src="/img.php?regsid='.$sid.'" alt="This is CAPTCHA"/><br/>


Цифры с картинки:<br/>
<INPUT NAME="captcha" value="'.$_POST["captcha"].'"><br/>
<INPUT TYPE="submit" value="Отправить">
</FORM>'; 
?>


7. Samxal (17.10.2013 / 16:19)
После строки 17.
<FORM METHOD="POST"> 
Ваше имя:<br/> 
<INPUT NAME="name" value="<?=@$_POST['name'];?>"><br/> 
Контактная информация для связи с вами (icq, e-mail или номер телефона):<br/> 
<INPUT NAME="contact" value="<?=@$_POST['contact'];?>"><br/> 
Текст сообщения:<br/> 
<TEXTAREA NAME="message" ROWS="8" COLS="17"><?=@$_POST['message'];?></TEXTAREA><br/>
<?
session_name("regsid"); 
$rand = mt_rand(10000, 99999); 
$_SESSION['rand'] = $rand; 
$sid = session_id();
?> 
<img src="/img.php?regsid=<?=$sid?>" alt="This is CAPTCHA"/><br/> 

Цифры с картинки:<br/> 
<INPUT NAME="captcha" value="<?=@$_POST['captcha'];?>"><br/> 
<INPUT TYPE="submit" value="Отправить"> 
</FORM>


8. Владимир (17.10.2013 / 18:31)
Samxal (17 Октября 2013 / 12:19)
После строки 17.
<FORM METHOD="POST"> 
Ваше имя:<br/> 
<INPUT NAME="name" value="<?=@$_POST['name'];?>"><br/> 
Контактная информация для связи с вами (icq, e-mail или номер телефона):<br/> 
<INPUT NAME="contact" value="<?=@$_POST['contact'];?>"><br/> 
Текст сообщения:<br/> 
<TEXTAREA NAME="message" ROWS="8" COLS="17"><?=@$_POST['message'];?></TEXTAREA><br/>
<?
session_name("regsid"); 
$rand = mt_rand(10000, 99999); 
$_SESSION['rand'] = $rand; 
$sid = session_id();
?> 
<img src="/img.php?regsid=<?=$sid?>" alt="This is CAPTCHA"/><br/> 

Цифры с картинки:<br/> 
<INPUT NAME="captcha" value="<?=@$_POST['captcha'];?>"><br/> 
<INPUT TYPE="submit" value="Отправить"> 
</FORM>
Оу..спасибо.Заработало..пишет сообщение типа отправлено, но письмо не приходит на почту..не знаешь почему?

9. Алексей (17.10.2013 / 20:51)
8. MMdance, с локального сервера не отправишь, точней оно отправится визуально и будет хранится в системной папке с логами. Поставь скрипт на хост или сервер, потом оно отправится.

Добавлено через 01:31 сек.
8. MMdance, также совместно с функцией tirm используйте htmlspecialchars().

10. Владимир (17.10.2013 / 21:07)
ByKuznec (17 Октября 2013 / 16:51)
8. MMdance, с локального сервера не отправишь, точней оно отправится визуально и будет хранится в системной папке с логами. Поставь скрипт на хост или сервер, потом оно отправится.
Ну так у меня скрипт и стоит на хосте...
Добавлено через 01:31 сек.
8. MMdance, также совместно с функцией tirm используйте htmlspecialchars().


11. Владимир (17.10.2013 / 21:42)
ByKuznec (17 Октября 2013 / 16:51)
8. MMdance, с локального сервера не отправишь, точней оно отправится визуально и будет хранится в системной папке с логами. Поставь скрипт на хост или сервер, потом оно отправится.

Добавлено через 01:31 сек.
8. MMdance, также совместно с функцией tirm используйте htmlspecialchars().

Ну так то он стоит на хосте

12. Владимир (17.10.2013 / 23:37)
Ума не приложу почему письма не приходят..и куда они вообще деваются тогда

13. Titov (17.10.2013 / 23:51)
11 ну а просто без формы
<?php
mail("твой маил", "твоё письмо", "твое сообщение");
?>
добавь в скрипт
ini_set('display_errors',1);
error_reporting(E_ALL);
в хитачес можно добавить еще:
php_flag display_errors 1
и убери всех "@" - собак из кода, давай ошибки посмотрим что дает? думаю у тебя обработчик формы балуеться, попробуй кодировку исполняемых файлов изменить.

14. Topiary (18.10.2013 / 17:04)
Смотрим php.ini
Чему равно sendmail_path

Важно включить консоль ошибок если используется
sendmail.ini
debug_logfile=debug.log


Рестарт....
Если письмо не отправится смотрим debug.log

15. Владимир (18.10.2013 / 22:06)
Всё ребят разобрался..оказывается косяк в VDS был..всё заработало..но теперь другая проблема..письма приходят с каракулями...как быть?кодировку файла скрипта менял с utf8 на win1251 не помогает....база тут вроде не причём..он её не касается...посоветуйте

16. Samxal (18.10.2013 / 22:33)
MMdance (18 Октября 2013 / 18:06)
Всё ребят разобрался..оказывается косяк в VDS был..всё заработало..но теперь другая проблема..письма приходят с каракулями...как быть?кодировку файла скрипта менял с utf8 на win1251 не помогает....база тут вроде не причём..он её не касается...посоветуйте

Так пробуй
  
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit' . "\r\n";

mail(
"vovalika@mail.ru", 
"Сообщение с сайта (отправитель: {$name})", 
"{$message} \n\n Контакты: \n {$contact}", 
$headers
);


URL: https://visavi.net/topics/39234