/* ЗАДАНИЕ 1 - получите из формы и обработайте данные заказа */ if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (!empty($_POST['name']) && !empty($_POST['phone']) && !empty($_POST['address'])) { $name = clearData($_POST['name'], 's'); $email = clearData($_POST['email'], 's'); $phone = clearData($_POST['phone'], 's'); $address = clearData($_POST['address'], 's'); $sess_id = session_id(); $tm = time(); $order = "{$name}|{$email}|{$phone}|{$address}|{$sess_id}|{$tm}\n"; file_put_contents(ORDERS_LOG, $order, FILE_APPEND); header('Location: saveorder.php'); } else { echo 'Не все поля заполнены'; } } resave($tm); ?> <html> <head> <meta charset="utf-8"> <title>Сохранение данных заказа</title> </head> <body> <p>Ваш заказ принят.</p> <p><a href="catalog.php">Каталог товаров</a></p> </body> </html>
<?php //���������� ������ ���������� //������ � ������ ������������ �� ������ � ��������� ����� �� ������� ���� ������ 1 ����� // ������ � ����� ������������ ������������ (|) //+ ��� �������� � ���� session_id �������� � ����� ������ include_once "db.inc.php"; //� ���� ����� SESSION_START(); include_once "lib.inc.php"; if (isset($_POST['submit']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $customer = clearData($_POST['customer'], 'sf'); // Эти переменные на о заявке пользователя мы сохраняем в файле а в файл не надо экранировать текст поэтому передаем в функцию значение с обработкой без экранирования $email = clearData($_POST['email'], 'sf'); $phone = clearData($_POST['phone'], 'sf'); $address = clearData($_POST['address'], 'sf'); $c = session_id(); //передаем session_id() в файл по нему потом будет сверять заказ $dt = date("Y-m-d H:i:s"); //сохраняем дату и время формирования заявки $order = "{$customer}|{$email}|{$phone}|{$address}|{$c}|{$dt}|\n"; //(|)переменіе засовіваем в переменніе в таком порядке в котором они будут сохраняться и делаем разделить между ними по которому мі будем вітаскивать товар file_put_contents(ORDERS_LOG, $order, FILE_APPEND); //ORDERS_LOG - константа с именем файла лежит в файле db.inc.php - FILE_APPEND - говорит о том что мы будем дозаписывать файл всегда resave($dt); //вызываем функцию resave которая изспользует запрос из catalog и basket (что-бы сохранить в таблице order именно те заказы которы были сделаны одним session(id) затем товары со своим id который мы передавали из таблици в таблицу мы удаляем из таблици basket и catalog (из catalog что-бы повторно не купили и из basket что-бы не мешало) header("Location: ../indexshop.php"); }
function process($dbcfile, $dbcfmt) { global $mpqdir, $largedir, $mediumdir, $smalldir, $tinydir; status("Reading icons list from {$dbcfile}..."); $dbc = dbc2array_($dbcfile, $dbcfmt); $count = count($dbc); status($count . " icons found\n"); $current = 0; $status = array(); $lastfile = array(); foreach ($dbc as $row) { $srcfilename = strtolower(str_replace("\\", "/", $row[1])); if (strpos($srcfilename, "/") === FALSE) { $srcfilename = "interface/icons/" . $srcfilename; } $src = $mpqdir . $srcfilename . ".blp"; $stat_src = @stat($src); if ($row[1] == "") { echo " "; } else { if ($stat_src == NULL || $stat_src['size'] == 0) { $msg = "Not found"; $status[$msg] = isset($status[$msg]) ? $status[$msg] + 1 : 1; $lastfile[$msg][] = $src; echo "-"; } else { $dstfilename = strtolower(substr(strrchr($srcfilename, "/"), 1)); $stat_dst = @stat($largedir . $dstfilename . ".jpg"); if ($stat_dst != NULL && $stat_dst['mtime'] >= $stat_src['mtime']) { $msg = "Already up-to-date"; $status[$msg] = isset($status[$msg]) ? $status[$msg] + 1 : 1; //$lastfile[$msg][] = $src; $lastfile[$msg][0] = "..."; $lastfile[$msg][1] = $src; echo "."; } else { $img = imagecreatefromblp($src); resave($largedir . $dstfilename . ".jpg", $img, 56, 56); resave($mediumdir . $dstfilename . ".jpg", $img, 36, 36); resave($smalldir . $dstfilename . ".jpg", $img, 18, 18); resave($tinydir . $dstfilename . ".gif", $img, 15, 15); echo "+"; } } } $current++; if ($current % 60 == 0) { status(" " . $current . "/" . $count . " (" . round(100 * $current / $count) . "%)\n"); } } if ($current % 60 != 0) { status(" " . $current . "/" . $count . " (100%)\n"); } echo "Done\n"; if (count($status) > 0) { echo "Status:\n"; foreach ($status as $s => $row) { echo " " . $s . ": " . $row . "\n"; // foreach ($lastfile[$s] as $file) // echo " $file\n"; } } }