Здравствуйте.
Есть форма, после ее заполнения, запускается пхп-скрипт, который компонует все данные отправляет их на почту и возвращает страницу к исходному виду. (пустая форма).
Понадобилось заливать данные на бд, написал ниже представленный класс. Вызываю функции его в середине скрипта, который отправляет данные на почту.
require_once "cart_add/cart_table_second.php";
$db_ftp = new mysqli_class(/* "proftpd","online","jykfqy",3306,"localhost" */);
$db_ftp->connect();
$last_id=$db_ftp->get_last_id();
$md = md5($last_id[0][0]);
$db_ftp->upload_second($msg, $md);
$db_ftp->disconnect();
Однако возникла следующая проблема, с введением данного скрипта, после отрабоки перестало возвращать страницу к исходному виду.
Warning: Cannot modify header information - headers already sent by (output started at /var/www/domain.ru/forma/cart_add/cart_table_second.php:157) in /var/www/domain.ru/forma/cart_blank.php on line 159
Выходит такая ошибка.
<?php
class mysqli_class
{
var $server = "localhost";
var $login = "login";
var $pass = "pass";
var $db = "db";
var $port = 3306;
var $link;
function __construct($db = null, $login = null, $pass = null, $port = null, $server = null)
{
if (!empty($db) && !empty($login) && !empty($pass) && !empty($port) && !empty($server)) {
$this->db = $db;
$this->login = $login;
$this->pass = $pass;
$this->port = $port;
$this->server = $server;
}
}
function connect()
{
/* Подключение к серверу MySQL */
$this->link = mysqli_init();
if (!$this->link) {
die('mysqli_init завершилась провалом');
}
$this->link->real_connect($this->server, $this->login, $this->pass, $this->db, $this->port, null, MYSQL_CLIENT_COMPRESS);
//$this->link = new mysqli($this->server, $this->login, $this->pass, $this->db, $this->port);
if (mysqli_connect_errno()) {
printf("Подключение к серверу MySQL невозможно. Код ошибки: %s\n", mysqli_connect_error());
exit;
} else {
$this->link->set_charset("utf8");
//printf("Успех!");
}
}
function disconnect()
{
if (!mysqli_close($this->link))
echo "<br> Не смог отключиться от MySQL.";
}
function upload($table_data, $link, $count)
{
$sql3 = 'INSERT INTO `mail_cart`(`count`, `table_data`, `link`)';
$stmt3 = $this->link->prepare($sql3 . " VALUES (?,?,?);");
$stmt3->bind_param("iss", $count, $table_data, $link
);
$stmt3->execute();
// echo "запись прошла успешно";
}
function upload_second($table_data, $link)
{
$sql3 = 'INSERT INTO `mail_cart`( `table_data`, `link`)';
$stmt3 = $this->link->prepare($sql3 . " VALUES (?,?);");
$stmt3->bind_param("iss", $table_data, $link
);
$stmt3->execute();
// echo "запись прошла успешно";
}
function get_data($link)
{
$stmt = $this->link->prepare("SELECT id, table_data FROM mail_cart WHERE link='".$link."'");
$stmt->execute();
$id = null;
$city = null;
$stmt->bind_result($id, $city);
$result_city = array();
while ($stmt->fetch()) {
array_push($result_city, array($id, $city));
}
return $result_city;
}
function get_last_id() {
$stmt = $this->link->prepare("SELECT id FROM mail_cart ORDER BY id DESC LIMIT 1");
$stmt->execute();
$id = null;
$stmt->bind_result($id);
$result = array();
while ($stmt->fetch()) {
array_push($result, array($id));
}
return $result;
}
}
$p=0;
if (!empty($_GET['p'])) {
echo '<link href="/css/cart_style.css" type="text/css" rel="stylesheet" />';
echo "<h2 style='color: red;'>Ваш заказ поступил в обработку.</h2>";
$db_ftp = new mysqli_class(/* "proftpd","online","jykfqy",3306,"localhost" */);
$db_ftp->connect();
$data_table=$db_ftp->get_data($_GET['p']);
echo "<div id='content_table'> <table id='cart_table'>
<tr><th>Название товара</th>
<th>Код товара</th>
<th>Ссылка на товар</th>
<th>Цена товара</th>
<th>К-во товара</th>
<th>Стоимость товара</th>
<th>Комментарий к товару</th>
</tr>";
echo mb_convert_encoding($data_table[0][1], "Windows-1251", "UTF-8");
echo "</table></div>";
$db_ftp->disconnect();
}
?>
cart_table_second.php:157-- что там? Подписывайте имена файлов к кускам кода. – Samuel Loog Oct 17 '16 at 07:04