Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2013, 23:33   #1
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию mail

Код:
  <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
<div>

<label for="name"><strong>Name:</strong></label>
<input type="text" size="50" name="contactname" id="contactname" value="" class="required" />
</div>
 <div>
  <label for="email"><strong>Email:</strong></label>
  <input type="text" size="50" name="email" id="email" value="" class="required email" />
  </div>
 <div>
  <label for="subject"><strong>Subject:</strong></label>
  <input type="text" size="50" name="subject" id="subject" value="" class="required" />
  </div>
 <div>
  <label for="message"><strong>Message:</strong></label>
  <textarea rows="5" cols="50" name="message" id="message" class="required"></textarea>
  </div>
  <input type="submit" value="Send Message" name="submit1" />
  </form>
                        </h2>
			<?php
  //Если форма отправлена
  if(isset($_POST['submit1'])) {
 //Проверка Поля ИМЯ
  if(trim($_POST['contactname']) == '') {
  $hasError = true;
  } else {
  $name = trim($_POST['contactname']);
  }
 //Проверка поля ТЕМА
  if(trim($_POST['subject']) == '') {
  $hasError = true;
  } else {
  $subject = trim($_POST['subject']);
  }
 //Проверка правильности ввода EMAIL
  if(trim($_POST['email']) == '')  {
  $hasError = true;
  } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
  $hasError = true;
  } else {
  $email = trim($_POST['email']);
  }
 //Проверка наличия ТЕКСТА сообщения
  if(trim($_POST['message']) == '') {
  $hasError = true;
  } else {
  if(function_exists('stripslashes')) {
  $comments = stripslashes(trim($_POST['message']));
  } else {
  $comments = trim($_POST['message']);
  }
  }
 //Если ошибок нет, отправить email
  if(!isset($hasError)) {
  $emailTo = 'name@yourdomain.com'; //Сюда введите Ваш email
  $body = "Name: $name \n\nEmail: $email \n\nSubject: $subject \n\nComments:\n $comments";
  $headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
 mail($emailTo, $subject, $body, $headers);
  $emailSent = true;
  }
  else
  {
      echo 'Error';  
      
  }
  }
  ?>
Почему то просто не отправляется на указанное мыло
мб кто найдет ошибку
linkoln_7 вне форума Ответить с цитированием
Старый 28.05.2013, 09:03   #2
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

наверное, потому, что тестируете на локальном сервере?
код вполне себе рабочий...
Minus_yu вне форума Ответить с цитированием
Старый 28.05.2013, 09:42   #3
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

тестирую на реальном серваке
linkoln_7 вне форума Ответить с цитированием
Старый 28.05.2013, 10:24   #4
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

попробуйте проверить просто отправку банально добавив условие
Код:
if(!mail($emailTo, $subject, $body, $headers)) die('Error send email');
и скажите, что получите в результате
CodeNOT вне форума Ответить с цитированием
Старый 28.05.2013, 10:33   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от linkoln_7 Посмотреть сообщение
тестирую на реальном серваке
Функция mail() вполне может быть отключена в настройках сервера – для борьбы со спамерами на шаровых или недорогих хостингах.
Как это проверить?

Если функция включена – читать FAQ хостера по настройкам почты, обратиться в саппорт.
Код страшноватый – но рабочий, единственное предупреждение:
Цитата:
Deprecated: Function eregi() is deprecated in ...
Эту функцию стóит заменить на preg_match().
Andkorol вне форума Ответить с цитированием
Старый 28.05.2013, 20:10   #6
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

ничего не изменилась,забиваю форму,нажимаю на кнопку отправить форма очищается и все
linkoln_7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция mail() и mail.ru Varhal PHP 2 23.03.2012 04:03
mail() Dmitry1983 PHP 1 16.08.2011 01:15
e-mail Rio309 Работа с сетью в Delphi 8 12.02.2008 11:23