Projekt initialize

This commit is contained in:
2025-06-05 12:42:31 +02:00
commit 6a9d16028d
24 changed files with 1034 additions and 0 deletions

31
Model/ContactModel.php Normal file
View File

@@ -0,0 +1,31 @@
<?php
namespace Blog\Model;
use PDOException;
class ContactModel extends Database
{
public function writeContactData($values)
{
$guid = $this->createUUID();
$sql = "INSERT INTO contact (`id`, `name`, `email`, `content`) VALUES (
:guid, :name, :email, :content);";
$pdo = $this->linkDB();
try {
$sth = $pdo->prepare($sql);
$sth->execute(array(":guid" => $guid,
":name" => $values["name"],
":email" => $values["email"],
":content" => $values["content"]));
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e);
die;
}
return true;
}
}

49
Model/Database.php Normal file
View File

@@ -0,0 +1,49 @@
<?php
namespace Blog\Model;
use PDO;
use PDOException;
abstract class Database {
/**
* Zugangsdaten für die Datenbank
*/
private $dbName = "pbbfa23ahr_kursapp"; //Datenbankname
private $linkName = "mysql.pb.bib.de"; //Datenbank-Server
private $user = "pbbfa23ahr"; //Benutzername
private $pw = "Gyc5g3Xgqs7d"; //Passwort
/**
* Stellt eine Verbindung zur Datenbank her
*
* @return PDO Gibt eine Datenbankverbindung zurueck
*/
public function linkDB() {
try {
$pdo = new PDO("mysql:dbname=$this->dbName;host=$this->linkName"
, $this->user
, $this->pw
, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
return $pdo;
} catch (PDOException $e) {
new \Blog\Library\ErrorMsg("Verbindung konnte nicht aufgebaut werden.", $e);
die;
}
}
/**
* Zum serverseitigen generieren einer UUID
*
* @return string Liefert eine UUID
*/
public function createUUID()
{
$data = openssl_random_pseudo_bytes(16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40);
$data[8] = chr(ord($data[8]) & 0x3f | 0x80);
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
}