Здравствуйте. Я делаю форму заказа товаров на сайте, и для этого я использую formmail скрипт. Я хотел бы чтобы в письме и в страничке об успешной отправки добавлялась строчка "Номер заказа" и число которое соответствовало бы номеру отправленного письма. Подскажите как это сделать? Спасибо.
приведите тут кусочки кода, которые отвечают за вывод информации об успешной отправке и за отправку письма
Код странички : PHP: if (send_mail()) { if (isset($form['redirect'])) { if (isset($form['redirect_values'])) header('Location: ' . $form['redirect'] . '?' . getenv('QUERY_STRING') . "\r\n"); else header('Location: ' . $form['redirect'] . "\r\n"); } else { if (!isset($form['title'])) $form['title'] = 'PHPFormMail - Form Results'; $output = "<h1>Ваш заказ был отправлен.</h1>\n"; reset($form); while (list($key,$val) = each($form)) { if ((!$in_array_func($key,$invis_array)) && ((isset($form['print_blank_fields'])) || ($val))) { $output .= '<div class="field"><b>'; if(($use_field_alias) && ($form['alias_method'] != 'email')) $output .= htmlspecialchars($fieldname_lookup[$key]); else $output .= htmlspecialchars($key); if ((isset($form['hidden'])) && ($in_array_func($key,$form['hidden']))) $output .= ":</b> <i>(hidden)</i></div>\n"; else $output .= ':</b> ' . nl2br(htmlspecialchars(stripslashes($val))) . "</div>\n"; } } if (isset($form['return_link_url']) && isset($form['return_link_title'])) $output .= '<div class="returnlink"><a href="' . $form["return_link_url"] . '">'. $form["return_link_title"] . "</a></div>\n"; output_html($output); } } Код отправки почты PHP: function send_mail() { global $form, $invis_array, $valid_env, $in_array_func, $fieldname_lookup, $errors; if (!isset($form['subject'])) $form['subject'] = 'WWW Form Submission'; if (!isset($form['email'])) $form['email'] = [email='parts@slik.biz]'parts@slik.biz[/email]'; switch ($form['mail_newline']) { case 2: $mail_newline = "\r"; break; case 3: $mail_newline = "\r\n"; break; default: $mail_newline = "\n"; } if (isset($form['gmt_offset']) && ereg('^(\\-|\\+)?([0-9]{1}|(1{1}[0-2]{1}))$', $form['gmt_offset'])) { $mkseconds = mktime(gmdate('H') + $form['gmt_offset']); $mail_date = gmdate('F jS, Y', $mkseconds) . ' at ' . gmdate('h:iA', $mkseconds) . ' (GMT ' . $form['gmt_offset'] . ').'; } else $mail_date = date('F jS, Y') . ' at ' . date('h:iA (T).'); if (isset($form['realname'])) $realname = $form['realname']; elseif (isset($form['firstname']) || isset($form['lastname'])) $realname = trim($form['firstname'] . ' ' . $form['lastname']); $mailbody = 'Below is the result of your feedback form. It was submitted by' . $mail_newline; if (isset($realname)) $mailbody.= $realname . ' (' . $form['email'] . ') on ' . $mail_date . $mail_newline . $mail_newline; else $mailbody.= $form['email'] . ' on ' . $mail_date . $mail_newline . $mail_newline; reset($form); while (list($key,$val) = each($form)) { if ((!$in_array_func($key,$invis_array)) && ((isset($form['print_blank_fields'])) || ($val))) { if(($form['alias_method'] == 'email') || ($form['alias_method'] == 'both')) $mailbody .= $fieldname_lookup[$key]; else $mailbody .= $key; $mailbody .= ': ' . $val . $mail_newline; } } if (isset($form['env_report'])) { $temp_env_report = explode(',', $form['env_report']); $mailbody .= $mail_newline . $mail_newline . '-------- Env Report --------' . $mail_newline; while (list(,$val) = each($temp_env_report)) { if ($in_array_func($val,$valid_env)) $mailbody .= $val . ': ' . getenv($val) . $mail_newline; } } if (!isset($form['recipient'])) $form['recipient'] = ''; // Append lines to $mail_header that you wish to be // added to the headers of the e-mail. (SMTP Format // with newline char ending each line) $mail_header = 'From: ' . $form['email']; if (isset($realname)) $mail_header .= ' (' . $realname . ')'; $mail_header .= $mail_newline; if (isset($form['recipient_cc'])) $mail_header .= 'Cc: ' . $form['recipient_cc'] . $mail_newline; if (isset($form['recipient_bcc'])) $mail_header .= 'Bcc: ' . $form['recipient_bcc'] . $mail_newline; if (isset($form['priority'])) $mail_header .= 'X-Priority: ' . $form['priority'] . $mail_newline; else $mail_header .= 'X-Priority: 3' . $mail_newline; $mail_header .= 'Content-Type: text/plain; charset=utf-8' . $mail_newline; $mail_header .= 'X-Mailer: PHPFormMail ' . VERSION . ' ([url=http://www.boaddrink.com]http://www.boaddrink.com[/url])' . $mail_newline; $mail_status = mail($form['recipient'], $form['subject'], $mailbody, $mail_header); if (!$mail_status) { $errors[] = '1|Message could not be sent due to an error while trying to send the mail.'; error_log('[PHPFormMail] Mail could not be sent due to an error while trying to send the mail.'); } return $mail_status; }
не нашла у вас в коде переменную, отвечающую за номер письма (вероятно, плохо искала, но разбирать подробно код времени нет). допустим это переменная $numlet добавьте в строку: PHP: $output = "<h1>Ваш заказ был отправлен.</h1>Номер заказа".$numlet."\n"; и в переменную PHP: $mailbody = 'Below is the result of your feedback form. It was submitted by' . $mail_newline . 'Номер заказа: ' . $numlet;
Ввожу PHP: $mailbody = 'Below is the result of your feedback form. It was submitted by' . $mail_newline . 'Номер заказа: ' . $n; На почту приходит только "Номер заказа:" Ввожу PHP: $output = "<h1>Ваш заказ был отправлен.</h1>Номер заказа".$n."\n";; Отображается номер В чем проблема?