Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
stife authored Jan 4, 2025
1 parent 171b09d commit 6d00868
Show file tree
Hide file tree
Showing 2 changed files with 233 additions and 0 deletions.
93 changes: 93 additions & 0 deletions index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<?php
session_start();
/*include "startseite.php";*/

$dsn = 'mysql:host=stife.lima-db.de;dbname=db_430521_1;charset=utf8';
$username = 'USER430521';
$password = 'Sch0ed0ene';

try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die('Datenbankverbindung fehlgeschlagen: ' . $e->getMessage());
}

// Prüfen, ob der Benutzer eingeloggt ist
if (!isset($_SESSION['user_id']) && isset($_COOKIE['login_token'])) {
$token = $_COOKIE['login_token'];

// Benutzer anhand des Tokens abrufen
$sql = "SELECT id FROM users WHERE login_token = :token";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':token', $token);
$stmt->execute();
$user = $stmt->fetch(PDO::FETCH_ASSOC);

if ($user) {
// Automatische Anmeldung
$_SESSION['user_id'] = $user['id'];
}
}

if (!isset($_SESSION['user_id'])) {
// Benutzer ist nicht eingeloggt, Weiterleitung zur Login-Seite
header("Location: login.html");
exit;
}

//echo $user['email ']; //"Willkommen $user . ['id'] ! Sie sind eingeloggt.";

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($user)) {
setcookie('email', $user['email'], time() + (86400 * 30), "/"); // 30 Tage gültig
}

$erlaubte_dateien = [
'home.html',
'login.html',
'about.html',
'contact.html'
];

?>

<!DOCTYPE html>
<html lang="de">
<head>
<!-- <link rel="stylesheet" href="css/nav.css">
<link rel="stylesheet" href="css/openai-dark.css">
-->
<link rel="stylesheet" href="css/styles.css">
</head>
<body>

<?php
$page = $_GET['page'] ?? 'home'; // Standardseite ist "home"

switch ($page) {
case 'home':
include 'startseite.php';
break;
case 'expresso':
include 'expresso/index.php';
break;
case 'services':
include 'startseite.php';
break;
case 'login':
include 'login.html';
break;
case 'logout':
include 'logout.php';
break;
/* default:
include 'pages/404.php'; // Fehlerseite
break;*/
}

/** include 'include/navigation.php'; /**/
?>

</body>

</html>
140 changes: 140 additions & 0 deletions startseite.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
<?php
session_start();
require 'include/variablen.php';
// Dynamisch festgelegte Datei
//$content_url = isset($_GET['seite']) ? $_GET['seite'] : 'startseite.php';
//
//if (in_array($content_url, $erlaubte_dateien)) {
// Datei sicher einbinden
// include "content/" . $content_url;
//} else {
// Fehlerseite anzeigen, wenn die Datei nicht erlaubt ist
//echo "Die angeforderte Seite existiert nicht.";
//}
?>
<!DOCTYPE html>
<html lang="de">
<head>
<!--
<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>
-->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $title; ?></title>
<style>
/* Alle Abschnitte standardmäßig ausblenden */
section.cont {
display: none;
}
</style>
</head>
<body>
<?php if (isset($_SESSION['email'])): ?>
<div class="user-info">
Eingeloggt als: <?= htmlspecialchars($_SESSION['email']); ?>
</div>
<?php endif; ?>
<!--div class="header_content"-->
<header>
<div class="header_content">
<h1><?php echo $titel; ?></h1>
<!--Navigationsleiste eingefügt -->
<?php include 'include/navigation.php'; ?>
</div>
</header>
</div>
<main>
<div class="main">
<section class="cont" id="home">
<h2><?php echo $title_home; ?></h2>
<p>
<?php echo $content_home; ?>
</p>
</section>
<section class="cont" id="expresso">
<!-- <h2><?php //echo $title_services; ?></h2>-->
<p>
<?php
include $expresso;
?>
</p>
</section>
<section class="cont" id="aufgaben">
<h2><?php echo $title_aufgabenliste; ?></h2>
<p>
<?php include $content_aufgabenliste; ?>
</p>
</section>
<section class="cont" id="login">
<h2><?php echo $title_login; ?></h2>
<p>
<?php include $content_login; ?>
</p>
</section>
</div>
</main>

<footer>
<p>
&copy; 2024 <?php echo $title; ?>
</p>
</footer>
<!--/div> -->

<script>
function zeigeAbschnitt(abschnittId) {
// Alle Abschnitte ausblenden
var abschnitte = document.querySelectorAll('section.cont');
abschnitte.forEach(function(abschnitt) {
abschnitt.style.display = 'none';
});

// Gewählten Abschnitt einblenden
var gewaehlterAbschnitt = document.getElementById(abschnittId);
if (gewaehlterAbschnitt) {
gewaehlterAbschnitt.style.display = 'block';
// Zum Abschnitt scrollen
gewaehlterAbschnitt.scrollIntoView({
behavior: 'smooth'
});
}
}

// Optional: Standardmäßig einen Abschnitt anzeigen
document.addEventListener('DOMContentLoaded', function() {
zeigeAbschnitt('home'); // 'home' durch die ID des gewünschten Standardabschnitts ersetzen
});
</script>
<script>
function zeigeAbschnitt(abschnittId) {
// Alle Abschnitte ausblenden
const abschnitte = document.querySelectorAll('section.cont');
abschnitte.forEach(function(abschnitt) {
abschnitt.style.display = 'none';
});

// Gewählten Abschnitt einblenden
const gewaehlterAbschnitt = document.getElementById(abschnittId);
if (gewaehlterAbschnitt) {
gewaehlterAbschnitt.style.display = 'block';
// Zum Abschnitt scrollen
gewaehlterAbschnitt.scrollIntoView({
behavior: 'smooth'
});
}
}

// Beim Laden prüfen, ob ein Hash in der Adresszeile steht.
// Wenn ja, diesen Abschnitt anzeigen. Andernfalls 'home'.
document.addEventListener('DOMContentLoaded', function() {
const hash = window.location.hash.slice(1); // '#' entfernen
if (hash) {
zeigeAbschnitt(hash);
} else {
zeigeAbschnitt('home');
}
});
</script>
</body>
</html>

0 comments on commit 6d00868

Please sign in to comment.