Господа, туплю нереально, не могу найти ошибку.
(практикум)
Сделал форму (из чужого примера) по загрузке новых книг в базу данных, но информация в базе не сохраняется и ошибки не выводится.
add2cat.php => array( с данными приходит в форму для проверки addslashes(trim($_POST["***"])); )=> тут же подключаются внешние файлы с функциями и базой данных
.
add2cat.php пересылает массив сюда в save2cat.php
-------------------------------- -------------------------------- -------------------
save2cat.php =>
require "eshop_db.inc.php";
require "eshop_lib.inc.php";
// Получение данных из формы
$author = addslashes(trim($_POST["author"]));
$title = addslashes(trim($_POST["title"]));
$pubyear = addslashes(trim($_POST["pubyear"]));
$price = addslashes(trim($_POST["price"]));
// Сохранение товара в базу
save($author, $title, $pubyear, $price);
// Возвращение на форму
header("Location: add2cat.php");
-------------------------------- -------------------------------- -------------------
eshop_db.inc.php =>
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "password");
define("DB_NAME", "eshop");
$conn = mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die("Ошибка соединения с сервером баз данных");
mysql_select_db(DB_NAME) or die(mysql_error());
-------------------------------- -------------------------------- -------------------
eshop_lib.inc.php =>
function save($author, $title, $pubyear, $price) {
$sql = "INSERT INTO catalog(
author,
title,
pubyear,
price
) VALUES(
'$author',
'$title',
$pubyear,
$price
)";
mysql_query($sql) or die(mysql_error());
}
// Пересохранение товаров из корзины в заказы
function resave($datetime) {
$goods = myBasket();
while ($good = mysql_fetch_assoc($goods)) {
$sql = "INSERT INTO orders(
author,
title,
pubyear,
price,
customer,
quantity,
datetime
) VALUES(
'" . $good["author"] . "',
'" . $good["title"] . "',
" . $good["pubyear"] . ",
" . $good["price"] . ",
'" . $good["customer"] . "',
" . $good["quantity"] . ", $datetime)";
mysql_query($sql) or die(mysql_error());
}
// Удаление данных из таблицы basket
$sql = "DELETE FROM basket WHERE customer='" . session_id() . "'";
mysql_query($sql) or die(mysql_error());
}
// Получение информации о заказах
function getOrders() {
// Получение заказчиков из log-файла
$orders = file(ORDERS_LOG);
$allorders = array();
foreach ($orders as $order) {
list($name, $email, $phone, $address, $customer, $date) = explode("|", $order);
$orderinfo = array();
$orderinfo["name"] = $name;
$orderinfo["email"] = $email;
$orderinfo["phone"] = $phone;
$orderinfo["address"] = $address;
$orderinfo["customer"] = $customer;
$orderinfo["date"] = $date;
// Товары из заказов:
$sql = "SELECT * FROM orders
WHERE customer='".$orderinfo["customer"]."' AND datetime=".$orderinfo["date"];
$result = mysql_query($sql) or die(mysql_error());
$orderinfo["goods"] = $result;
$allorders[] = $orderinfo;
}
return $allorders;
}
-------------------------------- -------------------------------- -------------------
Если зак комментировать функции Getorders() и resave () - скрипт встает и ничего не делает, хотя я не вызывал этих функций.
Что за фигня?
(Отредактировано автором: 28 Марта, 2011 - 22:32:36)