-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake-order.php
136 lines (104 loc) · 4.99 KB
/
make-order.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php require_once './db.inc.php' ?>
<?php require_once './tpl/head.php' ?>
<?php session_start() ?>
<?php require_once 'phpqrcode.php' ?>
<style>
</style>
<?php
//如果這個階段沒有購物車,就將頁面轉到商品確認頁
if (!isset($_SESSION['seat'])) {
header("Location: new-booking-time-page.php");
exit();
}
//將表單資訊寫入 session,之後建立訂單時,一起變成訂單資訊
foreach ($_SESSION['seat'] as $key => $obj) {
$_SESSION['form'] = [];
$_SESSION['form']['ticket_poster'] = $obj['ticket_poster'];
$_SESSION['form']['movie_TC'] = $obj['movie_TC'];
$_SESSION['form']['movie_EN'] = $obj['movie_EN'];
$_SESSION['form']['pg_rate'] = $obj['pg_rate'];
$_SESSION['form']['count'] = $obj['seatTotal'];
$_SESSION['form']['total'] = $obj['payTotal'] + 20;
};
$_SESSION['form']['payment_type'] = $_POST['payment_type'];
$_SESSION['form']['payment_name'] = $_POST['payment_name'];
$card_number = $_POST['card_number_1'] . $_POST['card_number_2'] . $_POST['card_number_3'] . $_POST['card_number_4'];
$card_valid_date = $_POST['expire-date'];
$card_ccv = $_POST['ccv-code'];
$card_holder = $_POST['holder_name'];
$sql = "INSERT INTO `orders_pay`( `email`, `ticket_poster`, `movie_TC`, `movie_EN`, `pg_rate`,`invoice_type`, `invoice_name`, `card_number`, `card_valid_date`, `card_ccv`, `card_holder`, `count`, `total`)
VALUES ('{$_SESSION['email']}','{$_SESSION['form']['ticket_poster']}','{$_SESSION['form']['movie_TC']}','{$_SESSION['form']['movie_EN']}','{$_SESSION['form']['pg_rate']}',
'{$_POST['payment_type']}','{$_POST['payment_name']}','$card_number','$card_valid_date','$card_ccv','$card_holder',
'{$_SESSION['form']['count']}','{$_SESSION['form']['total']}')";
$stmt = $pdo->query($sql);
//取得新增資料時的自動編號
$lastInsertId = $pdo->lastInsertId();
//建立訂單編號
$order_id_parent = date("Ymd") . sprintf("%05d", $lastInsertId);
if ($stmt->rowCount() > 0) {
//將訂單編號更新回 orders 資料表
$sqlUpdate = "UPDATE `orders_pay` SET `order_id_parent` = '{$order_id_parent}' WHERE `id` = {$lastInsertId}";
$pdo->query($sqlUpdate);
};
foreach ($_SESSION['seat'] as $key => $obj) {
foreach ($obj['seatName'] as $objSeatName) {
$sql = "INSERT INTO `orders`( `email`,`ticket_poster`,`movie_TC`, `movie_EN`, `pg_rate`, `cinema`, `seat`, `date`, `showtime`, `screen`)
VALUES ('{$_SESSION['email']}','{$obj['ticket_poster']}','{$obj['movie_TC']}','{$obj['movie_EN']}','{$obj['pg_rate']}',
'{$obj['cinema']}','{$objSeatName}','{$obj['movie_date']}',
'{$obj['showtime']}','{$obj['movie_cat']}')";
$stmt = $pdo->query($sql);
/**
* 若訂單成立,則取得新增資料的 ID (Auto Increment)
* 透過 ID 來建立訂單資料表的訂單編號 (order_id)
*/
if ($stmt->rowCount() > 0) {
//取得新增資料時的自動編號
$lastInsertId = $pdo->lastInsertId();
//建立訂單編號
$order_id = sprintf("%05d", $lastInsertId);
//將訂單編號更新回 orders 資料表
$value = sha1($objSeatName); //二維碼內容
$errorCorrectionLevel = 'L'; //容錯級別
$matrixPointSize = 5; //生成圖片大小
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);
$QR = 'qrcode.png'; //已經生成的原始二維碼圖
$QR = imagecreatefromstring(file_get_contents($QR));
imagepng($QR, $value . '.png');
$sqlUpdateQr = "UPDATE `orders` SET `order_id_parent` = '{$order_id_parent}',`order_id` = '{$order_id}',`qrcode` = '{$value}.png' WHERE `id` = {$lastInsertId}";
$pdo->query($sqlUpdateQr);
}
//刪除購物車 和 表單資訊
unset($_SESSION['cart'], $_SESSION['seat'], $_SESSION['form']);
}
}
?>
<body>
<?php require_once './tpl/movinon-navbar.php' ?>
<main>
<div class="text-center py-5">付款成功!</div>
<button type="button" class="btn-brand">
<a href="main-page.php">
<div class="d-flex align-items-center">
<div class="img-wrap">
<img src="images/icon_ticket_fill.svg" alt="">
</div>
<span>返回首頁</span>
</div>
</a>
</button>
<button type="button" class="btn-brand">
<?php if (isset($_SESSION['name'])) { ?>
<a href="member-center-page.php">
<div class="d-flex align-items-center">
<div class="img-wrap">
<img src="images/icon_ticket_fill.svg" alt="">
</div>
<span>我的票夾</span>
</div>
</a>
<?php } ?>
</button>
</main>
<?php require_once './tpl/movinon-footer.php' ?>
<?php require_once './tpl/foot.php' ?>
</body>