Изучаю php по видеоурокам Игоря Борисова, т.к. видела ,что здесь на форуме для изучения php советуют именно его уроки. Столкнулась с бедой критической, документации на 2й модуль нет,чтобы сравнить с исходниками, сначала при обработке данных нового заказа с помощью кода
require "inc/lib.inc.php";
require "inc/config.inc.php";
$name= clearStr($_POST["name"]);
$email= clearStr($_POST["email"]);
$phone= clearStr($_POST["phone"]);
$address= clearStr($_POST["address"]);
$oid = $basket["orderid"];
$dt = time();
$order = "$name|$email|$phone|$address|$oid|$dt\n";
file_put_contents("admin/".ORDERS_LOG, $order, FILE_APPEND);
saveOrder($dt);
возникла проблема, не выводит введенные данные кроме $oid и $dt , в orders.log выводит вот в таком виде ||||5e6f1405b1eef|1584430014
вот сама функция saveOrder()
function saveOrder($datetime){
global $link, $basket;
$goods = myBasket();
$stmt = mysqli_stmt_init($link);
$sql='INSERT INTO orders (title,author,pubyear,price,quantity,orderid,datetime)
VALUES (?, ?, ?, ?, ?, ?, ?)';
if(!mysqli_stmt_prepare($stmt, $sql))
return false;
foreach($goods as $item){
mysqli_stmt_bind_param($stmt, "ssiiisi", $item['title'], $item['author'], $item['pubyear'], $item['price'], $item['quantity'], $item['orderid'], $datetime);
mysqli_stmt_execute($stmt);
}
mysqli_stmt_close($stmt);
removeBasket();
return true;
}
сам $link и ORDER_LOG вот
const DB_HOST = "localhost";
const DB_LOGIN = "root";
const DB_PASSWORD = "";
const DB_NAME = "eshop";
const ORDERS_LOG = "orders.log";
$basket = [];
$count = 0;
$link=mysqli_connect(DB_HOST, DB_LOGIN, DB_PASSWORD, DB_NAME);
basketInit();
решила что продолжу пока не решив этой проблемы,но при добавлении новой функции,он ругается на то что не знает $link, вот сама функция
getOrders(){
global $link;
if(!is_file(ORDERS_LOG))
return false;
/* получаем в виде массива персональные данные пользователя из файла*/
$orders = file(ORDERS_LOG);
/*массив который будет возвращен функцией*/
$allorders = [];
foreach ($orders as $order){
list($name, $email, $phone, $address, $orderid, $date) = explode("|", $order);
/*Промежуточный массив для хранения информации о конкретном заказе */
$orderinfo = [];
/*сохранение информации о конкретном пользователе*/
$orderinfo["name"] = $name;
$orderinfo["email"] = $email;
$orderinfo["phone"] = $phone;
$orderinfo["address"] = $address;
$orderinfo["orderid"] = $orderid;
$orderinfo["date"] = $date;
/* SQL-запрос на выборку из таблицы orders всех товаров для конкретного покупателя*/
$sql = "SELECT title, author, pubyear, price, quantity FROM orders WHERE orderid = '$orderid' AND datetime = $date";
/*Получение результата выборки*/
if(!$result = mysqli_query($link, $sql))
return false;
$items = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
/*Сохранение результата в промежуточном массиве*/
$orderinfo["goods"] = $items;
/*добавление промежуточного массива в возвращаемый массив*/
$allorders[]=$ordersinfo;
}
return $allorders;
}
Помогите разобраться в чем дело((