login_function #40
@ -113,7 +113,6 @@
|
|||||||
|
|
||||||
|
|
||||||
const sendButton = document.getElementById('sendOrder');
|
const sendButton = document.getElementById('sendOrder');
|
||||||
let artikelVerfuegbarkeiten = [];
|
|
||||||
ladeWarenkorb();
|
ladeWarenkorb();
|
||||||
|
|
||||||
// Bestellung absenden
|
// Bestellung absenden
|
||||||
@ -209,7 +208,7 @@
|
|||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|
||||||
const artikelDivs = document.querySelectorAll('.Artikel');
|
const artikelDivs = document.querySelectorAll('.Artikel');
|
||||||
artikelVerfuegbarkeiten = [];
|
let artikelVerfuegbarkeiten = [];
|
||||||
|
|
||||||
artikelDivs.forEach(div => {
|
artikelDivs.forEach(div => {
|
||||||
const artikelNrInput = div.querySelector('.ArtikelNrText');
|
const artikelNrInput = div.querySelector('.ArtikelNrText');
|
||||||
|
|||||||
0
public/inputHandler/verifyPassword.js
Normal file
0
public/inputHandler/verifyPassword.js
Normal file
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
<!-- Eingabefeld für Benutzername -->
|
<!-- Eingabefeld für Benutzername -->
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input id="email" type="text" placeholder="E-Mail" required/>
|
<input id="email" type="email" placeholder="E-Mail" required/>
|
||||||
<i class="icon fas fa-user"></i>
|
<i class="icon fas fa-user"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -43,7 +43,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Login-Button -->
|
<!-- Login-Button -->
|
||||||
<button type="submit" class="login-btn">Login</button>
|
<button type="submit" class="login-btn" id="submit">Login</button>
|
||||||
|
|
||||||
<!-- Link zur Registrierungsseite -->
|
<!-- Link zur Registrierungsseite -->
|
||||||
<p class="register-text">
|
<p class="register-text">
|
||||||
@ -54,7 +54,7 @@
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.getElementById('submit').addEventListener('click', async (event) => {
|
document.querySelector('form').addEventListener('submit', async (event) => {
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
|
|
||||||
const email = document.getElementById('email').value
|
const email = document.getElementById('email').value
|
||||||
|
|||||||
@ -9,7 +9,6 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Registrieren</title>
|
|
||||||
<!-- Registrieren-CSS-Datei -->
|
<!-- Registrieren-CSS-Datei -->
|
||||||
<link rel="stylesheet" href="./Styles/registrieren/registrieren.css">
|
<link rel="stylesheet" href="./Styles/registrieren/registrieren.css">
|
||||||
<!-- Haupt-CSS-Datei -->
|
<!-- Haupt-CSS-Datei -->
|
||||||
@ -18,6 +17,7 @@
|
|||||||
<link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
|
<link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
|
||||||
<!-- Script zum Laden von Header/Footer -->
|
<!-- Script zum Laden von Header/Footer -->
|
||||||
<script src="/header_footer"></script>
|
<script src="/header_footer"></script>
|
||||||
|
<title>Registrieren</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="page-container">
|
<div class="page-container">
|
||||||
@ -68,9 +68,21 @@
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.getElementById('register').addEventListener('click', async (event) => {
|
document.querySelector('form').addEventListener('submit', async (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
const passwordEl = document.getElementById('regPassword')
|
||||||
|
const password = passwordEl.value
|
||||||
|
const confirmPasswordEl = document.getElementById('confirmPassword')
|
||||||
|
const confirmPassword = confirmPasswordEl.value
|
||||||
|
|
||||||
|
if (password !== confirmPassword) {
|
||||||
|
passwordEl.value = ''
|
||||||
|
confirmPasswordEl.value = ''
|
||||||
|
alert('Die Passwörter stimmen nicht überein.')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
const formData = {
|
const formData = {
|
||||||
name: document.getElementById('vorname').value,
|
name: document.getElementById('vorname').value,
|
||||||
lower_name: document.getElementById('nachname').value,
|
lower_name: document.getElementById('nachname').value,
|
||||||
|
|||||||
0
public/session_storage/login-toggle.js
Normal file
0
public/session_storage/login-toggle.js
Normal file
@ -31,7 +31,7 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Hauptinhalt -->
|
<!-- Hauptinhalt -->
|
||||||
<h1>Unsere Neusten Produkte: </h1>
|
<h1>Unsere neusten Produkte: </h1>
|
||||||
<section class="card-grid" id="latest-products">
|
<section class="card-grid" id="latest-products">
|
||||||
<!-- Dynamische Produkte (5 neuesten Produkte) -->
|
<!-- Dynamische Produkte (5 neuesten Produkte) -->
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@ -21,8 +21,10 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
// Header-Inhalt in die Seite einfügen
|
// Header-Inhalt in die Seite einfügen
|
||||||
headerTarget.innerHTML = data;
|
headerTarget.innerHTML = data;
|
||||||
|
|
||||||
// 🚀 WICHTIG: Jetzt den Warenkorb zählen, nachdem der Header geladen ist!
|
// WICHTIG: Jetzt den Warenkorb zählen, nachdem der Header geladen ist!
|
||||||
zeigeWarenkorbAnzahl();
|
zeigeWarenkorbAnzahl();
|
||||||
|
|
||||||
|
zeigeLoginStatus();
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
// Fehlerbehandlung: Fehlermeldung im Header-Bereich anzeigen
|
// Fehlerbehandlung: Fehlermeldung im Header-Bereich anzeigen
|
||||||
@ -72,4 +74,25 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
}
|
}
|
||||||
console.log('Warenkorb-Anzahl:', anzahl);
|
console.log('Warenkorb-Anzahl:', anzahl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.zeigeLoginStatus= function (){
|
||||||
|
const userId = sessionStorage.getItem('user_id')
|
||||||
|
const loginBtn = document.querySelector('.login-btn')
|
||||||
|
|
||||||
|
if (!loginBtn) return
|
||||||
|
|
||||||
|
if (userId) {
|
||||||
|
loginBtn.textContent = 'Logout'
|
||||||
|
loginBtn.href = '/'
|
||||||
|
loginBtn.addEventListener('click', (e) => {
|
||||||
|
e.preventDefault()
|
||||||
|
sessionStorage.clear()
|
||||||
|
alert('Sie wurden ausgeloggt.')
|
||||||
|
location.reload()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
loginBtn.textContent = 'Login'
|
||||||
|
loginBtn.href= '/login'
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
@ -1,23 +0,0 @@
|
|||||||
let sidebarEl = document.getElementById("mySidebar")
|
|
||||||
let mainEl = document.getElementById("main")
|
|
||||||
|
|
||||||
/* Set the width of the sidebar to 250px and the left margin of the page content to 250px */
|
|
||||||
function openNav() {
|
|
||||||
sidebarEl.style.width = "250px";
|
|
||||||
mainEl.style.marginLeft = "250px";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set the width of the sidebar to 0 and the left margin of the page content to 0 */
|
|
||||||
function closeNav() {
|
|
||||||
sidebarEl.style.width = "0";
|
|
||||||
mainEl.style.marginLeft = "0";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Toggle the sidebar */
|
|
||||||
function toggleNav() {
|
|
||||||
if (sidebarEl.offsetWidth > 0) {
|
|
||||||
closeNav()
|
|
||||||
} else {
|
|
||||||
openNav()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
let nameEl = document.getElementById("loginMail");
|
|
||||||
let passwordEl = document.getElementById("loginPassword");
|
|
||||||
|
|
||||||
function login() {
|
|
||||||
console.log(nameEl.value)
|
|
||||||
console.log(passwordEl.value)
|
|
||||||
}
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
const mysql = require('mysql');
|
|
||||||
|
|
||||||
const connection = mysql.createConnection({
|
|
||||||
host: "localhost",
|
|
||||||
user: "root",
|
|
||||||
password: "",
|
|
||||||
database: "webshop"
|
|
||||||
})
|
|
||||||
|
|
||||||
connection.connect(function (err) {
|
|
||||||
if (err) throw err
|
|
||||||
console.log("Connected to database")
|
|
||||||
connection.query("SELECT * FROM webshop.product LIMIT 10", function (err, result) {
|
|
||||||
if (err) throw err
|
|
||||||
console.log(result)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
const mysql = require('mysql');
|
|
||||||
|
|
||||||
const connection = mysql.createConnection({
|
|
||||||
host: "localhost",
|
|
||||||
user: "root",
|
|
||||||
password: "",
|
|
||||||
database: "webshop"
|
|
||||||
})
|
|
||||||
|
|
||||||
connection.connect(function (err) {
|
|
||||||
if (err) throw err
|
|
||||||
console.log("Connected to database")
|
|
||||||
connection.query("SELECT * FROM webshop.user WHERE ID = 15", function (err, result) {
|
|
||||||
if (err) throw err
|
|
||||||
console.log(result)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
@ -6,10 +6,6 @@ router.get('/', (req, res) => {
|
|||||||
res.sendFile(path.join(__dirname, '../../../public/startseite/startseite.html'));
|
res.sendFile(path.join(__dirname, '../../../public/startseite/startseite.html'));
|
||||||
})
|
})
|
||||||
|
|
||||||
router.get('/example', (req, res) => {
|
|
||||||
res.sendFile(path.join(__dirname, '../../../public/example/index.html'));
|
|
||||||
})
|
|
||||||
|
|
||||||
// Route - Login
|
// Route - Login
|
||||||
router.get('/login', (req, res) => {
|
router.get('/login', (req, res) => {
|
||||||
res.sendFile(path.join(__dirname, '../../../public/login/login.html'));
|
res.sendFile(path.join(__dirname, '../../../public/login/login.html'));
|
||||||
|
|||||||
@ -135,11 +135,15 @@ app.get('/api/products/sportwagen', async (req, res) => {
|
|||||||
app.post('/api/user/registration', (req, res) => {
|
app.post('/api/user/registration', (req, res) => {
|
||||||
// SQL-Query für Nutzerregistration
|
// SQL-Query für Nutzerregistration
|
||||||
const {name, lower_name, email, passwd} = req.body;
|
const {name, lower_name, email, passwd} = req.body;
|
||||||
|
|
||||||
const sql = "INSERT INTO webshop.user (name, lower_name, email, passwd, passwd_hash_algo) VALUES (?, ?, ?, ?, 'none')"
|
const sql = "INSERT INTO webshop.user (name, lower_name, email, passwd, passwd_hash_algo) VALUES (?, ?, ?, ?, 'none')"
|
||||||
|
|
||||||
// Query abschicken
|
// Query abschicken
|
||||||
db.query(sql, [name, lower_name, email, passwd], (err, results) => {
|
db.query(sql, [name, lower_name, email, passwd], (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
if (err.code === 'ER_DUP_ENTRY'){
|
||||||
|
res.status(409).json({message: 'Diese E-Mail Adresse ist bereits registriert.'})
|
||||||
|
}
|
||||||
console.error('Fehler beim Schreiben in die Datenbank: ', err);
|
console.error('Fehler beim Schreiben in die Datenbank: ', err);
|
||||||
res.status(500).send('Fehler beim Schreiben in die Datenbank');
|
res.status(500).send('Fehler beim Schreiben in die Datenbank');
|
||||||
return;
|
return;
|
||||||
@ -150,7 +154,7 @@ app.post('/api/user/registration', (req, res) => {
|
|||||||
|
|
||||||
app.post('/api/user/login', (req, res) => {
|
app.post('/api/user/login', (req, res) => {
|
||||||
const {email, password} = req.body
|
const {email, password} = req.body
|
||||||
const sql = 'SELECT * FROM user WHERE email = ?'
|
const sql = 'SELECT * FROM webshop.user WHERE email = ?'
|
||||||
|
|
||||||
db.query(sql, [email], (err, results) => {
|
db.query(sql, [email], (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
@ -276,7 +280,7 @@ app.get('/api/pruefe-artikel', (req, res) => {
|
|||||||
return res.status(400).json({ error: 'Keine Artikelnummer angegeben.' });
|
return res.status(400).json({ error: 'Keine Artikelnummer angegeben.' });
|
||||||
}
|
}
|
||||||
|
|
||||||
const query = 'SELECT id FROM product WHERE id = ?';
|
const query = 'SELECT id FROM webshop.product WHERE id = ?';
|
||||||
|
|
||||||
db.query(query, [artikelnummer], (err, results) => {
|
db.query(query, [artikelnummer], (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user