diff --git a/Zweites Jahr/README.md b/Zweites Jahr/README.md
index 2146f3a..0f4b813 100644
--- a/Zweites Jahr/README.md
+++ b/Zweites Jahr/README.md
@@ -4,13 +4,18 @@
Wichtige Informationen
-- Wir eventuell nie aktuell sein.
+- Wird eventuell nie aktuell sein.
- Stundenplan - [Link](https://wvss-mannheim.webuntis.com/WebUntis/?school=wvss-mannheim#/basic/timetablePublic/class?entityId=2583)
+## 25-03-26 - PHP (Unterrichts Projekt)
+- Registrierung gemacht
+
+> Es wurden ebenfalls fehlende Datein hinzugefügt
+
## 05-03-26 - packet tracer
--vlan in packet tracer
+- vlan in packet tracer
## 06-02-26 - SQL
- DATE sachen in SQL
diff --git a/Zweites Jahr/sessions/session_1.php b/Zweites Jahr/sessions/session_1.php
new file mode 100755
index 0000000..b341b02
--- /dev/null
+++ b/Zweites Jahr/sessions/session_1.php
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Sessions in PHP: Schritt 1
+
+Sessions in PHP
+Schritt 1
+
+ ";
+ echo "
zur nächsten Seite";
+
+ ?>
+
+
+
\ No newline at end of file
diff --git a/Zweites Jahr/sessions/session_1php b/Zweites Jahr/sessions/session_1php
new file mode 100755
index 0000000..c4e3046
--- /dev/null
+++ b/Zweites Jahr/sessions/session_1php
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Sessions in PHP: Schritt 1
+
+Sessions in PHP
+Schritt 1
+
+ ";
+ echo "
zur nächsten Seite";
+
+ ?>
+
+
+
\ No newline at end of file
diff --git a/Zweites Jahr/sessions/session_2.php b/Zweites Jahr/sessions/session_2.php
new file mode 100755
index 0000000..3edb61d
--- /dev/null
+++ b/Zweites Jahr/sessions/session_2.php
@@ -0,0 +1,30 @@
+
+
+
+
+
+ Sessions in PHP: Schritt 2
+
+Sessions in PHP
+Schritt 2
+
+ ";
+
+
+ echo "SID: $sId
";
+ echo "
zur nächsten Seite";
+
+ ?>
+
+
+
\ No newline at end of file
diff --git a/Zweites Jahr/sessions/session_3.php b/Zweites Jahr/sessions/session_3.php
new file mode 100755
index 0000000..85477e5
--- /dev/null
+++ b/Zweites Jahr/sessions/session_3.php
@@ -0,0 +1,29 @@
+
+
+
+
+
+ Sessions in PHP: Schritt 3
+
+Sessions in PHP
+Schritt 3
+
+ ";
+
+
+
+ echo "SID: $sId
";
+ echo "
zur nächsten Seite";
+
+ ?>
+
+
+
\ No newline at end of file
diff --git a/Zweites Jahr/sessions/session_4.php b/Zweites Jahr/sessions/session_4.php
new file mode 100755
index 0000000..75482b1
--- /dev/null
+++ b/Zweites Jahr/sessions/session_4.php
@@ -0,0 +1,32 @@
+
+
+
+
+
+ Sessions in PHP: Schritt 4
+
+Sessions in PHP
+Schritt 4
+
+ ";
+
+ //Session beenden
+ session_destroy();
+ $sId = session_id();
+ echo "SID nach destroy: $sId
";
+
+ echo "Nach session_destroy() sind die Werte weg:
";
+ echo "Vorname: $_SESSION[vorname]
";
+ echo "Nachname: $_SESSION[nachname]
";
+ echo "Alter: $_SESSION[alter]
";
+
+ echo "
zurück zum Anfang";
+
+ ?>
+
+
+
\ No newline at end of file
diff --git a/Zweites Jahr/unterrichts_projekt/inc/db_connection_data.php b/Zweites Jahr/unterrichts_projekt/inc/db_connection_data.php
index 54d4fe8..fd9a788 100644
--- a/Zweites Jahr/unterrichts_projekt/inc/db_connection_data.php
+++ b/Zweites Jahr/unterrichts_projekt/inc/db_connection_data.php
@@ -3,7 +3,7 @@
$db_engine ="mysql";
-$db_name = "E2FI1_2025";
+$db_name = "portal_e2fi1_2026";
$db_host = "localhost";
$db_user = "phpmyadmin";
$db_password = "server";
diff --git a/Zweites Jahr/unterrichts_projekt/pdo_test_ok.php b/Zweites Jahr/unterrichts_projekt/pdo_test_ok.php
new file mode 100755
index 0000000..c053ec9
--- /dev/null
+++ b/Zweites Jahr/unterrichts_projekt/pdo_test_ok.php
@@ -0,0 +1,14 @@
+
+
+
+
+
+ Entry succeded
+
+
+ PDO Testset
+ Thank You Landing Page
+ Thank You, you succeded!
+ Another Entry?
+
+
\ No newline at end of file
diff --git a/Zweites Jahr/unterrichts_projekt/pdo_test_prepared.php b/Zweites Jahr/unterrichts_projekt/pdo_test_prepared.php
new file mode 100755
index 0000000..1105704
--- /dev/null
+++ b/Zweites Jahr/unterrichts_projekt/pdo_test_prepared.php
@@ -0,0 +1,138 @@
+
+
+
+
+
+ PDO-Test
+
+
+quote($_REQUEST['firstname']);
+// $u_lastname = $dbh->quote($_REQUEST['lastname']);
+// $u_email = $dbh->quote($_REQUEST['email']);
+
+// SQL-Injection-Angriff (in letztes Feld eingeben)
+// ');DELETE FROM user WHERE (u_email LIKE '%
+
+// Insert new record into db
+
+/* Prepared Statements senden SQL-Befehl und Daten in zwei getrennten Schritten an die Datenbank:
+
+Prepare: Die Query-Struktur wird festgelegt und kompiliert.
+Execute: Die Werte werden separat eingesetzt – nur noch als Daten, nie als SQL-Code.
+
+Da die Struktur schon vor dem Einsetzen der Werte feststeht,
+kann eine Benutzereingabe die Logik der Query nicht mehr verändern.*/
+
+$stmt = $dbh->prepare(
+ "
+ INSERT INTO user VALUES (
+ NULL,
+ :input_1,
+ :input_2,
+ :input_3
+ );"
+);
+
+// bind with pindParam
+
+// $stmt->bindParam(":input_1",$_REQUEST['firstname']);
+// $stmt->bindParam(":input_2",$_REQUEST['lastname']);
+// $stmt->bindParam(":input_3",$_REQUEST['email']);
+
+
+ // bind with associative array
+
+ $input = [
+ ":input_1" => $_REQUEST['firstname'],
+ ":input_2" => $_REQUEST['lastname'],
+ ":input_3" => $_REQUEST['email']
+];
+
+
+
+try {
+ //if bound with pindParam
+ // $stmt->execute();
+ // if bind with associative array
+ $stmt->execute($input);
+ // echo "Insert succeded!
";
+ header('location:pdo_test_ok.php');
+ // Weiterleitung
+}
+catch(PDOException $e) {
+ $errMsg = $e->getMessage();
+ $errCode = $e->getCode();
+ // echo "Error-Message: $errMsg
";
+ // echo "Error-Code: $errCode
";
+
+ switch($errCode) {
+ case "23000": $custErrMsg = "Email-Adress already exists!
"; break;
+ default: $custErrMsg = "Oooops, something went wrong!
";
+ }
+ echo $custErrMsg;
+}
+
+
+
+// #######################################################
+
+// Read records form db
+
+// result consists of multiple rows and columns
+/* In der Regel auch hier mit Try-Catch-Block */
+
+
+$sql = "SELECT * FROM user";
+// $res = $dbh->query($sql);
+$res = $dbh->query($sql)->fetchAll(); // Converts result set into Array (multi-dim)
+/*
+echo "";
+print_r($res);
+echo "
";
+*/
+
+foreach($res as $row) {
+ echo "$row[0] | $row[1] | $row[2] | $row[3]
";
+}
+
+
+// result consists of one row and multiple columns
+$sql = "SELECT * FROM user WHERE u_id = 24";
+$res = $dbh->query($sql)->fetch();
+/*
+echo "";
+print_r($res);
+echo "
";
+*/
+echo "Searching User ID 24:
";
+if($res) {
+ echo "User found: $row[1] $row[2]
";
+}
+else {
+ echo "No User found";
+}
+
+// result represents one cell
+$sql = "SELECT u_firstname FROM user WHERE u_id = 24";
+$firstname = $dbh->query($sql)->fetchColumn();
+
+echo "Searching First Name of User ID 24:
";
+echo "First Name of User found: $firstname
";
+
+
+?>
+Try again!
+
+
+
\ No newline at end of file
diff --git a/Zweites Jahr/unterrichts_projekt/portal/register.php b/Zweites Jahr/unterrichts_projekt/portal/register.php
new file mode 100644
index 0000000..fdd9d01
--- /dev/null
+++ b/Zweites Jahr/unterrichts_projekt/portal/register.php
@@ -0,0 +1,49 @@
+
+
+
+
+
+ Portal: Registrieren
+
+
+ Registrieren
+
+
+
+prepare($query);
+
+ $stmt->bindParam(':email', $email);
+ $stmt->bindParam(':pw', $pw);
+
+ try {
+ $stmt->execute();
+ } catch(PDOException $e){
+ $errMsg = $e->getMessage();
+ $errCode = $e->getCode();
+
+ switch($errCode) {
+ case "23000": $custErrMsg = "Email-Adress already exists!
"; break;
+ default: $custErrMsg = "Oooops, something went wrong!
";
+ }
+ echo $custErrMsg;
+ }
+ }
+
+}
+
+if ($errors != "") echo $errors;
\ No newline at end of file