Отправка письма несколько раз
Здравствуйте, уважаемые!
Возникла следующая проблема. Есть код в js: function dist() { .... if (distance > radius) { fullmarker[i]['marker'].setVisible(false); } else { fullmarker[i]['marker'].setVisible(true); //var markeremail ='title=' +JSON.stringify(fullmarker[i]['marker']['title']); markeremail.push(fullmarker[i]['marker']['title']); } Отправляю массив markeremail через ajax в php: $("#formMain").submit(function() { var form = $(this); var error = false; form.find('input, textarea').each( function(){ if ($(this).val() == '') { alert('Зaпoлнитe пoлe "'+$(this).attr('placeholder')+'"!'); error = true; } }); if (!error) { var data = form.serialize(); $.ajax ({ type: 'POST', data: {data: data, markeremail: markeremail}, url: '../php/mail.php', beforeSend: function(data) { form.find('input[type="submit"]').attr('disabled', 'disabled'); }, error: function() { alert ("Ошибка отправки ajax"); }, success: function(data) { alert(data); alert('Письмo oтврaвлeнo! Чeкaйтe пoчту! =)'); //markeremail = []; }, complete: function(data) { form.find('input[type="submit"]').prop('disabled', false); } }); } return false; }); PHP отправляет массив на почту: <?php if ($_POST) { $cats = array_values($_POST['markeremail']); //убираем ключи "cat[]" $post_category = implode(", ", $cats); //преобразуем массив в строку значений echo $post_category; //$markerEN = json_encode($_POST['markeremail']); //$markerDEC = json_decode($markerEN); //var_dump($markerDEC); //var_dump(json_decode(json_encode($_POST['markeremail']),true)); $to = "katarina_98@mail.ru"; $_POST['email']; $subject = "Ваши сохраненные места!"; $message = ' <html> <head> <title>Ваши сохраненные места на сайте:</title> </head> <body> <p>' .$post_category. '</p> </body> </html>'; $headers = "Content-type: text/html; charset=windows-1251 \r\n"; $headers .= "From: katarina_98@mail.ru \r\n"; mail($to, $subject, $message, $headers); } ?> Ух и много кода получилось. Но без него не объяснить всей ситуации. Проблема в том, что при первой отправке письма все происходит корректно. Когда в этой же сессии отправляешь новые значения - отправляются сначала все письма, которые были до этого и только потом последние значения. Вопрос: как избавиться от этого дублирования? Предполагаю, что необходимо очищать массив markeremail после каждой отправки письма. Но когда я пыталась очищать массив (markeremail =[]) и в аяксе, и до, и после него - появлялась куча ошибок, но дублирование не прекращалось... Помогите подсказкой или советом, уж больно сложная для меня задачка... :help: Спасибо заранее! |
А зачем нужен массив markeremail? Чего на странице вытворяется ведь не известно, кода нет, пояснений нет...
|
Часовой пояс GMT +3, время: 14:31. |