From 9238cba6f377fb7d705da1093ad0a5d3a6d3ed67 Mon Sep 17 00:00:00 2001 From: Schuledaniel Date: Wed, 25 Mar 2026 15:04:37 +0100 Subject: [PATCH] Files from 25-03-26 and added missing Files --- Zweites Jahr/README.md | 9 +- Zweites Jahr/sessions/session_1.php | 24 +++ Zweites Jahr/sessions/session_1php | 24 +++ Zweites Jahr/sessions/session_2.php | 30 ++++ Zweites Jahr/sessions/session_3.php | 29 ++++ Zweites Jahr/sessions/session_4.php | 32 ++++ .../inc/db_connection_data.php | 2 +- .../unterrichts_projekt/pdo_test_ok.php | 14 ++ .../unterrichts_projekt/pdo_test_prepared.php | 138 ++++++++++++++++++ .../unterrichts_projekt/portal/register.php | 49 +++++++ 10 files changed, 348 insertions(+), 3 deletions(-) create mode 100755 Zweites Jahr/sessions/session_1.php create mode 100755 Zweites Jahr/sessions/session_1php create mode 100755 Zweites Jahr/sessions/session_2.php create mode 100755 Zweites Jahr/sessions/session_3.php create mode 100755 Zweites Jahr/sessions/session_4.php create mode 100755 Zweites Jahr/unterrichts_projekt/pdo_test_ok.php create mode 100755 Zweites Jahr/unterrichts_projekt/pdo_test_prepared.php create mode 100644 Zweites Jahr/unterrichts_projekt/portal/register.php 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