Termin absagen

Kontrollieren Sie Ihre Angaben!
'; echo '
'; echo ''; // Schleife durch Clemens 15.10.2018 foreach ($_POST as $key => $value) { if(!($value == "" || $key == "submit" || $key == "aktion")){ if($key == "category"){ $stmt = $pdo->prepare("SELECT artname FROM anfrageart WHERE artid = ? LIMIT 1"); $stmt->execute([$value]); $row = $stmt->fetch(PDO::FETCH_ASSOC); $anfragearttext = $row ? $row["artname"] : null; echo "\n"; echo"\n"; }else{ echo "\n"; echo"\n"; } } } echo '
$key:$anfragearttext
$key:$value
'; echo ''; echo ''; echo '
'; }else if($_POST["aktion"] == "2"){ // ================== 1) Input ================== $vorname = trim($_POST["Vorname"] ?? ""); $nachname = trim($_POST["Name"] ?? ""); $geburtstag = trim($_POST["Geburtsjahr"] ?? ""); $email = trim($_POST["Email"] ?? ""); $tele = trim($_POST["Tel"] ?? ""); $plz = trim($_POST["plz"] ?? ""); $ort = trim($_POST["ort"] ?? ""); $strasse = trim($_POST["strasse"] ?? ""); $medikament1 = trim($_POST["Medikament1"] ?? ""); $medikament2 = trim($_POST["Medikament2"] ?? ""); $nachricht = trim($_POST["message"] ?? ""); $anforderungart = trim($_POST["category"] ?? ""); $abholung = trim($_POST["abholung"] ?? ""); // Geburtstag nur Jahr → auf Datum mappen if (preg_match('/^\d{4}$/', $geburtstag)) { $geburtstag .= "-01-01"; } // Minimal-Checks if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { die("

Ungültige E-Mail

"); } if (!$geburtstag) { die("

Geburtsdatum fehlt

"); } if (!$anforderungart) { die("

Kategorie fehlt

"); } // ================== 2) Impfstoff (optional) ================== $impfstofftext = null; if (!empty($impfstoff)) { $stmt = $pdo->prepare("SELECT impfname FROM impfstoff WHERE impfid = ? LIMIT 1"); $stmt->execute([$impfstoff]); $impfstofftext = $stmt->fetchColumn() ?: null; } // ================== 3) DB-Logik ================== try { $pdo->beginTransaction(); // --- Person upsert --- // UNIQUE(email, geburtstag) MUSS existieren! $stmt = $pdo->prepare(" INSERT INTO persons (vorname, nachname, email, geburtstag, tele, ort, plz, strasse) VALUES (:vorname, :nachname, :email, :geburtstag, :tele, :ort, :plz, :strasse) ON DUPLICATE KEY UPDATE vorname = VALUES(vorname), nachname = VALUES(nachname), tele = VALUES(tele), ort = VALUES(ort), plz = VALUES(plz), strasse = VALUES(strasse), updated_at = CURRENT_TIMESTAMP "); $stmt->execute([ ':vorname' => $vorname, ':nachname' => $nachname, ':email' => $email, ':geburtstag' => $geburtstag, ':tele' => $tele, ':ort' => $ort, ':plz' => $plz, ':strasse' => $strasse, ]); // person_id holen $stmt = $pdo->prepare("SELECT person_id FROM persons WHERE email = ? AND geburtstag = ? LIMIT 1"); $stmt->execute([$email, $geburtstag]); $person_id = (int)$stmt->fetchColumn(); if (!$person_id) { throw new Exception("Keine eindeutige Kennung (person_id)"); } // --- Duplikatcheck (7 Tage) --- $stmt = $pdo->prepare(" SELECT 1 FROM anfragen WHERE requester_person_id = ? AND anforderungart = ? AND nachricht = ? AND create_time >= (NOW() - INTERVAL 7 DAY) LIMIT 1 "); $stmt->execute([$person_id, $anforderungart, $nachricht]); $exists = (bool)$stmt->fetchColumn(); if ($exists) { $pdo->rollBack(); echo "

Doppelte Anfrage


Ihre Anfrage wurde schon gespeichert.
Bitte warten Sie auf die Verarbeitung.

"; header("refresh:15;terminabsagen.php"); exit; } // --- Anfrage anlegen --- $hashvorher = $vorname . $nachname . $email; $hash = md5($hashvorher) . date("YmdHs"); $stmt = $pdo->prepare(" INSERT INTO anfragen (requester_person_id, anforderungart, medikament1, medikament2, nachricht, hash, create_time, ordnungsid, sicherenachricht, source, created_by_account_id) VALUES (:pid, :art, :med1, :med2, :nachricht, :hash, NOW(), 3, 0, 'mail', NULL) "); $stmt->execute([ ':pid' => $person_id, ':art' => $anforderungart, ':med1' => $medikament1, ':med2' => $medikament2, ':nachricht' => $nachricht, ':hash' => $hash ]); $anfrageid = (int)$pdo->lastInsertId(); $pdo->commit(); } catch (Exception $e) { if ($pdo->inTransaction()) $pdo->rollBack(); die("

Speicherung nicht erfolgreich


" . htmlspecialchars($e->getMessage())); } // ================== 4) Mail + Ausgabe ================== try { SendMailMessageVorlage($pdo, "3", $anfrageid, "25"); } catch (Exception $e) { // Mailfehler ignorieren oder loggen } echo "

Nachricht abgeschickt!


Sie bekommen eine Bestätigung per E-Mail!
Überprüfen Sie auch Ihren Spam-Filter!

"; } }else{ ?>
Stellen Sie wiederholt Anfragen an die Praxis Creutzburg?
Wollen Sie bis zu sechs Medikamente beantragen?
Benötigen Sie ein längeres Textfeld?

Dann nutzen Sie auch unseren Internen Bereich für Patienten.


Sie benötigen einen neuen Termin?

Sagen Sie Ihren Termin bitte ab. Anschließend können Sie sich selbstständig einen neuen Termin für die Sprechstunde buchen. Schauen Sie in unserem Online-Kalender nach einem Termin. Dort sind meist auch kurzfristige Termine vorhanden.
Online-Kalender
prepare(" SELECT urlaubid FROM urlaub WHERE start <= ? AND ende >= ? LIMIT 1 "); $stmt->execute([$today, $today]); $urlaubid = $stmt->fetchColumn(); if (!$urlaubid) { ?>

Formular bitte ausfüllen und abschicken

Gehen Sie nach unten zum Formular und füllen Sie es (wie gewohnt) aus.

'; echo ''; ?>

Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich. Kassenleistungen sind an die gesetzlichen Regelungen gebunden. Fragen Sie Ihre Krankenkasse.
Ihre Daten werden HTTPS-verschlüsselt an unser System übertragen. Sie erhalten die Antwort per E-Mail mit TLS-Verschlüsselung. Mit Absenden Ihrer Anfrage stimmen Sie diesen Bedingungen zu.

Praxis im Urlaub"; echo "Wir befinden uns aktuell im Urlaub.
Wenden Sie sich an unsere Vertretung oder warten Sie bis nach unserem Urlaub mit Ihrer Anfrage.

"; $today = date("Y-m-d"); $stmt = $pdo->prepare(" SELECT ende, vertretung, vertretertelefon, vertreteradresse, vertreterurl FROM urlaub WHERE start <= :today AND ende >= :today ORDER BY ende DESC LIMIT 1 "); $stmt->execute([':today' => $today]); $row = $stmt->fetch(); // liefert Array oder false if ($row) { $vertreter = $row["vertretung"] ?? null; $vertretertelefon = $row["vertretertelefon"] ?? null; $vertreteradresse = $row["vertreteradresse"] ?? null; $vertreterurl = $row["vertreterurl"] ?? null; $ende = $row["ende"] ?? null; if ($ende) { $endeausgabe = date("d.m.Y", strtotime("+1 day", strtotime($ende))); } else { $endeausgabe = null; } if (!empty($vertreter)) { echo "Unsere Vertretung: " . htmlspecialchars($vertreter, ENT_QUOTES, 'UTF-8') . "
"; } if (!empty($vertreterurl)) { // optional: URL escapen/validieren echo "Webseite Vertretung: " . htmlspecialchars($vertreterurl, ENT_QUOTES, 'UTF-8') . "
"; } if (!empty($vertretertelefon)) { echo "Telefonischer Kontakt Vertretung: " . htmlspecialchars($vertretertelefon, ENT_QUOTES, 'UTF-8') . "
"; } if (!empty($vertreteradresse)) { echo "Adresse Vertretung: " . htmlspecialchars($vertreteradresse, ENT_QUOTES, 'UTF-8') . "
"; } if ($endeausgabe) { echo "
Wir stehen Ihnen ab dem " . htmlspecialchars($endeausgabe, ENT_QUOTES, 'UTF-8') . " wieder zur Verfügung.


"; } } ?>