From 86d73c96d44d893416a7f30d18511cf543acab9c Mon Sep 17 00:00:00 2001 From: ito493001 <114464389+ito493001@users.noreply.github.com> Date: Thu, 9 Mar 2023 15:00:11 +0900 Subject: [PATCH 1/7] spell miss --- identify.php | 2 +- login.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/identify.php b/identify.php index a89f509..7e48065 100644 --- a/identify.php +++ b/identify.php @@ -19,7 +19,7 @@ $hashedPassword = hash('sha256', $password); // データを認証する -$sql = "SELECT * FROM `User` WHERE `username` LIKE '" .$hashedUsername. "' AND `passward` LIKE '" .$hashedPassword. "'";//クエリ +$sql = "SELECT * FROM `User` WHERE `username` LIKE '" .$hashedUsername. "' AND `password` LIKE '" .$hashedPassword. "'";//クエリ $result = $mysqli->query($sql); //echo $result -> num_rows; diff --git a/login.php b/login.php index fd9b6ac..9fefab4 100644 --- a/login.php +++ b/login.php @@ -18,7 +18,7 @@ // データを挿入する -$sql = "INSERT INTO `User` (`username`, `passward`) VALUES ('" .$hashedUsername. "', '" .$hashedPassword. "');";//クエリ +$sql = "INSERT INTO `User` (`username`, `password`) VALUES ('" .$hashedUsername. "', '" .$hashedPassword. "');";//クエリ $result = $mysqli->query($sql); From cdc0ef0704bfec9cbb66b7469f2eecebea399fb0 Mon Sep 17 00:00:00 2001 From: ito493001 <114464389+ito493001@users.noreply.github.com> Date: Mon, 13 Mar 2023 11:18:49 +0900 Subject: [PATCH 2/7] =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=81=A8=E7=99=BB=E9=8C=B2=E7=94=BB=E9=9D=A2=E3=82=92=E5=88=A5?= =?UTF-8?q?=E3=80=85=E3=81=AB=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- identify.php | 23 +++++++++++++++++- index.php | 22 +++++++++++++++++ login.html | 65 +++++++++++++++++++++++---------------------------- register.html | 39 +++++++++++++++++++++++++++++++ 4 files changed, 112 insertions(+), 37 deletions(-) create mode 100644 index.php create mode 100644 register.html diff --git a/identify.php b/identify.php index 7e48065..53e281f 100644 --- a/identify.php +++ b/identify.php @@ -1,4 +1,6 @@ close(); ?> + +
+ +
+ diff --git a/index.php b/index.php new file mode 100644 index 0000000..0264fb6 --- /dev/null +++ b/index.php @@ -0,0 +1,22 @@ +Welcome, " . $_SESSION['username'] . "!

"; + + // セッションが有効期限切れになったかどうかをチェック + if (time() > $_SESSION['expire_time']) { + // セッションを終了して、login.htmlにリダイレクト + session_unset(); + session_destroy(); + header('Location: login.html'); + exit(); + } + } else { + // セッションが開始されていない場合、login.htmlにリダイレクト + header('Location: login.html'); + exit(); + } + ?> + + \ No newline at end of file diff --git a/login.html b/login.html index 92ecbea..c21045f 100644 --- a/login.html +++ b/login.html @@ -3,44 +3,37 @@ - + - -
-

新規登録

- - -
- - -
- -
- - -
-

ログイン

- - -
- - -
- -
+
+

ログイン

+ + + + + + + +
+ - - - \ No newline at end of file + \ No newline at end of file diff --git a/register.html b/register.html new file mode 100644 index 0000000..085d231 --- /dev/null +++ b/register.html @@ -0,0 +1,39 @@ + + + + + + + + + +
+

登録

+ + + + + + + +
+ + + + \ No newline at end of file From 85bc40316606541d074c5476aa112dbbb4b2a80b Mon Sep 17 00:00:00 2001 From: ito493001 <114464389+ito493001@users.noreply.github.com> Date: Mon, 13 Mar 2023 11:22:09 +0900 Subject: [PATCH 3/7] login_form --- login®ister.css | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 login®ister.css diff --git a/login®ister.css b/login®ister.css new file mode 100644 index 0000000..cad7a84 --- /dev/null +++ b/login®ister.css @@ -0,0 +1,93 @@ +* { + margin: 0; + padding: 0; + border: none; + list-style: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + body { + font: 15px/1.25 'Alef'; + color: #111; + } + form { + margin: 70px auto; + background: #2a3644; + width: 347px; + text-align: center; + padding: 40px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -ms-border-radius: 6px; + -o-border-radius: 6px; + border-radius: 6px; + } + form > h1 { + color: #f4f4f4; + text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.7); + font-weight: 400; + margin-bottom: 20px; + } + input { + background: rgba(0, 0, 0, 0.2); + color: #fff; + text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.3); + display: block; + width: 269px; + padding: 15px; + margin-bottom: 10px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -ms-border-radius: 6px; + -o-border-radius: 6px; + border-radius: 6px; + -webkit-transition: all 0.1s ease-in-out; + -moz-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; + outline: none; + } + input:focus { + background: rgba(0, 0, 0, 0.1); + -webkit-transition: all 0.1s ease-in-out; + -moz-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; + } + ::-webkit-input-placeholder { + color: rgba(225, 225, 225, 0.4); + } + :-moz-placeholder { + color: rgba(225, 225, 225, 0.4); + } + ::-moz-placeholder { + color: rgba(225, 225, 225, 0.4); + } + :-ms-input-placeholder { + color: rgba(225, 225, 225, 0.4); + } + button { + position: relative; + display: block; + margin-top: 15px; + margin-bottom: 15px; + padding: 17px; + width: 270px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -ms-border-radius: 6px; + -o-border-radius: 6px; + border-radius: 6px; + -webkit-transition: all 0.1s ease-in-out; + -moz-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; + font-size: 1.2em; + background: #f26964; + color: #f4f4f4; + box-shadow: 0px 3px 0px #ab4b47; + cursor: pointer; + } + button:active { + top: 3px; + box-shadow: none; + } + \ No newline at end of file From 8c26e84823e9f5c5a84de36a4e492cd4d073948e Mon Sep 17 00:00:00 2001 From: ito493001 <114464389+ito493001@users.noreply.github.com> Date: Wed, 15 Mar 2023 21:28:35 +0900 Subject: [PATCH 4/7] input condition --- login.html | 70 +++++++++++++++++++++++++++++++++++---------------- register.html | 69 ++++++++++++++++++++++++++++++++++---------------- 2 files changed, 97 insertions(+), 42 deletions(-) diff --git a/login.html b/login.html index c21045f..2ea00bf 100644 --- a/login.html +++ b/login.html @@ -14,26 +14,54 @@

ログイン

- - - - + - \ No newline at end of file + + + \ No newline at end of file diff --git a/register.html b/register.html index 085d231..13b1063 100644 --- a/register.html +++ b/register.html @@ -14,26 +14,53 @@

登録

- - - - + + - \ No newline at end of file + + + \ No newline at end of file From 0401c04b2964670cc1f372440cbb91413c3341eb Mon Sep 17 00:00:00 2001 From: ito493001 <114464389+ito493001@users.noreply.github.com> Date: Wed, 15 Mar 2023 21:41:22 +0900 Subject: [PATCH 5/7] defult&home --- account.png | Bin 0 -> 27293 bytes bell.png | Bin 0 -> 15111 bytes defult.html | 22 +++++ home.php | 248 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 270 insertions(+) create mode 100644 account.png create mode 100644 bell.png create mode 100644 defult.html create mode 100644 home.php diff --git a/account.png b/account.png new file mode 100644 index 0000000000000000000000000000000000000000..9defa95132ab4c4db9e630bd203a617cd9dc584c GIT binary patch literal 27293 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 literal 0 HcmV?d00001 diff --git a/defult.html b/defult.html new file mode 100644 index 0000000..6ef7a5a --- /dev/null +++ b/defult.html @@ -0,0 +1,22 @@ + + + + + タイトルタブ + + + +
+

タイトル

+
+
+

+ 概要 +

+
+ + +
+ + \ No newline at end of file diff --git a/home.php b/home.php new file mode 100644 index 0000000..705c6eb --- /dev/null +++ b/home.php @@ -0,0 +1,248 @@ +Welcome, " . $_SESSION['username'] . "!

"; + + // セッションが有効期限切れになったかどうかをチェック + if (time() > $_SESSION['expire_time']) { + // セッションを終了して、login.htmlにリダイレクト + session_unset(); + session_destroy(); + header('Location: defult.html'); + exit(); + } +} else { + // セッションが開始されていない場合、login.htmlにリダイレクト + header('Location: defult.html'); + exit(); +} + +//アップロードが成功したかのチェック +if (isset($_GET['s']) && $_GET['s'] == 1) { + echo ''; + // $url = strtok($_SERVER["REQUEST_URI"], '?'); + // header("Location: $url"); + // exit(); + +} +?> + + + + + + + ホーム画面 + + + + +
+
+ + タイトル + + + + + + +
+
+ +
+ +
+ + query($sql); + $n = 1; + ?> + + +
+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + // 1位を表示 + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+

+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+

+
+
+
+
+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+

+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+

+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+

+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+

+
+
+

+ fetch_assoc(); + $name = $row['SongName']; + $count = $row['count']; + echo "

第" . $n . "位" . "
" . "
" . $name . "
" . "
" . $count . "件

"; + $n += 1; + ?> +

+

+
+
+
+ + + + +close(); +?> \ No newline at end of file From d1abf133a327080f406f431ffaa79526b67ad12c Mon Sep 17 00:00:00 2001 From: ito493001 <114464389+ito493001@users.noreply.github.com> Date: Wed, 15 Mar 2023 21:43:30 +0900 Subject: [PATCH 6/7] name_error --- defult.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defult.html b/defult.html index 6ef7a5a..72e8694 100644 --- a/defult.html +++ b/defult.html @@ -15,8 +15,8 @@

タイトル

概要

- - + +
\ No newline at end of file From 0528c81e8a4807255150bb920ebcc1bf639585ea Mon Sep 17 00:00:00 2001 From: ito493001 <114464389+ito493001@users.noreply.github.com> Date: Wed, 15 Mar 2023 21:46:40 +0900 Subject: [PATCH 7/7] upload_form --- upload.css | 236 +++++++++++++++++++++++++++++++++++++++++++++++++++++ upload.php | 144 ++++++++++++++++++++++++++++++++ 2 files changed, 380 insertions(+) create mode 100644 upload.css create mode 100644 upload.php diff --git a/upload.css b/upload.css new file mode 100644 index 0000000..dca48e1 --- /dev/null +++ b/upload.css @@ -0,0 +1,236 @@ +* { box-sizing:border-box; } + +body { + font-family: Helvetica; + background: #eee; + -webkit-font-smoothing: antialiased; +} + +hgroup { + text-align:center; + margin-top: 4em; +} + +h1, h3 { font-weight: 300; } + +h1 { color: #636363; } + +h3 { color: #4a89dc; } + +form { + width: 380px; + margin: 4em auto; + padding: 3em 2em 2em 2em; + background: #fafafa; + border: 1px solid #ebebeb; + box-shadow: rgba(0,0,0,0.14902) 0px 1px 1px 0px,rgba(0,0,0,0.09804) 0px 1px 2px 0px; +} + +.group { + position: relative; + margin-bottom: 45px; +} + +input { + font-size: 18px; + padding: 10px 10px 10px 5px; + -webkit-appearance: none; + display: block; + background: #fafafa; + color: #636363; + width: 100%; + border: none; + border-radius: 0; + border-bottom: 1px solid #757575; +} + +input:focus { outline: none; } + + +/* Label */ + +label { + color: #999; + font-size: 18px; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 10px; + transition: all 0.2s ease; +} + + +/* active */ + +input:focus ~ label, input.used ~ label { + top: -20px; + transform: scale(.75); left: -2px; + /* font-size: 14px; */ + color: #4a89dc; +} + + +/* Underline */ + +.bar { + position: relative; + display: block; + width: 100%; +} + +.bar:before, .bar:after { + content: ''; + height: 2px; + width: 0; + bottom: 1px; + position: absolute; + background: #4a89dc; + transition: all 0.2s ease; +} + +.bar:before { left: 50%; } + +.bar:after { right: 50%; } + + +/* active */ + +input:focus ~ .bar:before, input:focus ~ .bar:after { width: 50%; } + + +/* Highlight */ + +.highlight { + position: absolute; + height: 60%; + width: 100px; + top: 25%; + left: 0; + pointer-events: none; + opacity: 0.5; +} + + +/* active */ + +input:focus ~ .highlight { + animation: inputHighlighter 0.3s ease; +} + + +/* Animations */ + +@keyframes inputHighlighter { + from { background: #4a89dc; } + to { width: 0; background: transparent; } +} + + +/* Button */ + +.button { + position: relative; + display: inline-block; + padding: 12px 24px; + margin: .3em 0 1em 0; + width: 100%; + vertical-align: middle; + color: #fff; + font-size: 16px; + line-height: 20px; + -webkit-font-smoothing: antialiased; + text-align: center; + letter-spacing: 1px; + background: transparent; + border: 0; + border-bottom: 2px solid #3160B6; + cursor: pointer; + transition: all 0.15s ease; +} +.button:focus { outline: 0; } + + +/* Button modifiers */ + +.buttonBlue { + background: #4a89dc; + text-shadow: 1px 1px 0 rgba(39, 110, 204, .5); +} + +.buttonBlue:hover { background: #357bd8; } + + +/* Ripples container */ + +.ripples { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + background: transparent; +} + + +/* Ripples circle */ + +.ripplesCircle { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + opacity: 0; + width: 0; + height: 0; + border-radius: 50%; + background: rgba(255, 255, 255, 0.25); +} + +.ripples.is-active .ripplesCircle { + animation: ripples .4s ease-in; +} + + +/* Ripples animation */ + +@keyframes ripples { + 0% { opacity: 0; } + + 25% { opacity: 1; } + + 100% { + width: 200%; + padding-bottom: 200%; + opacity: 0; + } +} + +footer { text-align: center; } + +footer p { + color: #888; + font-size: 13px; + letter-spacing: .4px; +} + +footer a { + color: #4a89dc; + text-decoration: none; + transition: all .2s ease; +} + +footer a:hover { + color: #666; + text-decoration: underline; +} + +footer img { + width: 80px; + transition: all .2s ease; +} + +footer img:hover { opacity: .83; } + +footer img:focus , footer a:focus { outline: none; } \ No newline at end of file diff --git a/upload.php b/upload.php new file mode 100644 index 0000000..c5114b8 --- /dev/null +++ b/upload.php @@ -0,0 +1,144 @@ +Welcome, " . $_SESSION['username'] . "!

"; + + // セッションが有効期限切れになったかどうかをチェック + if (time() > $_SESSION['expire_time']) { + // セッションを終了して、login.htmlにリダイレクト + session_unset(); + session_destroy(); + header('Location: defult.html'); + exit(); + } +} else { + // セッションが開始されていない場合、login.htmlにリダイレクト + header('Location: defult.html'); + exit(); +} +?> + + + + + + + + + + + + + +
+

楽曲アップロードページ

+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + + + + + + + + +query($sql); + +if (!$result) { + //echo 'INSERTが失敗しました。' . mysqli_error(); +} else { + //echo 'INSERTが成功しました。'; + header("Location: home.php?s=1"); +} + +// 切断 +$mysqli->close(); + +?> \ No newline at end of file