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 :: Отправка письма функ. mail() - немогу импортировать переменные [2]
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
wmz38
Отправлено: 17 Октября, 2007 - 16:39:45
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007
Помог: 0 раз(а)
спасибо конечно, я реально признателен (не стоило все делать за меня, спасибо все же)- объяснение прошло, но извиняюсь конечно, вы объявили массив и заполнили с разными именами. Если я правильно все понял.
EuGen
Отправлено: 17 Октября, 2007 - 16:42:48
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Да, в goodsInfo нужно конечно же при инициализации:
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
wmz38
Отправлено: 17 Октября, 2007 - 17:15:29
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007
Помог: 0 раз(а)
кстати я вывел перед отправкой на почту, она выводится, все хоккей - но на почту письмо так и не приходит, хотя пишет что отправлено =))) .
я думаю дело тут(просто поправьте если что):
и в функции переменная $to и $subject не объявлены
EuGen
Отправлено: 17 Октября, 2007 - 17:50:30
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Ясное дело, не объявлены. Я специально в этом месте до конца не дописал как надо, чтобы Вам пришлось поковыряться и подставить сюда значения нужных элементов массива, иначе бы в этом обсуждении (если бы я за Вас все сделал) не было бы смысла. Так что подставьте туда их, пожалуйста, и посмотрите результат (((*
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
wmz38
Отправлено: 17 Октября, 2007 - 22:56:53
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007
Помог: 0 раз(а)
Евген, огромное спасибо за поддержку - я реально рад, что не стали лить тонну грязи, а отнеслись по человечески!
буду усердно изучать материал!
EuGen
Отправлено: 18 Октября, 2007 - 09:21:43
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Хм. наш форум для этого и есть. Мы всегда относимся с пониманием к просьбам в рамках вопросов, не нарушающих правил форума (как например, Ваш). Так что обращайтесь, мы всегда поможем.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
wmz38
Отправлено: 05 Ноября, 2007 - 14:17:53
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007
Помог: 0 раз(а)
Вот проблема - ничерта непойму:
Если взять предыдущий вариант, то отправление на почту через mail(); функцию проходило, а теперь после включения доп. фишек в скрипт не проходит
Объясните пожалуйста почему функция sendMail не исполняет mail($to, $subject, $body, $header)?
$mail_err1 = "<font color="red"class="bodytext">Вы не правильно заполнили поле <b>E-mail</b>, формат заполнения должен быть таким: name@somesite.ru!</font><br>";
$send = "no";
}
// ОБРАБАТЫВАЕМ КАРТИНКУ
$txt=fopen('cr.dat',"r");
$code=fgets($txt,100);
fclose($txt);
if ($image !== $code)
{
$message_err_img = "<font color="red"class="bodytext">Повторите код, указанный на картинке</font><br>";
$send = "no";
}
// ВЫВОДИМ ОШИБКУ ПРОВЕРКИ
if ($send == "no")
{
echo "<center>";
echo "$message_err_img";
echo "$name_err";
echo "$mail_err";
echo "$mail_err1";
echo "<a href="cart_test1.php"class="bodytext">Вернитесь назад и повторите попытку</a><br>";
echo "</center>";
}
}
EuGen
Отправлено: 06 Ноября, 2007 - 09:45:25
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Брр.. странно Вы как-то делаете. Во-первых, Вы объявляете функцию условно. То есть функция у Вас объявляется только если "Кнопка нажата". Может быть, так оно и задумано, но я бы рекомендовал избегать таких конструкций, так как в дальнейшем это может усложнить понимание скрипта. Во-вторых, Вы что-то делаете до того, как идет проверка данных формы. Какой смысл писать проверку правильности после того, как уже сделана отправка? (которая у Вас происходит при единственной проверке - нажата ли кнопка).
В-третьих, нет смысла писать так:
Потому что достаточно проверять, установлен ли такой элемент массива. Плюс к тому, в $_REQUEST попадают еще и куки, которые имеют больший приоритет, чем $_GET и $_POST переменные. Так как форма у Вас передает данные методом POST, то разумнее писать:
И, наконец, в-четвертых, приведите пример результатов работы скрипта - что происходит, когда кнопку все-таки нажмут? Далее, Вы делали дампы переданных в sendMail переменных? что Вы видите там?
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
wmz38
Отправлено: 06 Ноября, 2007 - 10:19:44
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007
Помог: 0 раз(а)
Спасибо EuGen.
Тоесть другими словами последовательность кода при веденного выше идет шиворот на выворот. В принципе я уже думал об этом, поэтому выложил весь скрипт, так как не совсем понимаю как может быть организованна последовательность.
Цитата:
И, наконец, в-четвертых, приведите пример результатов работы скрипта - что происходит, когда кнопку все-таки нажмут? Далее, Вы делали дампы переданных в sendMail переменных? что Вы видите там?
1. выбираем товар
2. заходим в корзину и видим: --- выбранный товар, тут все верно - отображается как задуманно
ниже строкой: --- Кнопка не нажата!!
еще ниже строкой: --- Вам необходимо заполнить заявку приведенную ниже
еще ниже строкой: --- форма("имя", "емайл", "изображение картинки", п"комментарий")
3. заполняем форму правильно, нажимаем кнопку "выполнить" - видим:
mail("To: mail@mysite.ru","Subject: Новый заказ с сайта!","тут ваше сообщение","тут ваши заголовки");
дойдет. Я в этом сильно сомневаюсь. Потому что вряд ли есть такой e-mail - "To: mail@mysite.ru". Все-таки нужно указывать "mail@mysite.ru". Это вроде слишком очевидно.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
wmz38
Отправлено: 06 Ноября, 2007 - 13:04:27
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007
Помог: 0 раз(а)
EuGen, естественно нет накакого mysite.ru - я все замаскировал, честно говоря нехочу светить сайтом. У меня сейчас есть рабочий код БЕЗ проверок, он доходит на почту.
evgenijj
Отправлено: 06 Ноября, 2007 - 13:32:51
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
wmz38 пишет:
EuGen, естественно нет накакого mysite.ru - я все замаскировал, честно говоря нехочу светить сайтом. У меня сейчас есть рабочий код БЕЗ проверок, он доходит на почту.
Дело не в mysite, а в том, что ты передаешь функции неправильные значения. Посмотри описание функции http://php.su/functions/?mail
Там и пример есть
mail("joecool@example.com", "My Subject", "Line 1nLine 2nLine 3");
и сравни как у тебя
mail("To: mail@mysite.ru", "Subject: Новый заказ с сайта!", "тут ваше сообщение", "тут ваши заголовки");
wmz38 пишет:
а теперь после включения доп. фишек в скрипт не проходит
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.