MySQL обратная связь

258
19 июня 2018, 02:20

нужно, заполнив форму обратной связи,занести в бд и отослать информацию на почту. помогите найти ошибку

<?php
header('Content-type: text/html; charset=utf-8');
error_reporting(0);
if(!empty($_POST['send'])) {
$name = substr(htmlspecialchars(trim($_POST['name'])), 0, 300);
$tel = substr(htmlspecialchars(trim($_POST['tel'])), 0, 100);
$email = substr(htmlspecialchars(trim($_POST['email'])), 0, 100);
$message = substr(htmlspecialchars(trim($_POST['message'])), 0, 3000);
$ip = $_SERVER['REMOTE_ADDR'];
$Nzakaz = rand(10000, 99999);
$mess  = "Имя: <b>".$name."</b><br />";
$mess .= "Телефон: <b>".$tel."</b><br />";
$mess .= "Email: <b>".$email."</b><br />";
$mess .= "Сообщение: <b>".$message."</b><br />";
$theme = "Заявка Z".$Nzakaz;
mail("@mail.ru", $theme, $mess, "From: site.ua <@mail.ru>\nContent-Type: text/html;\n charset=utf-8\nX-Priority: 0");
echo "<h3>Заявка удачно оформлена.</h3>";
echo "<p>Заявке присвоен номер Z".$Nzakaz.". Наш менеджер свяжется с вами в ближайшее время.</p>";
}
else {
echo "<h2>Ошибка! Попробуйте еще раз.</h2>";
}
?>

и второй файл

<?php
class mysql {
###
#   Подключение к бд
function connect($db_host, $db_login, $db_passwd, $db_name) {
    mysql_connect($db_host, $db_login, $db_passwd) or die ("MySQL Error: " . mysql_error()); //~ устанавливаем подключение с бд
    mysql_query("set names utf8") or die ("<br>Invalid query: " . mysql_error()); //~ указываем что передаем данные в utf8
    mysql_select_db($db_name) or die ("<br>Invalid query: " . mysql_error()); //~ выбираем базу данных
}
###
#   Запрос к базе и его производные
function query($query, $type, $num) {
    if ($q=mysql_query($query)) {
        switch ($type) {
            case 'num_row' : return mysql_num_rows($q); break;
            case 'result' : return mysql_result($q, $num); break;
            case 'accos' : return mysql_fetch_assoc($q); break;
            case 'none' : return $q;
            default: return $q;
        }
    } else {
        print 'Mysql error: '.mysql_error();
        return false;
    }
}
###
#   экранирование данных 
function screening($data) {
    $data = trim($data); //~ удаление пробелов из начала и конца строки
    return mysql_real_escape_string($data); //~ экранирование символов
}
}
//~ Параметры потключения к бд
$db_host = '127.0.0.1';
$db_login = 'EventFactory';
$db_passwd = '29ROMANSUPERHERO29';
$db_name = 'EventFactory';
// подключаемся к бд
$db = new mysql(); //~ Создаем новый объект класса
$db -> connect($db_host, $db_login, $db_passwd, $db_name);
header('Content-type: text/html; charset=utf-8');
error_reporting(0);
?>
<?php
if(!empty($_POST['send'])) {
$name = substr(htmlspecialchars(trim($_POST['name'])), 0, 300);
$tel = substr(htmlspecialchars(trim($_POST['tel'])), 0, 100);
$email = substr(htmlspecialchars(trim($_POST['email'])), 0, 100);
$comment = substr(htmlspecialchars(trim($_POST['comment'])), 0, 2000);
$ip = $_SERVER['REMOTE_ADDR'];
$Nzakaz = rand(10000, 99999);
$mess  = "Имя: <b>".$name."</b><br />";
$mess .= "Телефон: <b>".$tel."</b><br />";
$mess .= "E-mail: <b>".$email."</b><br />";
$mess .= "Комментарий: <b>".$comment."</b><br />";
//$mess .= "IP: <b>".$ip."</b><br />";
$theme = "Заявка Z".$Nzakaz;
mail("whitelion@mail.ua", $theme, $mess, "From: whitelion.dn.ua <info@whitelion.dn.ua>\nContent-Type: text/html;\n charset=utf-8\nX-Priority: 0");

echo "<h3>Заявка удачно оформлена.</h3>";
echo "<p>Заявке присвоен номер Z".$Nzakaz.". Наш менеджер свяжется с вами в ближайшее время.</p>";
//Добавляем данные в БД
$query = "INSERT INTO `order` VALUES ('', '$Nzakaz', '$name', '$tel', '$email', '$comment')";
    mysql_query($query) or die (mysql_error());
}
else {
echo "<h2>Ошибка! Попробуйте еще раз.</h2>";
}
?>
Answer 1
  1. Зачем error_reporting(0);? Разве вы не ищете ошибку? Было бы проще
  2. Посмотрите ещё в сторону PHPMailer, удобная вещь.

Укажите пожалуйста, на каком этапе ошибка происходит

READ ALSO
Не понимаю в чем ошибка!

Не понимаю в чем ошибка!

Parse error: syntax error, unexpected end of file in C:\OSPanel\domains\Crypto\includes\articlephp on line 8

248
Вывод данных из MySQL в CSV

Вывод данных из MySQL в CSV

Пыталась сделать вывод данных в CSV-файл, но данные выводятся в одну ячейкуВопрос: как сделать так, чтобы данные выводились в отдельные ячейки?...

244
MPDF не работает, конвертор из HTML в PDF

MPDF не работает, конвертор из HTML в PDF

Решил установить новую версию MPDF, раньше я тупо подключал файл include("MPDF56/mpdfphp"); и все работало, сейчас в мануэле пишут это

218
Загрузка *.txt через AJAX

Загрузка *.txt через AJAX

Нужно сделать загрузку txt-файла на серверДо этого с загрузкой файлов не сталкивался ни разу

228