-
Notifications
You must be signed in to change notification settings - Fork 4
/
post.php
79 lines (64 loc) · 2.28 KB
/
post.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
<?php
require_once 'function.php';
require_once 'database.php';
//DB接続
$connect_db = connectDB();
//カレンダー生成
$make_calendar = makeCalendar($display_count, $prev_month, $year_of_ym);
//フォームのデータ整形
$form_data = formData($make_calendar);
//POSTされたデータをSESSIONに保存
$_SESSION['form_data'] = $form_data;
//フォーム、バリデート
$is_form_valid = formValidate();
//フォームデータのエスケープ
$escape_formdata = escapeFormdata($connect_db, $form_data);
//POSTされたデータの受取り
$form_data = formData($make_calendar);
//ワンタイムトークンチェックする hiddenでPOSTしたトークンと$_SESSION['key']が一致するかチェック
if (isset($form_data['insert']) || isset($form_data['update']) || isset($form_data['delete'])) {
$check_token = checkToken($form_data['token']);
}
//SESSIONのトークンを削除
if ($check_token === true) {
unset($_SESSION['key']);
}
//連打された場合
if($check_token === false) {
echo h('連打はやめましょう!!!!!!!11111');
}
//SQL文の生成
//バリデート通ったとき
if ($is_form_valid === true && $check_token === true) {
$sql_create = sqlCreate($escape_formdata, $check_token);
}
//INSERTまたはUPDATEのSQLがある場合、実行
if ($check_token === true && empty($_SESSION['error']['error_schedule_title']) && empty($_SESSION['error']['error_schedule_detail']) && isset($sql_create['sql'])) {
$insert_update = sqlResult($escape_formdata, $connect_db, $sql_create);
$insert_update['insert_or_update'];
unset($_SESSION['error']['keep_title']);
unset($_SESSION['error']['keep_detail']);
header('Location: ./');
return;
}
//DELETEのSQLがある場合、deleted_atにNOW()を入れる
if ($check_token === true && isset($sql_create['delete'])) {
$delete = sqlResult($escape_formdata, $connect_db, $sql_create);
$delete['delete'];
header('Location: ./');
return;
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title></title>
<link href="calendar.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="js/form.js"></script>
</head>
<body>
<br /><a href="./">戻る</a>
</body>
</html>