Почему приходит по два письма с одной формы yii2?

Стало приходить по два письма вместо одного

yiiframework.ru/forum/viewtopic.php?t=21446 - пробовал но вроде не менятся ничего

Реализовано через виджеты
За все отправки отвечает одна модель
public function contact($email)
  {
    if($this->...){
      $message = "Имя: {$this->name}\nEmail или телефон: {$this->phone}\nСообщение: {$this->body}\n\nСообщение с сайта: {$this->url_site}";
      if ($this->validate()) {
        Yii::$app->mailer->compose()
          ->setTo([
//            ..
          ])
          ->setFrom([$this->email => $this->name])
          ->setSubject($this->subject."ъзъх")
          ->setTextBody($message)
          ->send();

        return true;
      }
    }
    return false;
  }


Пример кода виджета
<?php

namespace app\components;

use Yii;
use yii\base\Widget;
use app\models\ContactForm;

class FBFWidget extends Widget
{
    public function run()
    {
        $model = new ContactForm();
        if ($model->load(Yii::$app->request->post()) && $model->contact(Yii::$app->params['adminEmail'])) {
        Yii::$app->session->setFlash('contactFormSubmitted');
        }
        return $this->render('fbfWidget', [
            'model' => $model,
        ]);
    }
}


Пробовал по очереди отключать виджеты всё равно приходило по два письма.

На что стоит обратить внимание?

____

Ещё удивительно что эта особенность началась в тот день когда я за него вроде не садился, да и формы я не трогал давно. В общем странное поведение.
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
AlexMaxTM
@AlexMaxTM
Подобная проблема может возникать у браузера Google Chrome, если отсутствует файл favicon.ico в корне сайта.
Об этой проблеме на хабре
Лечится либо добавлением файла favicon.ico, либо настройкой htaccess
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@trudofan
web-мастер
У меня такая же история прилипла на фоне бездействия.

Кнопка в JS:
$('#formvopros').submit(function(s){
  
if($('#bloxa').val()){
       $('.text_voprosa').css({'background-color':'rgba(171, 220, 255,.7)'});
   s.preventDefault();
    var b = $(this);
    $.ajax({
            type: "POST",
            url: "obr_vopros.php",
            data: b.serialize(),
            success:  function() {
                vi_4.fadeOut();
                vi_5.animate({'top':'50%'},1000);
                setTimeout(funpris,5000);
            }
    }); 
} else{
   $('.iitog p').html('Укажите действительные данные');
   $('.text_voprosa').css({'background-color':'rgba(250, 2, 2,.5)'});
   s.preventDefault();
}
});

В HTML:
<p class="vopros on_5"><input type="submit" class="bot in_5" valur="Отправить"></p>

И обработчик:
mail("...@yandex.ru","Заказан просчет стоимости ремонта","Содержание сообщения:".$telo,"From: info@....ru \r\n");


Казалось бы, откуда может дубляж идти. Но! Была проблема, что вообще ничего не отправлялось. Писал в поддержку на хостинг. Они ковырнули и стало по два письма прилетать. Снова им написал о проблеме. Думаю, что полечат. 100% их косяк.

Я разработчик простых и высококонверсионных сайтов от РА КАВИОЛ, поэтому основном маркетинг в теме, а программирование только поверхностное - разработка компонентов gaming
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы