close

Вход

Забыли?

вход по аккаунту

?

ПРИЛОЖЕНИЕ

код для вставкиСкачать
ПР[1]ИЛОЖЕНИЕ А
Рисунок 1.1 - Главная страница сайта
Файл index.php
<?php
session_start();
error_reporting(E_ALL | E_STRICT);
date_default_timezone_set('Europe/Moscow');
chdir(dirname(__DIR__));
if(!isset($_SESSION['user'])){
$_SESSION['user']=array(); }
$page = trim(@$_SERVER['PATH_INFO'], '/') ? : 'content';
$pageFile = implode(DIRECTORY_SEPARATOR, array('page', "$page.php"));
if (!file_exists($pageFile)) {
$pageFile = implode(DIRECTORY_SEPARATOR, array('page', '404.php'));
}
ob_start();
require $pageFile;
$page = ob_get_clean();
require 'main_con.php';
Файл main_con.php
<?php
require_once 'page/functional/authorization.php';
$messages_au = array();
if (isset($_POST['log_in'])) {
$login_enter = $_POST['login_enter'];
$password_enter = $_POST['password'];
$log = authorization($login_enter);
if ($log['password'] == $password_enter) {
$_SESSION['user'] = ['login'=>$login_enter]; } else {
$messages_au[] = 'Неверное имя пользователя/пароль';
}
}
require implode(DIRECTORY_SEPARATOR, array('main_con.phtml'));
Файл main_con.phtml
<!DOCTYPE html>
<html>
<head>
<title>2 Fast Грузоперевозки - Главная</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="Сайт о грузоперевозках по россии" />
<meta name="keywords" content="2 Fast, грузоперевозка, перевозка грузов, грузоперевозка по россии" lang="ru" />
<meta name="keywords" content="2 Fast, cargo transportation, freight,trucking in russia" lang="en">
<link href="css/main.css" rel="stylesheet" type="text/css"> <script src="js/jquery.js" type="text/javascript"></script>
<script src="js/calculating.js" type="text/javascript"></script> </head>
<body> <div id="page_align" class="b3radius">
<div id="header">
<div id="header_cont">
<a href="content"><h1><span style="color: #35b6dd">2</span><span style="color: #fff">Fast</span></h1></a> </div> <div id="header_nav">
<ul>
<li><a href="content">Главная</a></li>
<li><a href="tracking">Отследить груз</a></li>
<li><a href="send">Отправить груз</a></li>
<li><a href="calculation">Расчет стоимости</a></li>
<li><a href="company">О компании</a></li>
</ul> </div> </div>
<form action="" method="post">
<div id="sidebar">
<div id="enter" class="b3radius">
<?php if ($_SESSION['user'] == false) { ?>
<h2><span style="color: #fff">Добро пожаловать</span></h2>
<input id="login-user" type="text" name="login_enter" placeholder="Логин" class="b3radius">
<input id="login-password" type="password" name="password" placeholder="Пароль" class="b3radius">
<?php if ($messages_au): ?>
<div id="error_logpas">
<?php foreach ($messages_au as $m_au): ?>
<p><?php echo htmlspecialchars($m_au) ?></p>
<?php endforeach ?>
</div>
<?php endif ?>
<a href="registration" style="color: #fff" id="reg"><u>Регистрация</u></a>
<button type="submit" name="log_in">Войти</button>
<?php
} else { ?> <p id="enter_suc" style="color: #fff"><?php echo 'Добро пожаловать ' . $_SESSION['user']['login']; ?>
<?php }
?>
</div>
</div> </form>
<?php echo $page ?> <div id="footer">
<div id="find_us">
<h6>Найти нас:</h6>
<div id="footer_img">
<a href="#"><img src="image/icon1.jpg" style="padding-right: 52px" alt="Facebook"/></a>
<a href="#"><img src="image/icon2.jpg" style="padding-right: 15px" alt="Вконтакте"/></a>
<a href="#"><img src="image/icon3.jpg" style="padding-right: 15px" alt="Tweeter"/></a>
</div>
</div>
<div id="down">
<p>2-Fast.ru (c) 2013</p>
<p> Русская версия</p>
</div>
</div>
</div> </body>
</html>
Файл authorization.php
<?php
require_once 'DB.php';
function authorization($login_enter) {
$log = db_connect()->prepare("SELECT * FROM cargo.users WHERE login=?");
$log->execute([$login_enter]);
return $log->fetch();
}
Файл DB.php
<?php
function db_connect() {
static $connection = null;
if (null === $connection) {
$connection = new PDO('mysql:dbname=cargo;charset=utf8', 'root', '1234');
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
return $connection;
}
ПРИЛОЖЕНИЕ Б
Рисунок 1.2 - Страница отследить груз
Файл tracking.php
<?php
require_once 'functional/DB.php';
$track_number = @$_GET['track_number'];
if ($track_number) {
$c = db_connect();
$s = $c->prepare('SELECT * FROM cargo.parcel_tracking WHERE track_number=? ORDER BY date ASC');
$s->execute(array($track_number));
$trackings = array();
foreach ($s->fetchAll() as $row) {
$trackings[] = array(
'date' => $row['date'],
'from' => $row['from_postoffice'],
'to' => $row['to_postoffice'],
'weight' => $row['parcel_weight'],
'value' => $row['parcel_value']);
}
}
require implode(DIRECTORY_SEPARATOR, array('page', 'tracking.phtml'));
Файл tracking.phtml
<div id="tracking">
<div id="tracking_head">
<h1>Отслеживание почтовых отправлений</h1>
</div>
<div id="tracking_form">
<form method="get">
<p>Почтовый идентификатор:</p>
<input type="text" name="track_number" size="13" maxlength="13" class="b3radius" placeholder="YF123456789RU" value="<?php echo htmlspecialchars($track_number) ?>">
<button type="submit" name="tracking_button">Найти</button>
</form>
</div>
<?php if (isset($trackings)): ?> <div id="tracking_table">
<?php if (count($trackings)): ?>
<table>
<tr style="background: #CCCCCC; color: #fff">
<th>Дата</th>
<th>Место проведения операции</th>
<th>Адресовано</th>
<th>Вес (кг.)</th>
<th>Объявленная ценость (руб.)</th>
</tr>
<?php foreach ($trackings as $t): ?> <tr>
<td><?php echo htmlspecialchars($t['date']) ?></td>
<td><?php echo htmlspecialchars($t['from']) ?></td>
<td><?php echo htmlspecialchars($t['to']) ?></td>
<td><?php echo htmlspecialchars($t['weight']) ?></td>
<td><?php echo htmlspecialchars($t['value']) ?></td>
</tr>
<?php endforeach ?>
</table>
<?php else: ?>
<p id="alert_track">Посылка с данным трэк-номером не найденна.</p>
<?php endif ?>
</div>
<?php endif ?>
</div>
ПРИЛОЖЕНИЕ В
Рисунок 1.3 - Страница отправить груз
Файл send.php
<?php
require_once 'functional/send_cargo.php';
$messages = array();
if ('POST' === $_SERVER['REQUEST_METHOD']) {
if (empty($_POST['mailing_address_c'])) {
$messages[] = 'Вы должны ввести адрес отправки';
}
if (empty($_POST['receiving_address_c'])) {
$messages[] = 'Вы должны ввести адрес доставки';
}
if (empty($_POST['name_c'])) {
$messages[] = 'Вы должны ввести имя';
}
if (empty($_POST['surname_c'])) {
$messages[] = 'Вы должны ввести фамилию';
}
if (empty($_POST['mobile_phone_c'])) {
$messages[] = 'Вы должны ввести мобильный телефон';
} else if (!preg_match("|^[+]+[0-9]|i", $_POST['mobile_phone_c'])) {
$messages[] = 'Вместо мобильного телефона вы ввели какую-то чушь';
}
if (empty($_POST['email_address_c'])) {
$messages[] = 'Вы должны ввести почтовый ящик';
} else if (!preg_match("|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email_address_c'])) {
$messages[] = 'Вместо почтового ящика вы ввели какую-то чушь';
} if (!$messages) {
send_cargo($_POST);
header("Location: http://$_SERVER[HTTP_HOST]/send-success");
die;
}
}
require implode(DIRECTORY_SEPARATOR, array('page', 'send.phtml'));
Файл send.phtml
<form method="post">
<div id="send"> <div id="send_head">
<h1>Оформление On-line заявки на отправку груза</h1>
</div> <?php if ($messages): ?>
<div id="reg_error">
<?php foreach ($messages as $m): ?>
<p><?php echo htmlspecialchars($m) ?></p>
<?php endforeach ?>
</div>
<?php endif ?>
<div id="send_form"> <p>Вид отправления</p>
<select id="type-departure-send" name="type_departure_c" size="1">
<option value="Заказная бандероль">Заказная бандероль</option>
<option value="Заказная почтовая карточка">Заказная почтовая карточка</option>
<option value="Заказное письмо">Заказное письмо</option>
<option value="Ценная бандероль">Ценная бандероль</option>
<option value="Ценная посылка">Ценная посылка</option>
<option value="Ценное письмо">Ценное письмо</option>
</select> <p>Способ пересылки</p>
<select id="way-delivery-send" name="way_delivery_c" size="1">
<option value="Наземный">Наземный</option>
<option value="Авиа">Авиа</option>
<option value="Комбинированный">Комбинированный</option>
<option value="Ускоренный">Ускоренный</option>
</select> <p>Город отправки</p>
<select id="сity-send-send" name="city_send_c" size="1">
<option value="Белгород">Белгород</option>
<option value="Брянск">Брянск</option>
<option value="Великий Новгород">Великий Новгород</option>
<option value="Владимир">Владимир</option>
<option value="Воронеж">Воронеж</option>
<option value="Курск">Курск</option>
<option value="Москва">Москва</option>
<option value="Орел">Орел</option>
<option value="Псков">Псков</option>
<option value="Санкт-Петербург">Санкт-Петербург</option>
<option value="Смоленск">Смоленск</option>
<option value="Тверь">Тверь</option>
</select>
<input id="adress-from1" type="text" name="mailing_address_c" size="25" maxlength="25" placeholder="ул.Новая д.1" class="b3radius">
<p>Город получения</p>
<select id="сity-receipt-send" name="city_receipt_c" size="1">
<option value="Белгород">Белгород</option>
<option value="Брянск">Брянск</option>
<option value="Великий Новгород">Великий Новгород</option>
<option value="Владимир">Владимир</option>
<option value="Воронеж">Воронеж</option>
<option value="Курск">Курск</option>
<option value="Москва">Москва</option>
<option value="Орел">Орел</option>
<option value="Псков">Псков</option>
<option value="Санкт-Петербург">Санкт-Петербург</option>
<option value="Смоленск">Смоленск</option>
<option value="Тверь">Тверь</option>
</select> <input id="adress-to1" type="text" name="receiving_address_c" size="25" maxlength="25" placeholder="ул.Новая д.2" class="b3radius"> <p>Ваши контактные данные:</p> <p>Имя</p>
<input id="name-send" type="text" name="name_c" size="25" maxlength="25" class="b3radius">
<p>Фамилия</p>
<input id="surname-send" type="text" name="surname_c" size="25" maxlength="25" class="b3radius">
<p>Телефон</p>
<input id="cellphone-send" type="text" name="mobile_phone_c" size="25" maxlength="25" placeholder="+79201234567" class="b3radius">
<p>E-mail</p>
<input id="email-send" type="text" name="email_address_c" size="25" maxlength="25" placeholder="your-mail@mail.ru" class="b3radius">
<button type="submit" name="calculate_c">Отправить заявку</button>
<div>
<p id="results"></p>
</div> </div>
</div>
</form>
Файл send_cargo.php
<?php
require_once 'DB.php';
function send_cargo($cargo) {
$connection = db_connect();
$s = $connection->prepare(<<<SQL
INSERT INTO cargo.send_cargo
(
type_departure_c,
way_delivery_c,
city_send_c, mailing_address_c,
city_receipt_c,
receiving_address_c,
name_c,
surname_c,
mobile_phone_c,
email_address_c )
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
SQL
);
$s->execute(array(
$cargo['type_departure_c'],
$cargo['way_delivery_c'],
$cargo['city_send_c'],
$cargo['mailing_address_c'],
$cargo['city_receipt_c'],
$cargo['receiving_address_c'],
$cargo['name_c'],
$cargo['surname_c'],
$cargo['mobile_phone_c'],
$cargo['email_address_c'])); }
ПРИЛОЖЕНИЕ Г
Рисунок 1.4 - Страница расчет стоимости
Файл calculating.js
$(function() {
function compute()
{
var a, b, c, d, e, f, price;
a = $('#type-departure').val();
b = $('#way-delivery').val();
c = $('#сity-send').val();
d = $('#сity-receipt').val();
e = $('#mass').val();
f = $('#valuation').val();
if (a && b && c && d && e && f) {
a = parseInt(a);
b = parseInt(b);
c = parseInt(c);
d = parseInt(d);
e = parseInt(e);
f = parseInt(f);
price = ( a * b * e *(c + d) ) + ((f / 100) * 4); $('#results').fadeIn();
$('#results-value').text(price.toLocaleString(undefined, {useGrouping:true}));
}
else {
alert("Пожалуйства введите все данные");
} return;
} $('#calculate-button').click(function () {
compute();
return;
}); });
Файл calculation.php
<div id="calculation">
<div id="calculation_head">
<h1>Автоматический тарификатор внутренних отправлений</h1>
</div> <div id="calculation_form"> <p>Вид отправления</p>
<select id="type-departure" name="type_departure_count" size="1">
<option value="0.3">Заказная бандероль</option>
<option value="0.1">Заказная почтовая карточка</option>
<option value="0.2">Заказное письмо</option>
<option value="0.4">Ценная бандероль</option>
<option value="0.5">Ценная посылка</option>
<option value="0.3">Ценное письмо</option>
</select> <p>Способ пересылки</p>
<select id="way-delivery" name="way_delivery_count" size="1">
<option value="0.1">Наземный</option>
<option value="0.3">Авиа</option>
<option value="0.2">Комбинированный</option>
<option value="0.4">Ускоренный</option>
</select> <p>Город отправки</p>
<select id="сity-send" name="сity_send_count" size="1">
<option value="660">Белгород</option>
<option value="390">Брянск</option>
<option value="530">Великий Новгород</option>
<option value="190">Владимир</option>
<option value="520">Воронеж</option>
<option value="520">Курск</option>
<option value="1">Москва</option>
<option value="360">Орел</option>
<option value="740">Псков</option>
<option value="710">Санкт-Петербург</option>
<option value="400">Смоленск</option>
<option value="170">Тверь</option>
</select>
<p>Город получения</p>
<select id="сity-receipt" name="сity_receipt_count" size="1">
<option value="660">Белгород</option>
<option value="390">Брянск</option>
<option value="530">Великий Новгород</option>
<option value="190">Владимир</option>
<option value="520">Воронеж</option>
<option value="520">Курск</option>
<option value="1">Москва</option>
<option value="360">Орел</option>
<option value="740">Псков</option>
<option value="710">Санкт-Петербург</option>
<option value="400">Смоленск</option>
<option value="170">Тверь</option>
</select> <p>Вес</p>
<input id="mass" type="text" name="weight_count" size="25" maxlength="25" placeholder=" грамм." class="b3radius">
<p>Ценность</p>
<input id="valuation" type="text" name="worth_count" size="25" maxlength="25" placeholder=" руб." class="b3radius"> <button type="button" name="calculate_count" id="calculate-button">Расчитать</button>
<div id="results" style="display: none">
<p>Цена отправления: <span id="results-value"></span> руб.</p>
</div> </div>
</div>
ПРИЛОЖЕНИЕ Д
Рисунок 1.5 - Страница о компании
Файл company.php
<div id="company">
<div id="company_head">
<h1>О компании</h1>
</div>
<div id="company_text"> <p align="justify" style="text-indent: 25px;">
"2Fast" входит в число крупнейших транспортно-экспедиционных компаний в России, которая более 20 лет работает на рынке грузоперевозок. На сегодняшний день сеть "2Fast" насчитывает 90 филиалов по всей стране, обеспечивая доставку грузов более чем в 1900 населенных пунктов от
Калининграда до Владивостока.<br></p>
<p align="justify" style="text-indent: 25px;"> С 1993 года "2Fast" специализируется на доставке сборных грузов по России без ограничений по весу, от 1 кг. Нам доверяют доставку не только стандартных, но и особо сложных негабаритных грузов. "2Fast" - один из немногих перевозчиков, который
использует технологию евротары - специальных бортов, обеспечивающих высокую сохранность груза на
паллете.<br></p>
<p align="justify" style="text-indent: 25px;">
"2Fast" обеспечивает высокие стандарты безопасности и гарантирует своим клиентам своевременность доставки и качество сервиса. Междугородние перевозки грузов производятся в сопровождении охраны, а все перемещения нашего транспорта отслеживаются спутниковыми системами позиционирования. О статусе доставки клиент может узнать в режиме онлайн, через трекинговую систему на сайте. Кроме того клиент может получать электронные оповещения об основных этапах прохождения груза.<br></p>
<p align="justify" style="text-indent: 25px;"> Широкая партнерская сеть позволяет компании "2Fast" помимо России обеспечивать перевозки грузов
и в зарубежные пункты доставки, используя не только собственный автомобильный, но и железнодорожный, а также авиационный транспорт.
</p> </div> </div>
ПРИЛОЖЕНИЕ Е
Рисунок 1.6 - Страница регистрации
Файл user.php
<?php
require_once 'DB.php';
function create_user($user) {
$connection = db_connect();
$s = $connection->prepare(<<<SQL
INSERT INTO cargo.users
(
login,
name,
surname,
birth_date,
city,
email_address,
password,
mobile_phone
)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
SQL
);
$s->execute(array(
$user['login'],
$user['name'],
$user['surname'],
$user['birth_date'],
$user['city'],
$user['email_address'],
$user['password'],
$user['mobile_phone']));
}
Файл registration.php
<?php
require_once 'functional/user.php';
$messages = array();
if ('POST' === $_SERVER['REQUEST_METHOD']) {
if (empty($_POST['login'])) {
$messages[] = 'Вы должны ввести логин';
}
$login = $_POST['login'];
$connection = db_connect();
$statement = $connection->prepare('SELECT COUNT(*) FROM cargo.users WHERE login=?');
$statement->execute([$login]);
$loginCount = $statement->fetch()[0];
if ($loginCount > 0) {
$messages[] = 'Такой пользователь уже есть!';
}
if (empty($_POST['name'])) {
$messages[] = 'Вы должны ввести имя';
}
if (empty($_POST['surname'])) {
$messages[] = 'Вы должны ввести фамилию';
}
if (empty($_POST['birth_date'])) {
$messages[] = 'Вы должны ввести дату рождения';
}
if (empty($_POST['city'])) {
$messages[] = 'Вы должны ввести город';
}
if (empty($_POST['email_address'])) {
$messages[] = 'Вы должны ввести почтовый ящик';
} else if (!preg_match("|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email_address'])) {
$messages[] = 'Вместо почтового ящика вы ввели какую-то чушь';
}
$email_address = $_POST['email_address'];
$connection = db_connect();
$statement = $connection->prepare('SELECT COUNT(*) FROM cargo.users WHERE email_address=?');
$statement->execute([$email_address]);
$loginCount = $statement->fetch()[0];
if ($loginCount > 0) {
$messages[] = 'Такой почтовый адрес уже есть!';
}
if (empty($_POST['password'])) {
$messages[] = 'Вы должны ввести пароль';
}
if (empty($_POST['mobile_phone'])) {
$messages[] = 'Вы должны ввести мобильный телефон';
} else if (!preg_match("|^[+]+[0-9]|i", $_POST['mobile_phone'])) {
$messages[] = 'Вместо мобильного телефона вы ввели какую-то чушь';
}
$mobile_phone = $_POST['mobile_phone'];
$connection = db_connect();
$statement = $connection->prepare('SELECT COUNT(*) FROM cargo.users WHERE email_address=?');
$statement->execute([$mobile_phone]);
$loginCount = $statement->fetch()[0];
if ($loginCount > 0) {
$messages[] = 'Такой мобильный телефон уже есть!';
}
if (!$messages) {
create_user($_POST);
header("Location: http://$_SERVER[HTTP_HOST]/registration-success");
die;
}
}
require implode(DIRECTORY_SEPARATOR, array('page', 'registration.phtml'));
Файл registration.phtml
<div id="contentreg">
<form id="registration-form" method="post">
<h1 id="contentreg_header" align="center">Регистрация нового пользователя</h1>
<?php if ($messages): ?>
<div id="reg_error">
<?php foreach ($messages as $m): ?>
<p><?php echo htmlspecialchars($m) ?></p>
<?php endforeach ?>
</div>
<?php endif ?>
<div class="data">
<p>Логин</p><br />
<input type="text" name="login" size="25" maxlength="25" class="b3radius">
<p>Имя</p><br />
<input type="text" name="name" size="25" maxlength="25" class="b3radius">
<p>Фамилия</p><br />
<input type="text" name="surname" size="25" maxlength="25" class="b3radius">
<p>Дата рождения</p><br /> <input type="text" name="birth_date" size="25" maxlength="25" class="b3radius" placeholder="YYYY-MM-DD">
<p>Город</p><br />
<input type="text" name="city" size="25" maxlength="25" class="b3radius">
<p>Почтовый ящик</p><br />
<input type="text" name="email_address" size="40" maxlength="40" class="b3radius" placeholder="your_mail@mail.ru">
<p>Пароль</p><br />
<input name="password" type="password" size="15" maxlength="15" class="b3radius">
<p>Мобильный телефон</p><br />
<input type="text" name="mobile_phone" size="20" maxlength="20" class="b3radius" placeholder="+79201234567"> <button type="submit" name="submit" id="registration-button">Регистрация</button>
<p id="data_down" align="justify">Нажимая кнопку регистрация, Вы принимаете условия <a href="#" style="color: #B1A9BB; text-decoration: underline">Пользовательского соглашения</a>.</p>
</div> </form>
</div>
<div class="clr">
</div>
Сначала - весь исходный код, потом - все снимки экрана.
Документ
Категория
Разное
Просмотров
49
Размер файла
732 Кб
Теги
приложение
1/--страниц
Пожаловаться на содержимое документа