Showing
34 changed files
with
806 additions
and
0 deletions
.idea/bootstrap.iml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<module type="WEB_MODULE" version="4"> | ||
3 | + <component name="NewModuleRootManager"> | ||
4 | + <content url="file://$MODULE_DIR$"> | ||
5 | + <excludeFolder url="file://$MODULE_DIR$/.tmp" /> | ||
6 | + <excludeFolder url="file://$MODULE_DIR$/temp" /> | ||
7 | + <excludeFolder url="file://$MODULE_DIR$/tmp" /> | ||
8 | + </content> | ||
9 | + <orderEntry type="inheritedJdk" /> | ||
10 | + <orderEntry type="sourceFolder" forTests="false" /> | ||
11 | + </component> | ||
12 | +</module> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/encodings.xml
0 → 100644
.idea/misc.xml
0 → 100644
.idea/modules.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<project version="4"> | ||
3 | + <component name="ProjectModuleManager"> | ||
4 | + <modules> | ||
5 | + <module fileurl="file://$PROJECT_DIR$/.idea/bootstrap.iml" filepath="$PROJECT_DIR$/.idea/bootstrap.iml" /> | ||
6 | + </modules> | ||
7 | + </component> | ||
8 | +</project> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/workspace.xml
0 → 100644
This diff is collapsed. Click to expand it.
css/bootstrap-grid.css
0 → 100644
This diff is collapsed. Click to expand it.
css/bootstrap-grid.css.map
0 → 100644
This diff is collapsed. Click to expand it.
css/bootstrap-grid.min.css
0 → 100644
This diff is collapsed. Click to expand it.
css/bootstrap-grid.min.css.map
0 → 100644
This diff is collapsed. Click to expand it.
css/bootstrap-reboot.css
0 → 100644
1 | +/*! | ||
2 | + * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/) | ||
3 | + * Copyright 2011-2018 The Bootstrap Authors | ||
4 | + * Copyright 2011-2018 Twitter, Inc. | ||
5 | + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
6 | + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) | ||
7 | + */ | ||
8 | +*, | ||
9 | +*::before, | ||
10 | +*::after { | ||
11 | + box-sizing: border-box; | ||
12 | +} | ||
13 | + | ||
14 | +html { | ||
15 | + font-family: sans-serif; | ||
16 | + line-height: 1.15; | ||
17 | + -webkit-text-size-adjust: 100%; | ||
18 | + -ms-text-size-adjust: 100%; | ||
19 | + -ms-overflow-style: scrollbar; | ||
20 | + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); | ||
21 | +} | ||
22 | + | ||
23 | +@-ms-viewport { | ||
24 | + width: device-width; | ||
25 | +} | ||
26 | + | ||
27 | +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { | ||
28 | + display: block; | ||
29 | +} | ||
30 | + | ||
31 | +body { | ||
32 | + margin: 0; | ||
33 | + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; | ||
34 | + font-size: 1rem; | ||
35 | + font-weight: 400; | ||
36 | + line-height: 1.5; | ||
37 | + color: #212529; | ||
38 | + text-align: left; | ||
39 | + background-color: #fff; | ||
40 | +} | ||
41 | + | ||
42 | +[tabindex="-1"]:focus { | ||
43 | + outline: 0 !important; | ||
44 | +} | ||
45 | + | ||
46 | +hr { | ||
47 | + box-sizing: content-box; | ||
48 | + height: 0; | ||
49 | + overflow: visible; | ||
50 | +} | ||
51 | + | ||
52 | +h1, h2, h3, h4, h5, h6 { | ||
53 | + margin-top: 0; | ||
54 | + margin-bottom: 0.5rem; | ||
55 | +} | ||
56 | + | ||
57 | +p { | ||
58 | + margin-top: 0; | ||
59 | + margin-bottom: 1rem; | ||
60 | +} | ||
61 | + | ||
62 | +abbr[title], | ||
63 | +abbr[data-original-title] { | ||
64 | + text-decoration: underline; | ||
65 | + -webkit-text-decoration: underline dotted; | ||
66 | + text-decoration: underline dotted; | ||
67 | + cursor: help; | ||
68 | + border-bottom: 0; | ||
69 | +} | ||
70 | + | ||
71 | +address { | ||
72 | + margin-bottom: 1rem; | ||
73 | + font-style: normal; | ||
74 | + line-height: inherit; | ||
75 | +} | ||
76 | + | ||
77 | +ol, | ||
78 | +ul, | ||
79 | +dl { | ||
80 | + margin-top: 0; | ||
81 | + margin-bottom: 1rem; | ||
82 | +} | ||
83 | + | ||
84 | +ol ol, | ||
85 | +ul ul, | ||
86 | +ol ul, | ||
87 | +ul ol { | ||
88 | + margin-bottom: 0; | ||
89 | +} | ||
90 | + | ||
91 | +dt { | ||
92 | + font-weight: 700; | ||
93 | +} | ||
94 | + | ||
95 | +dd { | ||
96 | + margin-bottom: .5rem; | ||
97 | + margin-left: 0; | ||
98 | +} | ||
99 | + | ||
100 | +blockquote { | ||
101 | + margin: 0 0 1rem; | ||
102 | +} | ||
103 | + | ||
104 | +dfn { | ||
105 | + font-style: italic; | ||
106 | +} | ||
107 | + | ||
108 | +b, | ||
109 | +strong { | ||
110 | + font-weight: bolder; | ||
111 | +} | ||
112 | + | ||
113 | +small { | ||
114 | + font-size: 80%; | ||
115 | +} | ||
116 | + | ||
117 | +sub, | ||
118 | +sup { | ||
119 | + position: relative; | ||
120 | + font-size: 75%; | ||
121 | + line-height: 0; | ||
122 | + vertical-align: baseline; | ||
123 | +} | ||
124 | + | ||
125 | +sub { | ||
126 | + bottom: -.25em; | ||
127 | +} | ||
128 | + | ||
129 | +sup { | ||
130 | + top: -.5em; | ||
131 | +} | ||
132 | + | ||
133 | +a { | ||
134 | + color: #007bff; | ||
135 | + text-decoration: none; | ||
136 | + background-color: transparent; | ||
137 | + -webkit-text-decoration-skip: objects; | ||
138 | +} | ||
139 | + | ||
140 | +a:hover { | ||
141 | + color: #0056b3; | ||
142 | + text-decoration: underline; | ||
143 | +} | ||
144 | + | ||
145 | +a:not([href]):not([tabindex]) { | ||
146 | + color: inherit; | ||
147 | + text-decoration: none; | ||
148 | +} | ||
149 | + | ||
150 | +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { | ||
151 | + color: inherit; | ||
152 | + text-decoration: none; | ||
153 | +} | ||
154 | + | ||
155 | +a:not([href]):not([tabindex]):focus { | ||
156 | + outline: 0; | ||
157 | +} | ||
158 | + | ||
159 | +pre, | ||
160 | +code, | ||
161 | +kbd, | ||
162 | +samp { | ||
163 | + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; | ||
164 | + font-size: 1em; | ||
165 | +} | ||
166 | + | ||
167 | +pre { | ||
168 | + margin-top: 0; | ||
169 | + margin-bottom: 1rem; | ||
170 | + overflow: auto; | ||
171 | + -ms-overflow-style: scrollbar; | ||
172 | +} | ||
173 | + | ||
174 | +figure { | ||
175 | + margin: 0 0 1rem; | ||
176 | +} | ||
177 | + | ||
178 | +img { | ||
179 | + vertical-align: middle; | ||
180 | + border-style: none; | ||
181 | +} | ||
182 | + | ||
183 | +svg { | ||
184 | + overflow: hidden; | ||
185 | + vertical-align: middle; | ||
186 | +} | ||
187 | + | ||
188 | +table { | ||
189 | + border-collapse: collapse; | ||
190 | +} | ||
191 | + | ||
192 | +caption { | ||
193 | + padding-top: 0.75rem; | ||
194 | + padding-bottom: 0.75rem; | ||
195 | + color: #6c757d; | ||
196 | + text-align: left; | ||
197 | + caption-side: bottom; | ||
198 | +} | ||
199 | + | ||
200 | +th { | ||
201 | + text-align: inherit; | ||
202 | +} | ||
203 | + | ||
204 | +label { | ||
205 | + display: inline-block; | ||
206 | + margin-bottom: 0.5rem; | ||
207 | +} | ||
208 | + | ||
209 | +button { | ||
210 | + border-radius: 0; | ||
211 | +} | ||
212 | + | ||
213 | +button:focus { | ||
214 | + outline: 1px dotted; | ||
215 | + outline: 5px auto -webkit-focus-ring-color; | ||
216 | +} | ||
217 | + | ||
218 | +input, | ||
219 | +button, | ||
220 | +select, | ||
221 | +optgroup, | ||
222 | +textarea { | ||
223 | + margin: 0; | ||
224 | + font-family: inherit; | ||
225 | + font-size: inherit; | ||
226 | + line-height: inherit; | ||
227 | +} | ||
228 | + | ||
229 | +button, | ||
230 | +input { | ||
231 | + overflow: visible; | ||
232 | +} | ||
233 | + | ||
234 | +button, | ||
235 | +select { | ||
236 | + text-transform: none; | ||
237 | +} | ||
238 | + | ||
239 | +button, | ||
240 | +html [type="button"], | ||
241 | +[type="reset"], | ||
242 | +[type="submit"] { | ||
243 | + -webkit-appearance: button; | ||
244 | +} | ||
245 | + | ||
246 | +button::-moz-focus-inner, | ||
247 | +[type="button"]::-moz-focus-inner, | ||
248 | +[type="reset"]::-moz-focus-inner, | ||
249 | +[type="submit"]::-moz-focus-inner { | ||
250 | + padding: 0; | ||
251 | + border-style: none; | ||
252 | +} | ||
253 | + | ||
254 | +input[type="radio"], | ||
255 | +input[type="checkbox"] { | ||
256 | + box-sizing: border-box; | ||
257 | + padding: 0; | ||
258 | +} | ||
259 | + | ||
260 | +input[type="date"], | ||
261 | +input[type="time"], | ||
262 | +input[type="datetime-local"], | ||
263 | +input[type="month"] { | ||
264 | + -webkit-appearance: listbox; | ||
265 | +} | ||
266 | + | ||
267 | +textarea { | ||
268 | + overflow: auto; | ||
269 | + resize: vertical; | ||
270 | +} | ||
271 | + | ||
272 | +fieldset { | ||
273 | + min-width: 0; | ||
274 | + padding: 0; | ||
275 | + margin: 0; | ||
276 | + border: 0; | ||
277 | +} | ||
278 | + | ||
279 | +legend { | ||
280 | + display: block; | ||
281 | + width: 100%; | ||
282 | + max-width: 100%; | ||
283 | + padding: 0; | ||
284 | + margin-bottom: .5rem; | ||
285 | + font-size: 1.5rem; | ||
286 | + line-height: inherit; | ||
287 | + color: inherit; | ||
288 | + white-space: normal; | ||
289 | +} | ||
290 | + | ||
291 | +progress { | ||
292 | + vertical-align: baseline; | ||
293 | +} | ||
294 | + | ||
295 | +[type="number"]::-webkit-inner-spin-button, | ||
296 | +[type="number"]::-webkit-outer-spin-button { | ||
297 | + height: auto; | ||
298 | +} | ||
299 | + | ||
300 | +[type="search"] { | ||
301 | + outline-offset: -2px; | ||
302 | + -webkit-appearance: none; | ||
303 | +} | ||
304 | + | ||
305 | +[type="search"]::-webkit-search-cancel-button, | ||
306 | +[type="search"]::-webkit-search-decoration { | ||
307 | + -webkit-appearance: none; | ||
308 | +} | ||
309 | + | ||
310 | +::-webkit-file-upload-button { | ||
311 | + font: inherit; | ||
312 | + -webkit-appearance: button; | ||
313 | +} | ||
314 | + | ||
315 | +output { | ||
316 | + display: inline-block; | ||
317 | +} | ||
318 | + | ||
319 | +summary { | ||
320 | + display: list-item; | ||
321 | + cursor: pointer; | ||
322 | +} | ||
323 | + | ||
324 | +template { | ||
325 | + display: none; | ||
326 | +} | ||
327 | + | ||
328 | +[hidden] { | ||
329 | + display: none !important; | ||
330 | +} | ||
331 | +/*# sourceMappingURL=bootstrap-reboot.css.map */ | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
css/bootstrap-reboot.css.map
0 → 100644
This diff is collapsed. Click to expand it.
css/bootstrap-reboot.min.css
0 → 100644
1 | +/*! | ||
2 | + * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/) | ||
3 | + * Copyright 2011-2018 The Bootstrap Authors | ||
4 | + * Copyright 2011-2018 Twitter, Inc. | ||
5 | + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
6 | + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) | ||
7 | + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} | ||
8 | +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
css/bootstrap-reboot.min.css.map
0 → 100644
This diff is collapsed. Click to expand it.
css/bootstrap.css
0 → 100644
This diff could not be displayed because it is too large.
css/bootstrap.css.map
0 → 100644
This diff could not be displayed because it is too large.
css/bootstrap.min.css
0 → 100644
This diff could not be displayed because it is too large.
css/bootstrap.min.css.map
0 → 100644
This diff could not be displayed because it is too large.
css/login.css
0 → 100644
1 | +@import url("http://fonts.googleapis.com/earlyaccess/nanumgothic.css"); | ||
2 | + | ||
3 | +html { | ||
4 | + height: 100%; | ||
5 | +} | ||
6 | + | ||
7 | +body { | ||
8 | + width:100%; | ||
9 | + height:100%; | ||
10 | + margin: 0; | ||
11 | + padding-top: 80px; | ||
12 | + padding-bottom: 40px; | ||
13 | + font-family: "Nanum Gothic", arial, helvetica, sans-serif; | ||
14 | + background-repeat: no-repeat; | ||
15 | + background:linear-gradient(to bottom right, #0098FF, #6BA8D1); | ||
16 | +} | ||
17 | + | ||
18 | +.card { | ||
19 | + margin: 0 auto; /* Added */ | ||
20 | + float: none; /* Added */ | ||
21 | + margin-bottom: 10px; /* Added */ | ||
22 | + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); | ||
23 | +} | ||
24 | + | ||
25 | +.form-signin .form-control { | ||
26 | + position: relative; | ||
27 | + height: auto; | ||
28 | + -webkit-box-sizing: border-box; | ||
29 | + -moz-box-sizing: border-box; | ||
30 | + box-sizing: border-box; | ||
31 | + padding: 10px; | ||
32 | + font-size: 16px; | ||
33 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
index.html
0 → 100644
1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||
2 | +<html> | ||
3 | +<head> | ||
4 | + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | ||
5 | + <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
6 | + <title>Write something else you want</title> | ||
7 | + <!-- Latest compiled and minified CSS --> | ||
8 | + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> | ||
9 | + | ||
10 | + <!-- Optional theme --> | ||
11 | + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> | ||
12 | + | ||
13 | + <!-- Latest compiled and minified JavaScript --> | ||
14 | + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> | ||
15 | +</head> | ||
16 | +<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> | ||
17 | +<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> | ||
18 | +<script src="http://code.jquery.com/jquery-latest.min.js"></script> | ||
19 | + | ||
20 | +<nav class="navbar navbar-default" role="navigation"> | ||
21 | + <div class="container"> | ||
22 | + | ||
23 | + <title>My Broadcasting</title> | ||
24 | + <div class="navbar-header"> | ||
25 | + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapsible"> | ||
26 | + <span class="sr-only">Toggle navigation</span> | ||
27 | + <span class="icon-bar"></span> | ||
28 | + <span class="icon-bar"></span> | ||
29 | + <span class="icon-bar"></span> | ||
30 | + </button> | ||
31 | + <a class="navbar-brand" href="#">My Broadcasting</a> | ||
32 | + </div> | ||
33 | + | ||
34 | + <div class="navbar-collapse collapse" id="navbar-collapsible"> | ||
35 | + | ||
36 | + <div class="navbar-form navbar-left btn-group"> | ||
37 | + <button type="button" onclick="location.href='login.html'">Login</button> | ||
38 | + <button type="button" onclick="location.href='join.html'">Join</button> | ||
39 | + <button type="button" onclick="location.href='write.html'">MyTimetable</button> | ||
40 | + </div> | ||
41 | + | ||
42 | + <form class="navbar-form"> | ||
43 | + <div class="form-group" style="display:inline;"> | ||
44 | + <div class="input-group"> | ||
45 | + <input type="text" class="form-control"> | ||
46 | + <span class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | + </form> | ||
50 | + | ||
51 | + </div> | ||
52 | + | ||
53 | + </div> | ||
54 | +</nav> | ||
55 | + | ||
56 | +<body> | ||
57 | +<div class="container"> | ||
58 | + <table class="table table-bordered"> | ||
59 | + <thead> | ||
60 | + <caption> 글쓰기 </caption> | ||
61 | + </thead> | ||
62 | + <tbody> | ||
63 | + <form action="write_ok.jsp" method="post" encType="multiplart/form-data"> | ||
64 | + <tr> | ||
65 | + <th>제목: </th> | ||
66 | + <td><input type="text" placeholder="제목을 입력하세요. " name="subject" class="form-control"/></td> | ||
67 | + </tr> | ||
68 | + <tr> | ||
69 | + <th>내용: </th> | ||
70 | + <td><textarea cols="10" placeholder="내용을 입력하세요. " name="content" class="form-control"></textarea></td> | ||
71 | + </tr> | ||
72 | + <tr> | ||
73 | + <th>첨부파일: </th> | ||
74 | + <td><input type="text" placeholder="파일을 선택하세요. " name="filename" class="form-control"/></td> | ||
75 | + </tr> | ||
76 | + <tr> | ||
77 | + <th>비밀번호: </th> | ||
78 | + <td><input type="password" placeholder="비밀번호를 입력하세요" class="form-control"/></td> | ||
79 | + </tr> | ||
80 | + <tr> | ||
81 | + <td colspan="2"> | ||
82 | + <input type="button" value="등록" onclick="sendData()" class="pull-right"/> | ||
83 | + <input type="button" value="reset" class="pull-left"/> | ||
84 | + <input type="button" value="글 목록으로... " class="pull-right" onclick="javascript:location.href='list.jsp'"/> | ||
85 | + <!-- <a class="btn btn-default" onclick="sendData()"> 등록 </a> | ||
86 | + <a class="btn btn-default" type="reset"> reset </a> | ||
87 | + <a class="btn btn-default" onclick="javascript:location.href='list.jsp'">글 목록으로...</a> --> | ||
88 | + </td> | ||
89 | + </tr> | ||
90 | + </form> | ||
91 | + </tbody> | ||
92 | + </table> | ||
93 | +</div> | ||
94 | +</body> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
join.html
0 → 100644
This diff is collapsed. Click to expand it.
js/bootstrap.bundle.js
0 → 100644
This diff could not be displayed because it is too large.
js/bootstrap.bundle.js.map
0 → 100644
This diff could not be displayed because it is too large.
js/bootstrap.bundle.min.js
0 → 100644
This diff is collapsed. Click to expand it.
js/bootstrap.bundle.min.js.map
0 → 100644
This diff could not be displayed because it is too large.
js/bootstrap.js
0 → 100644
This diff could not be displayed because it is too large.
js/bootstrap.js.map
0 → 100644
This diff could not be displayed because it is too large.
js/bootstrap.min.js
0 → 100644
This diff is collapsed. Click to expand it.
js/bootstrap.min.js.map
0 → 100644
This diff could not be displayed because it is too large.
js/join.js
0 → 100644
1 | +$(function(){ | ||
2 | + // 회원 가입 처리 | ||
3 | + $('#join-submit').click(function(e){ | ||
4 | + e.preventDefault(); | ||
5 | + if($("#inputName").val() ==''){ | ||
6 | + alert('이름을 입력하세요'); | ||
7 | + $("#inputName").focus(); | ||
8 | + return false; | ||
9 | + } | ||
10 | + | ||
11 | + var email = $('#InputEmail').val(); | ||
12 | + if(email == ''){ | ||
13 | + alert('이메일을 입력하세요'); | ||
14 | + $("#InputEmail").focus(); | ||
15 | + return false; | ||
16 | + } else { | ||
17 | + var emailRegex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; | ||
18 | + if (!emailRegex.test(email)) { | ||
19 | + alert('이메일 주소가 유효하지 않습니다. ex)abc@gmail.com'); | ||
20 | + $("#inputEmail").focus(); | ||
21 | + return false; | ||
22 | + } | ||
23 | + } | ||
24 | + | ||
25 | + if($("#inputPassword").val() ==''){ | ||
26 | + alert('비밀번호를 입력하세요'); | ||
27 | + $("#inputPassword").focus(); | ||
28 | + return false; | ||
29 | + } | ||
30 | + | ||
31 | + if($("#inputPasswordCheck").val() ==''){ | ||
32 | + alert('비밀번호를 다시 한번 더 입력하세요'); | ||
33 | + $("#inputPasswordCheck").focus(); | ||
34 | + return false; | ||
35 | + } | ||
36 | + | ||
37 | + if($("#inputPassword").val()!== $("#inputPasswordCheck").val()){ | ||
38 | + alert('비밀번호를 둘다 동일하게 입력하세요'); | ||
39 | + return false; | ||
40 | + } | ||
41 | + | ||
42 | + if($("#inputMobile").val() ==''){ | ||
43 | + alert('휴대폰 번호를 입력하세요'); | ||
44 | + $("#inputMobile").focus(); | ||
45 | + return false; | ||
46 | + } | ||
47 | + | ||
48 | + if($("#agree").is(":checked") == false){ | ||
49 | + alert('약관에 동의하셔야 합니다'); | ||
50 | + return false; | ||
51 | + } | ||
52 | + | ||
53 | + $.ajax({ | ||
54 | + url: 'register.php', | ||
55 | + type: 'POST', | ||
56 | + data: { | ||
57 | + name:$("#inputName").val(), | ||
58 | + userID:$('#InputEmail').val(), | ||
59 | + email:$('#InputEmail').val(), | ||
60 | + password:$('#inputPassword').val(), | ||
61 | + telNO:$("#inputtelNO").val(), | ||
62 | + mobileNO:$("#inputMobile").val() | ||
63 | + }, | ||
64 | + dataType: "json", | ||
65 | + success: function (response) { | ||
66 | + if(response.result == 1){ | ||
67 | + alert('가입 완료'); | ||
68 | + location.replace('../index.php'); // 화면 갱신 | ||
69 | + } else if(response.result == 0){ | ||
70 | + alert('이미 가입된 아이디입니다'); | ||
71 | + } else if(response.result == -2){ | ||
72 | + alert('입력된 값이 없습니다'); | ||
73 | + } else { | ||
74 | + alert('등록중에 에러가 발생했습니다'); | ||
75 | + } | ||
76 | + }, | ||
77 | + error: function(jqXHR, textStatus, errorThrown){ | ||
78 | + alert("arjax error : " + textStatus + "\n" + errorThrown); | ||
79 | + } | ||
80 | + }); | ||
81 | + | ||
82 | + }); | ||
83 | + | ||
84 | +}); |
js/login.js
0 → 100644
1 | +$(".login").validate({ | ||
2 | + rules: { | ||
3 | + username: { | ||
4 | + required: true, | ||
5 | + minlength: 4 | ||
6 | + }, | ||
7 | + email: { | ||
8 | + required: true, | ||
9 | + email:true | ||
10 | + }, | ||
11 | + password: { | ||
12 | + required: true, | ||
13 | + minlength: 5 | ||
14 | + }, | ||
15 | + cpassword: { | ||
16 | + required: true, | ||
17 | + minlength: 5, | ||
18 | + equalTo: "#password" | ||
19 | + } | ||
20 | + }, | ||
21 | + //For custom messages | ||
22 | + messages: { | ||
23 | + username:{ | ||
24 | + required: "Enter a username", | ||
25 | + minlength: "Enter at least 4 characters" | ||
26 | + } | ||
27 | + }, | ||
28 | + errorElement : 'div', | ||
29 | + errorPlacement: function(error, element) { | ||
30 | + var placement = $(element).data('error'); | ||
31 | + if (placement) { | ||
32 | + $(placement).append(error) | ||
33 | + } else { | ||
34 | + error.insertAfter(element); | ||
35 | + } | ||
36 | + } | ||
37 | +}); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
login.html
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html lang="ko"> | ||
3 | +<head> | ||
4 | + | ||
5 | + <meta charset="utf-8"> | ||
6 | + <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
7 | + <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
8 | + <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> | ||
9 | + <meta name="description" content=""> | ||
10 | + <meta name="author" content=""> | ||
11 | + | ||
12 | + <!-- Bootstrap CSS --> | ||
13 | + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> | ||
14 | + <title>Login</title> | ||
15 | + | ||
16 | +</head> | ||
17 | + | ||
18 | +<body cellpadding="0" cellspacing="0" marginleft="0" margintop="0" width="100%" height="100%" align="center"> | ||
19 | + | ||
20 | +<div class="card align-middle" style="width:20rem; border-radius:20px;"> | ||
21 | + <div class="card-title" style="margin-top:30px;"> | ||
22 | + <h2 class="card-title text-center" style="color:#113366;">로그인 폼</h2> | ||
23 | + </div> | ||
24 | + <div class="card-body"> | ||
25 | + <form class="form-signin" method="POST" onSubmit="logincall();return false"> | ||
26 | + <h5 class="form-signin-heading">로그인 정보를 입력하세요</h5> | ||
27 | + <label for="inputEmail" class="sr-only">Your ID</label> | ||
28 | + <input type="text" id="uid" class="form-control" placeholder="Your ID" required autofocus><BR> | ||
29 | + <label for="inputPassword" class="sr-only">Password</label> | ||
30 | + <input type="password" id="upw" class="form-control" placeholder="Password" required><br> | ||
31 | + <div class="checkbox"> | ||
32 | + <label> | ||
33 | + <input type="checkbox" value="remember-me"> 기억하기 | ||
34 | + </label> | ||
35 | + </div> | ||
36 | + <button id="btn-Yes" class="btn btn-lg btn-primary btn-block" type="submit">로 그 인</button> | ||
37 | + </form> | ||
38 | + | ||
39 | + </div> | ||
40 | +</div> | ||
41 | + | ||
42 | +<div class="modal"> | ||
43 | +</div> | ||
44 | +<!-- Optional JavaScript --> | ||
45 | +<!-- jQuery first, then Popper.js, then Bootstrap JS --> | ||
46 | +<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> | ||
47 | +<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> | ||
48 | +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> | ||
49 | +</body> | ||
50 | +</html> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
register.php
0 → 100644
1 | +<?php | ||
2 | +extract($_POST); | ||
3 | +if (isset($_POST)) { | ||
4 | + require_once '../config/config.php'; | ||
5 | + $c = new MemberClass(); | ||
6 | + // 동일한 userID(email) 등록되어 있는지 체크 | ||
7 | + if ($c->isUserExisted($userID)) { | ||
8 | + echo '{"result":"0"}'; // echo json_encode(array('result' => '0')); 과 동일 | ||
9 | + } else { | ||
10 | + // 회원 등록 | ||
11 | + $user = $c->storeUser($userID, $name, $email, $password, $telNO, $mobileNO); | ||
12 | + if ($user) {// 사용자 등록 성공 | ||
13 | + if (!isset($_SESSION)) { | ||
14 | + session_start(); | ||
15 | + } | ||
16 | + $_SESSION['userID'] = $user['userID']; | ||
17 | + $_SESSION['admin'] = $user['admin']; | ||
18 | + echo json_encode(array('result' => '1')); | ||
19 | + } else { | ||
20 | + // 회원 등록 실패 | ||
21 | + echo json_encode(array('result' => '-1')); | ||
22 | + } | ||
23 | + } | ||
24 | +} else {// 입력받은 데이터에 문제가 있을 경우 | ||
25 | + echo json_encode(array('result' => '-2')); | ||
26 | +} | ||
27 | +?> |
registerForm.php
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html lang="en"> | ||
3 | + <head> | ||
4 | + <meta charset="utf-8"> | ||
5 | + <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
6 | + <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
7 | + <title>회원가입</title> | ||
8 | + <!-- Bootstrap --> | ||
9 | + <link href="../plugin/bootstrap/css/bootstrap.min.css" rel="stylesheet"> | ||
10 | + <!-- font awesome --> | ||
11 | + <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> | ||
12 | + <!-- Custom style --> | ||
13 | + <link rel="stylesheet" href="../plugin/bootstrap/css/style.css" media="screen" title="no title" charset="utf-8"> | ||
14 | + | ||
15 | + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> | ||
16 | + <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> | ||
17 | + <!--[if lt IE 9]> | ||
18 | + <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> | ||
19 | + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> | ||
20 | + <![endif]--> | ||
21 | + <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> | ||
22 | + <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> | ||
23 | + <!-- Include all compiled plugins (below), or include individual files as needed --> | ||
24 | + <script src="../plugin/bootstrap/js/bootstrap.min.js"></script> | ||
25 | + <script src="../config/js/join.js"></script> | ||
26 | + </head> | ||
27 | + <body> | ||
28 | + <article class="container"> | ||
29 | + <div class="page-header"> | ||
30 | + <div class="col-md-6 col-md-offset-3"> | ||
31 | + <h3>회원가입 Form</h3> | ||
32 | + </div> | ||
33 | + </div> | ||
34 | + <div class="col-sm-6 col-md-offset-3"> | ||
35 | + <form role="form"> | ||
36 | + <div class="form-group"> | ||
37 | + <label for="inputName">성명</label> | ||
38 | + <input type="text" class="form-control" id="inputName" placeholder="이름을 입력해 주세요"> | ||
39 | + </div> | ||
40 | + <div class="form-group"> | ||
41 | + <label for="InputEmail">이메일 주소</label> | ||
42 | + <input type="email" class="form-control" id="InputEmail" placeholder="이메일 주소를 입력해주세요"> | ||
43 | + </div> | ||
44 | + <div class="form-group"> | ||
45 | + <label for="inputPassword">비밀번호</label> | ||
46 | + <input type="password" class="form-control" id="inputPassword" placeholder="비밀번호를 입력해주세요"> | ||
47 | + </div> | ||
48 | + <div class="form-group"> | ||
49 | + <label for="inputPasswordCheck">비밀번호 확인</label> | ||
50 | + <input type="password" class="form-control" id="inputPasswordCheck" placeholder="비밀번호 확인을 위해 다시한번 입력 해 주세요"> | ||
51 | + </div> | ||
52 | + <div class="form-group"> | ||
53 | + <label for="inputMobile">휴대폰 번호</label> | ||
54 | + <input type="tel" class="form-control" id="inputMobile" placeholder="휴대폰번호를 입력해 주세요"> | ||
55 | + </div> | ||
56 | + <div class="form-group"> | ||
57 | + <label for="inputtelNO">사무실 번호</label> | ||
58 | + <input type="tel" class="form-control" id="inputtelNO" placeholder="사무실번호를 입력해 주세요"> | ||
59 | + </div> | ||
60 | + | ||
61 | + <div class="form-group"> | ||
62 | + <label>약관 동의</label> | ||
63 | + <div data-toggle="buttons"> | ||
64 | + <label class="btn btn-primary active"> | ||
65 | + <span class="fa fa-check"></span> | ||
66 | + <input id="agree" type="checkbox" autocomplete="off" checked> | ||
67 | + </label> | ||
68 | + <a href="#">이용약관</a>에 동의합니다. | ||
69 | + </div> | ||
70 | + </div> | ||
71 | + | ||
72 | + <div class="form-group text-center"> | ||
73 | + <button type="submit" id="join-submit" class="btn btn-primary"> | ||
74 | + 회원가입<i class="fa fa-check spaceLeft"></i> | ||
75 | + </button> | ||
76 | + <button type="submit" class="btn btn-warning"> | ||
77 | + 가입취소<i class="fa fa-times spaceLeft"></i> | ||
78 | + </button> | ||
79 | + </div> | ||
80 | + </form> | ||
81 | + </div> | ||
82 | + | ||
83 | + </article> | ||
84 | + </body> | ||
85 | +</html> |
write.html
0 → 100644
1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||
2 | +<html> | ||
3 | +<head> | ||
4 | + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | ||
5 | + <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
6 | + <title>Write</title> | ||
7 | + <!-- Latest compiled and minified CSS --> | ||
8 | + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> | ||
9 | + | ||
10 | + <!-- Optional theme --> | ||
11 | + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> | ||
12 | + | ||
13 | + <!-- Latest compiled and minified JavaScript --> | ||
14 | + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> | ||
15 | +</head> | ||
16 | +<body> | ||
17 | +<div class="container"> | ||
18 | + <table class="table table-bordered"> | ||
19 | + <thead> | ||
20 | + <caption> 나만의 시간표 </caption> | ||
21 | + </thead> | ||
22 | + | ||
23 | + </table> | ||
24 | +</div> | ||
25 | +</body> | ||
26 | +</html> | ||
27 | + |
-
Please register or login to post a comment