Отправить письмо с php, когда значение меняется - PullRequest
0 голосов
/ 14 марта 2019

Я хотел бы отправить электронное письмо с Php, чтобы уведомить об изменении статуса.Вот код.

public function statut( $id ) {

    $info = get_post_meta( $id, '_ecole_statut', true );

    $statut = array(
        'transport'         => 'Transport normal',
        'transport_cl'      => 'success',
        'ecole'                 => 'École ouverte',
        'ecole_cl'          => 'success',
        'commentaire'   => ''
    );

    if( $info && current_time( 'timestamp' ) <= $info['date'] ){
        switch ($info['transport']){
            case "non":
                $statut['transport'] = "Transport annulé";
                $statut['transport_cl'] = 'danger';
            break;
            case "autre":
                $statut['transport'] = "Transport perturbé";
                $statut['transport_cl'] = 'warning';
            break;
            default:
                $statut['transport']  = "Transport normal";
                $statut['transport_cl'] = 'success';
            break;
        }
        switch ($info['ecole']){
            case "non":
                $statut['ecole'] = "École fermée";
                $statut['ecole_cl'] = 'danger';
            break;
            default:
                $statut['ecole'] = "École ouverte";
                $statut['ecole_cl'] = 'success';
            break;
        }

        $statut['commentaire'] = !empty( $info['commentaire'] ) ? '<small>' . $info['commentaire'] . '</small>' : '';
    }

    return $statut;
}

А вот строка, которую я пробовал, но она отправляет электронную почту, для всего списка школ, а не просто для того, кто меняет, и я заканчиваю с 10 электронных писемв моем почтовом ящикеЯ хотел бы, чтобы в нем отображалось название школы и статус школ с надписью "Transport annulé", "Transport perturbé" и "École fermée"

if ($tatut ['transport'] = "Transport annulé")
{
    mail('aport-lis@cscmonavenir.ca',
         'Nouvelle alerte intemperies',
          "".$abbr." Transport " .$statut['transport'] .
          " Ecole ".$statut['ecole']."");
}

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Эта строка выглядит проблемной

if ($tatut ['transport'] = "Transport annulé")

Сначала она выглядит как опечатка, а вместо $tatut вы хотите $statut.Но кроме этого для сравнения используется == (или ===).Использование одного = означает назначение, и ваше состояние всегда true.

0 голосов
/ 14 марта 2019

if ($tatut ['transport'] = "Transport annulé") необходимо прочитать if ($tatut ['transport'] == "Transport annulé")

Вы устанавливаете значение «Транспорт аннулировать» в своем операторе if, когда вы используете одиночный =, вам нужно использовать двойной == для сравнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...