Запись в БД данных из формы.

Статус
В этой теме нельзя размещать новые ответы.

kabasik

Полиционер
Регистрация
14 Мар 2012
Сообщения
226
Реакции
73
Здравствуйте, есть скрипт, корзина, работает по принципу обратной связи
Нужно чтобы записывал в БД тело письма и имя



скрипт отправки имеет код:
Код:
<?php
$mail = $_POST["order"];
$subject = htmlentities($_GET["subj"]) . "/ Заказ (".date("d.m.Y h:i").")";
$mail = strip_tags($mail, "<b><div><table><tbody><tr><td><html><body><style><h1><th><br>");
$mail = str_replace("<td></td>", "",$mail);
$mail = preg_replace('/<div[^>]+class="basket_num_buttons"[^>]*>.*?<\/div>/i', '', $mail);
$mail = preg_replace("/<([a-z][a-z0-9]*)[^>]*?(\/?)>/i",'<$1$2>', $mail);

$template = "<html>
<style>
*
{ font-family: Arial;}
table
{ border-collapse: collapse; }
td
{ padding: 5px; border: 1px solid #000;}
th
{
background: #999; padding: 5px;
}

</style>
<body>
<h1>".$subject."</h1>
".$mail."</body></html>";

$template .= '<hr>' . $_SERVER['HTTP_REFERER'];

// Clear form

$head = "<tr><th>ID</th><th>Название</th><th>Цена</th><th>Кол-во</th><th>Всего</th></tr>";

$template = str_replace ( "<tbody>" ,"<tbody>".$head, $template);
$domain = "fff.com";
$from = "no-reply@". $domain;
$headers = "From: " . $from . "\r\n";
$headers .= "Reply-To: ". $from . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$success = mail("myemail"", $subject, $template, $headers);
echo ($success) ? 'true' : 'false';


?>

Дописал тупо инсерт письма в БД
include ('bd.php');
mysql_query("INSERT INTO `messages` (`login`,`message`) VALUES ('Заказ','$mail') ");
Сайт:


Но он не записывает, тупо отправляет письмо, а остальную часть не делает.
 
попробуй перед include ('bd.php'); напиши
echo $mail;
и посмотри выведет что то или нет
 
а вообще код написан через жопу
сначала объявляется $template, который заканчивается
HTML:
</body></html>
а затем ко всему этому в конец дописывается
PHP:
$template .= '<hr>' . $_SERVER['HTTP_REFERER'];
что за бред?

далее здесь ошибка с двумя кавычками, вероятнее на этом месте и выпадает в Fatal Error
$success = mail("myemail"", $subject, $template, $headers);

далее при записи в базу вы так и увидите в базе: '$mail'
убирайте оттуда кавычки
 
Проблему решил, все работает.
Проблема была, как всегда в человеческом факторе.
:D
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху