Skip to content

Commit de514f1

Browse files
authored
Add files via upload
1 parent 12a804b commit de514f1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+4911
-0
lines changed

98_datenbank/450731_3_1.sql

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
-- phpMyAdmin SQL Dump
2+
-- version 4.6.6deb4
3+
-- https://www.phpmyadmin.net/
4+
--
5+
-- Host: localhost:3306
6+
-- Erstellungszeit: 19. Jan 2023 um 10:08
7+
-- Server-Version: 10.3.31-MariaDB-0+deb10u1
8+
-- PHP-Version: 7.0.33-57+0~20211119.61+debian10~1.gbp5d8ba5
9+
10+
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
11+
SET time_zone = "+00:00";
12+
13+
14+
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
15+
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
16+
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
17+
/*!40101 SET NAMES utf8mb4 */;
18+
19+
--
20+
-- Datenbank: `450731_3_1`
21+
--
22+
23+
-- --------------------------------------------------------
24+
25+
--
26+
-- Tabellenstruktur für Tabelle `Benutzer`
27+
--
28+
29+
CREATE TABLE `Benutzer` (
30+
`ID` int(11) NOT NULL,
31+
`name` varchar(42) NOT NULL,
32+
`email` varchar(42) NOT NULL,
33+
`passwort` varchar(200) NOT NULL,
34+
`handyNr` varchar(42) NOT NULL
35+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
36+
37+
--
38+
-- Daten für Tabelle `Benutzer`
39+
--
40+
41+
INSERT INTO `Benutzer` (`ID`, `name`, `email`, `passwort`, `handyNr`) VALUES
42+
(60, 'raul', '[email protected]', '$2y$10$yfod.ElzV7GweeA4gAkkxujxL6clwK3TEtSe0PhR8eExPvYFRNVry', '078 742 34 56'),
43+
(62, 'david', '[email protected]', '$2y$10$TvdhHe3nqbFgP2H/z.vw0.RDxpwpP/90no.rVXJ8xOpDMtqZzS9yC', '076 987 87 23'),
44+
(63, 'Emily', '[email protected]', '$2y$10$jt3uBR5GfEWCID5VcasChui4/ThyfDXmdczmF0lLL7z2wCKyADhT.', '078 168 47 89'),
45+
(64, 'Luan', '[email protected]', '$2y$10$UCl248CW/o76XFrTHfanYeBGlCLOE7FT0T78lGUv1Aqj5yjHhiyxi', '079 138 93 28'),
46+
(65, 'Michel', '[email protected]', '$2y$10$PqcGrgkqx252CnMe6rqSseIJiCmHrGxUXZfXTLxRKWe84wnwtQXD.', '079 567 32 12'),
47+
(66, 'David123', 'mmp123', '$2y$10$PgL73RtWNcdqp7UA9.PqfOQNXxMIRfUnuNMzRLp6l8Wr1bbkn9WVi', '079 108 80 81');
48+
49+
-- --------------------------------------------------------
50+
51+
--
52+
-- Tabellenstruktur für Tabelle `Kurs`
53+
--
54+
55+
CREATE TABLE `Kurs` (
56+
`ID` int(11) NOT NULL,
57+
`semester` int(42) NOT NULL,
58+
`name` varchar(42) NOT NULL
59+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
60+
61+
--
62+
-- Daten für Tabelle `Kurs`
63+
--
64+
65+
INSERT INTO `Kurs` (`ID`, `semester`, `name`) VALUES
66+
(1, 4, 'Interaktive Medien IIII'),
67+
(2, 4, 'Visualisieren IIII'),
68+
(3, 4, 'Schreiben und Sprechen IIII'),
69+
(4, 3, 'Interaktive Medien III'),
70+
(7, 3, 'Medien BWL III'),
71+
(8, 3, 'Medien Recht III'),
72+
(9, 2, 'Interaktive Medien II'),
73+
(10, 2, 'Medien BWL II'),
74+
(11, 2, 'Medien Recht II'),
75+
(12, 1, 'Interaktive Medien I'),
76+
(13, 1, 'Medien BWL I'),
77+
(15, 1, 'Medien Recht I');
78+
79+
-- --------------------------------------------------------
80+
81+
--
82+
-- Tabellenstruktur für Tabelle `PDF`
83+
--
84+
85+
CREATE TABLE `PDF` (
86+
`ID` int(11) NOT NULL,
87+
`dokument` varchar(200) DEFAULT NULL,
88+
`benutzer_ID` int(11) DEFAULT NULL,
89+
`kurs_ID` int(11) DEFAULT NULL,
90+
`standort` varchar(42) DEFAULT NULL
91+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
92+
93+
--
94+
-- Daten für Tabelle `PDF`
95+
--
96+
97+
INSERT INTO `PDF` (`ID`, `dokument`, `benutzer_ID`, `kurs_ID`, `standort`) VALUES
98+
(219, 'pp_tiktok-08.png', 62, 8, 'Bern'),
99+
(220, 'undefined', 62, 1, 'Bern'),
100+
(222, 'Medienrecht_RepetitionNotizen.docx', 29, 11, 'Zuerich'),
101+
(226, 'Medienrecht_RepetitionNotizen.docx', 29, 1, 'Bern'),
102+
(227, 'Medienrecht III_Zusammenfassung_LuanPalma.docx', 64, 11, 'Zuerich'),
103+
(228, 'Markenrecht Repetition.pdf', 64, 7, 'Chur'),
104+
(229, 'Medienrecht_RepetitionNotizen.docx', 64, 10, 'Zuerich'),
105+
(230, 'Zusammenfassung_Medienrecht_3Sem.pdf', 63, 8, 'Bern'),
106+
(231, 'Zusammenfassung_MedienBWL_2Sem.pdf', 63, 10, 'Chur'),
107+
(233, 'zusammenfassung-bwl.pdf', 66, 13, 'Bern'),
108+
(235, 'Zusammenfassung.ai', 65, 7, 'Bern');
109+
110+
-- --------------------------------------------------------
111+
112+
--
113+
-- Tabellenstruktur für Tabelle `Session`
114+
--
115+
116+
CREATE TABLE `Session` (
117+
`ID` int(11) NOT NULL,
118+
`benutzer_ID` int(11) NOT NULL,
119+
`token` varchar(100) NOT NULL,
120+
`timestamp` timestamp NOT NULL DEFAULT current_timestamp()
121+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
122+
123+
--
124+
-- Daten für Tabelle `Session`
125+
--
126+
127+
INSERT INTO `Session` (`ID`, `benutzer_ID`, `token`, `timestamp`) VALUES
128+
(77, 63, 'gu7DC3xaZW5bwQL2hATnhGcDwh2Z2Darp2kzsApMYP', '2023-01-19 09:00:32'),
129+
(78, 64, 'SMslRsjru7YdehSP7wa89zO4enDqqNF1n5oOddCO4w', '2023-01-19 09:07:39'),
130+
(79, 63, 'KKeXLfPs3iS9I2hgxh056dY1A53q3sFoDQh1GUp8XT', '2023-01-19 09:01:12'),
131+
(80, 65, 'AlaRqHWDcIHUx3m2vBCv8cFXoVYnk8QygSm1ZF52w7', '2023-01-19 09:04:56'),
132+
(81, 66, '5unsacuAZPQNLLKNyNqoVKr7KeiBDfcfpPaYHqdlxw', '2023-01-19 09:06:23');
133+
134+
--
135+
-- Indizes der exportierten Tabellen
136+
--
137+
138+
--
139+
-- Indizes für die Tabelle `Benutzer`
140+
--
141+
ALTER TABLE `Benutzer`
142+
ADD PRIMARY KEY (`ID`);
143+
144+
--
145+
-- Indizes für die Tabelle `Kurs`
146+
--
147+
ALTER TABLE `Kurs`
148+
ADD PRIMARY KEY (`ID`);
149+
150+
--
151+
-- Indizes für die Tabelle `PDF`
152+
--
153+
ALTER TABLE `PDF`
154+
ADD PRIMARY KEY (`ID`),
155+
ADD KEY `PDF_benutzerid` (`benutzer_ID`),
156+
ADD KEY `PDF_kursid` (`kurs_ID`);
157+
158+
--
159+
-- Indizes für die Tabelle `Session`
160+
--
161+
ALTER TABLE `Session`
162+
ADD PRIMARY KEY (`ID`),
163+
ADD KEY `Session_benutzerid` (`benutzer_ID`);
164+
165+
--
166+
-- AUTO_INCREMENT für exportierte Tabellen
167+
--
168+
169+
--
170+
-- AUTO_INCREMENT für Tabelle `Benutzer`
171+
--
172+
ALTER TABLE `Benutzer`
173+
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=67;
174+
--
175+
-- AUTO_INCREMENT für Tabelle `Kurs`
176+
--
177+
ALTER TABLE `Kurs`
178+
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;
179+
--
180+
-- AUTO_INCREMENT für Tabelle `PDF`
181+
--
182+
ALTER TABLE `PDF`
183+
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=236;
184+
--
185+
-- AUTO_INCREMENT für Tabelle `Session`
186+
--
187+
ALTER TABLE `Session`
188+
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=82;
189+
--
190+
-- Constraints der exportierten Tabellen
191+
--
192+
193+
--
194+
-- Constraints der Tabelle `PDF`
195+
--
196+
ALTER TABLE `PDF`
197+
ADD CONSTRAINT `PDF_kursid` FOREIGN KEY (`kurs_ID`) REFERENCES `Kurs` (`ID`);
198+
199+
--
200+
-- Constraints der Tabelle `Session`
201+
--
202+
ALTER TABLE `Session`
203+
ADD CONSTRAINT `Session_benutzerid` FOREIGN KEY (`benutzer_ID`) REFERENCES `Benutzer` (`ID`);
204+
205+
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
206+
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
207+
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

99_versionen/autorisieren_copy1.php

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?php
2+
3+
require('config.php');
4+
5+
loescheSessions();
6+
7+
$benutzerID = $_SERVER["PHP_AUTH_USER"];
8+
$token = $_SERVER["PHP_AUTH_PW"];
9+
10+
11+
$sql = "SELECT * FROM Session WHERE benutzer_ID = '$benutzerID' AND token = '$token' AND timestamp > (NOW() - INTERVAL 2 hour)";
12+
13+
$stmt = $pdo->prepare($sql);
14+
15+
$erfolg = $stmt->execute();
16+
17+
if ($erfolg) {
18+
19+
$resultate = $stmt->fetchAll();
20+
21+
$sitzungsID = $resultate[0]['ID'];
22+
23+
$anzahlResultate = count($resultate);
24+
25+
if ($anzahlResultate == 1) {
26+
27+
//Sitzung verlängern
28+
updateSession($sitzungsID);
29+
30+
} else {
31+
32+
//schicke eine Antwort ans Script «nicht eingeloggt», direkt an Login seite weiter
33+
exit(http_response_code(401));
34+
35+
}
36+
37+
}
38+
function updateSession($sitzungsID)
39+
{
40+
require('config.php');
41+
42+
//setze den Timpstamp auf jetzt, wo die ID eine ID ist
43+
$sql = "UPDATE Session SET timestamp = now() WHERE ID=?";
44+
$stmt = $pdo->prepare($sql);
45+
$stmt->execute([$sitzungsID]);
46+
}
47+
48+
function loescheSessions()
49+
{
50+
require('config.php');
51+
52+
53+
//Bei Delete braucht es kein Stern für all
54+
$sql = "DELETE FROM Session WHERE timestamp < (NOW() - INTERVAL 2 HOUR)";
55+
56+
$stmt = $pdo->prepare($sql);
57+
$stmt->execute();
58+
59+
}

99_versionen/config_copy1.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
$host = "localhost";
4+
$user = "450731_3_1";
5+
$dbpassword = "XPY1uLHeCx0z";
6+
$dbname = "450731_3_1";
7+
8+
$pdo = new PDO('mysql:host='. $host . '; dbname=' . $dbname . ';charset=utf8', $user, $dbpassword);
9+
$pdo->exec("set names utf8");

99_versionen/holeUser_copy1

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
require('config.php');
4+
require('autorisieren.php');
5+
6+
7+
$benutzerID = $_POST["benutzerID"];
8+
9+
$sql = "SELECT name FROM Benutzer WHERE ID = $benutzerID";
10+
11+
$stmt = $pdo->prepare($sql);
12+
13+
$erfolg = $stmt->execute();
14+
15+
if ($erfolg) {
16+
17+
$array = $stmt->fetchAll();
18+
19+
$jsonArray = json_encode($array);
20+
21+
print_r($jsonArray);
22+
}

99_versionen/login_copy1.html

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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.0">
7+
<title>Login</title>
8+
<link rel="stylesheet" href="css/style.css">
9+
</head>
10+
11+
<body>
12+
13+
<h1>Login</h1>
14+
15+
<label for="">E-Mail Adresse</label><br>
16+
<input type="email" id="email"><br>
17+
18+
<label for="">Passwort</label><br>
19+
<input type="password" id="passwort"><br><br>
20+
21+
<button onclick="login()">Login</button>
22+
<p id="nachricht"> </p>
23+
24+
<script src="js/login.js"></script>
25+
26+
</body>
27+
</html>

99_versionen/login_copy1.js

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
console.log('Hello Login');
2+
3+
function login(){
4+
let email = document.querySelector("#email").value;
5+
let passwort = document.querySelector("#passwort").value;
6+
console.log('Hallo ' + email + passwort);
7+
8+
9+
//FormData = Box für unsere Formulardaten
10+
let formData = new FormData();
11+
formData.append('email', email);
12+
formData.append('passwort', passwort);
13+
14+
15+
//Adresse eingeben, wo das Packet hinsoll
16+
fetch("https://450731-3.web.fhgr.ch/php/login.php",
17+
{
18+
body: formData,
19+
//methode bestimmen, get auch möglich. So holen wir im php die Daten $_Post
20+
method: "post",
21+
})
22+
23+
//Warten auf Response=res
24+
.then((res) => {
25+
//wir wollen einen Text erhalten, andere Daten manchmal JSON
26+
27+
return res.json();
28+
29+
})
30+
.then((data) => {
31+
console.log(data);$
32+
document.querySelector('#nachricht').innerHTML = data[0];
33+
34+
//Platziere benutzerID an 1. Stelle und Token an 2. Stelle im localstorage
35+
localStorage.setItem("benutzerID", data[1]);
36+
localStorage.setItem("token", data[2]);
37+
38+
//Wenn ID und Token nicht 0 ist, also der benutzer eingeloggt ist, öffne die neue Seite(Startseite)
39+
if (data[1] != 0 && data[2] != 0){
40+
41+
window.location.href = "https://450731-3.web.fhgr.ch/";
42+
43+
44+
}
45+
46+
})
47+
}

0 commit comments

Comments
 (0)