Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите пожалуйста с цикличностью
Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2015
Помог: 0 раз(а)
Все работает идеально, но список товаров $tovari не сбивается после первого письма, а наростает. То есть первый емейл отправляется с одним товаром, так как например в первом заказе он один, а во втором заказе их два. В итоге во втором емейле два товара + еще один с первого.
Дело в том что например в одном заказе всего лишь один товар и $tovari = ""; будет работать норм, но если в заказе больше одного товара то $tovari = ""; будет выводить только последний, по этому нужно писать $tovari .= ""; вместо $tovari = "";
DeepVarvar
Отправлено: 18 Октября, 2015 - 23:09:24
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
avto-fishka тебе надо научиться разделять задачи на более мелкие подзадачи.
Прекращай писать реки жидкого дерьма и начинай раскладывать все по полочкам.
Проверив как работает некоторый кусочек кода делающий простую задачу, ты сможешь сконцентрироваться на более высокоуровневых задачах использующих множество таких проверенных кусочков.
Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2015
Помог: 0 раз(а)
DeepVarvar пишет:
avto-fishka тебе надо научиться разделять задачи на более мелкие подзадачи.
Прекращай писать реки жидкого дерьма и начинай раскладывать все по полочкам.
Проверив как работает некоторый кусочек кода делающий простую задачу, ты сможешь сконцентрироваться на более высокоуровневых задачах использующих множество таких проверенных кусочков.
Блинн, да знаю я это, в принципе этот код именно так и писался, но когда дошло до вывода товаров в письмо пришлось добавить переменную $tovari , вставил вроде заработало, начал тестить и понял что товары не сбрасываюся для каждого нового письма, а наростают...
пробовал тыкать $tovari в другие места но все ровно не получилось...
скажу сразу что в php не силен, и этот код делал из других кодов
Строитель
Отправлено: 18 Октября, 2015 - 23:37:46
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
avto-fishka пишет:
да знаю я это
надо не говорить о знании, а использовать его. По сабжу - код действительно ужасный(ничего личного, только факты). Если хотите, позволю себе дать вам пару советов:
1. Перед конкатенацией надо объявить переменную
Ну и вопрос - почему функция mail($to, $subject, $message, $headers); у вас в цикле?
А где ему быть? Ведь нужно что бы в конце цикла он отправлял письмо
Только что попробовал выкинуть mail($to, $subject, $message, $headers); после цикла, в итоге письмо не пришло
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
avto-fishka пишет:
В смысле объявить переменную?
То есть вот так:
$tovari = '';
$tovari .= '<tr align="center">';
????
Да, именно так.
avto-fishka пишет:
Ведь нужно что бы в конце цикла он отправлял письмо
Что вы подразумеваете под концом цикла: конец итерации(один проход цикла)? Или завершение выполнения цикла?
У вас в коде функция mail() "дёргается" циклом ровно столько, сколько цикл выполняется. Ну а вообще надо в цикле накопить в переменную информацию, а уже за пределами цикла передать эту инфу в функцию. В логику вашего скрипта я не вникал, ибо очень много говна разгребать нехочется. (Добавление) avto-fishka, в вашем случае есть другой вариант - найдите готовый скрипт отправки email, и напишите под свои нужды обёртку для него. И потом просто в функцию(обёртку) передавайте ваши параметры.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.