465 lines
14 KiB
PHP
465 lines
14 KiB
PHP
<!DOCTYPE HTML>
|
|
<!--
|
|
Alpha by HTML5 UP
|
|
html5up.net | @n33co
|
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
|
-->
|
|
<html>
|
|
<head>
|
|
<?php
|
|
|
|
include('header.php');
|
|
|
|
?>
|
|
<title>Praxis Creutzburg - Formulare</title>
|
|
<link rel="stylesheet" href="css/formulare.css" />
|
|
</head>
|
|
<body >
|
|
|
|
<!-- Header -->
|
|
<header id="header" class="../skel-layers-fixed">
|
|
|
|
|
|
<?php
|
|
|
|
include('menu.php');
|
|
include_once("inc/config.inc.php");
|
|
include_once("inc/functions.inc.php");
|
|
include_once('inc/functions.impfen.inc.php');
|
|
include_once('inc/functions.formulare.inc.php');
|
|
|
|
?>
|
|
</header>
|
|
|
|
|
|
<!-- Main -->
|
|
<section id="main" class="container">
|
|
<?php
|
|
echo showHeaderpraxis();
|
|
?>
|
|
|
|
|
|
|
|
<section class="box special">
|
|
<h2>Service anfordern</h2>
|
|
|
|
<?php
|
|
|
|
if(isset($_POST["aktion"])){
|
|
|
|
if($_POST["aktion"] == "1"){
|
|
|
|
|
|
echo '<h4>Kontrollieren Sie Ihre Angaben!</h4><br>';
|
|
echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
|
echo '<table border="0">';
|
|
// Schleife durch Clemens 15.10.2018 - aktualisiert 01.02.2026
|
|
foreach ($_POST as $key => $value) {
|
|
|
|
if ($value === "" || $key === "submit" || $key === "aktion") {
|
|
continue;
|
|
}
|
|
|
|
if ($key === "category") {
|
|
|
|
$stmt = $pdo->prepare("
|
|
SELECT artname
|
|
FROM anfrageart
|
|
WHERE artid = :artid
|
|
LIMIT 1
|
|
");
|
|
$stmt->execute([
|
|
':artid' => $value
|
|
]);
|
|
|
|
$rowimpf = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
$anfragearttext = $rowimpf['artname'] ?? '';
|
|
|
|
echo "<tr>
|
|
<td width='100' valign='top' class='fett'>{$key}:</td>
|
|
<td>" . htmlspecialchars($anfragearttext, ENT_QUOTES, 'UTF-8') . "</td>
|
|
</tr>\n";
|
|
|
|
echo "<input type='hidden' name='{$key}' value='" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "'>\n";
|
|
|
|
} else {
|
|
|
|
echo "<tr>
|
|
<td width='100' valign='top' class='fett'>{$key}:</td>
|
|
<td>" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "</td>
|
|
</tr>\n";
|
|
|
|
echo "<input type='hidden' name='{$key}' value='" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "'>\n";
|
|
}
|
|
}
|
|
|
|
|
|
echo '</table>';
|
|
echo '<input type="hidden" name="aktion" value="2" />';
|
|
echo '<input type="submit" value="Anfrage abschicken" />';
|
|
echo '</form >';
|
|
|
|
|
|
}else if($_POST["aktion"] == "2"){
|
|
|
|
$vorname = trim($_POST["Vorname"] ?? "");
|
|
$nachname = trim($_POST["Name"] ?? "");
|
|
$geburtstag = trim($_POST["Geburtsjahr"] ?? ""); // muss später YYYY-MM-DD sein
|
|
$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 = $_POST["abholung"] ?? "Praxis";
|
|
|
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
|
die("Ungültige E-Mail");
|
|
}
|
|
if (!$geburtstag) {
|
|
die("Geburtsdatum fehlt");
|
|
}
|
|
$abholungnr = ($abholung === "Apotheke") ? "2" : "1";
|
|
|
|
$karte = $_POST["karte"] ?? "";
|
|
if ($karte === "Privat") {
|
|
$karte = "Privatrezept (Selbstzahler)";
|
|
}
|
|
|
|
$nachricht = "Karte eingelesen: " . $karte . "<br>" .
|
|
"Abholungsort: " . $abholung . "<br>" .
|
|
$nachricht;
|
|
|
|
$impfstofftext = null;
|
|
if (!empty($impfstoff)) {
|
|
$stmt = $pdo->prepare("SELECT impfname FROM impfstoff WHERE impfid = ?");
|
|
$stmt->execute([$impfstoff]);
|
|
$impfstofftext = $stmt->fetchColumn();
|
|
}
|
|
|
|
$sendmail = false;
|
|
|
|
$pdo->beginTransaction();
|
|
|
|
$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 (weil ON DUPLICATE nicht zuverlässig lastInsertId liefert)
|
|
$stmt = $pdo->prepare("SELECT person_id FROM persons WHERE email = ? AND geburtstag = ?");
|
|
$stmt->execute([$email, $geburtstag]);
|
|
$person_id = (int)$stmt->fetchColumn();
|
|
|
|
if (!$person_id) {
|
|
$pdo->rollBack();
|
|
die("Keine eindeutige Kennung (person_id)");
|
|
}else{
|
|
|
|
$hashvorher = $vorname . $nachname . $Email;
|
|
$hash = md5($hashvorher) . date("YmdHs");
|
|
|
|
|
|
$sendmail = true;
|
|
|
|
$stmt = $pdo->prepare("
|
|
SELECT 1
|
|
FROM anfragen
|
|
WHERE requester_person_id = ?
|
|
AND anforderungart = ?
|
|
AND medikament1 = ?
|
|
AND medikament2 = ?
|
|
AND nachricht = ?
|
|
AND create_time >= (NOW() - INTERVAL 7 DAY)
|
|
LIMIT 1
|
|
");
|
|
$stmt->execute([$person_id, $anforderungart, $medikament1, $medikament2, $nachricht]);
|
|
$exists = (bool)$stmt->fetchColumn();
|
|
|
|
if (!$exists) {
|
|
$stmt = $pdo->prepare("
|
|
INSERT INTO anfragen
|
|
(requester_person_id, anforderungart, medikament1, medikament2,
|
|
nachricht, hash, create_time, ordnungsid, abholort, sicherenachricht,
|
|
source, created_by_account_id)
|
|
VALUES
|
|
(?, ?, ?, ?, ?, ?, NOW(), '1', ?, '0', 'mail', NULL)
|
|
");
|
|
$stmt->execute([
|
|
$person_id,
|
|
$anforderungart,
|
|
$medikament1,
|
|
$medikament2,
|
|
$nachricht,
|
|
$hash,
|
|
$abholungnr
|
|
]);
|
|
|
|
$anfrageid = (int)$pdo->lastInsertId();
|
|
|
|
$pdo->commit();
|
|
|
|
// Achtung: deine Funktion erwartet $con (mysqli). Die musst du später auf PDO umbauen.
|
|
// Übergangsweise: Lass die Mailfunktion noch mit mysqli laufen oder baue sie um.
|
|
SendMailMessageVorlage($pdo, "3", $anfrageid , "18" );
|
|
|
|
echo "<h3>Nachricht abgeschickt!</h3><br>Sie bekommen eine Bestätigung per E-Mail!<br>Überprüfen Sie auch Ihren Spam-Filter!<br><br>Sie werden gleich weitergeleitet.<br>";
|
|
header("refresh:15;rezepte.php");
|
|
|
|
} else {
|
|
$pdo->rollBack();
|
|
echo "<h3>Doppelte Anfrage</h3><br>Ihre Anfrage wurde schon in unserem System gespeichert.<br>Sie haben die identische Anfrage schon in den letzten sieben Tagen eingereicht.<br>Bitte warten Sie auf die Verarbeitung Ihrer Anfrage.<br><br>";
|
|
header("refresh:15;rezepte.php");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}else{
|
|
|
|
|
|
?>
|
|
|
|
|
|
|
|
Formulare anfordern, nur nach ärztlicher Absprache und Kontakt. Kassenleistungen sind an die gesetzlichen Regelungen gebunden. Fragen Sie Ihre Krankenkasse.<br>
|
|
<br>Benutzen Sie eine Email-Adresse auf die Sie direkt zugreifen können. Bitte bestätigen Sie dann den Link in der Email. So können wir Ihnen im Verlauf den Stand der Bearbeitung Ihrer Anfrage sicher mitteilen.
|
|
<br><br><br>
|
|
Stellen Sie wiederholt Anfragen an die Praxis Creutzburg? <br>
|
|
Wollen Sie bis zu sechs Medikamente beantragen?<br>
|
|
Benötigen Sie ein längeres Textfeld?<br>
|
|
|
|
<br>Dann nutzen Sie auch unseren <a href="https://www.praxis-creutzburg.de/intern/">Internen Bereich</a> für Patienten.
|
|
<br><br>
|
|
<h4>Nutzen Sie unsere neue Datei-Upload-Funktion! </h4>
|
|
Sie können damit dem Praxis-Team Unterlagen per PDF zur Verfügung stellen.<br>
|
|
|
|
Den Upload finden Sie hier: <a href="https://praxis-creutzburg.de/dateiupload.php">Datei-Upload</a><br>
|
|
</header>
|
|
|
|
<div class="row">
|
|
<div class="12u">
|
|
|
|
<!-- Form -->
|
|
<section class="box">
|
|
<?php
|
|
|
|
// Urlaubsabfrage
|
|
$today = date("Y-m-d");
|
|
|
|
$stmt = $pdo->prepare("
|
|
SELECT urlaubid
|
|
FROM urlaub
|
|
WHERE start <= ?
|
|
AND ende >= ?
|
|
LIMIT 1
|
|
");
|
|
$stmt->execute([$today, $today]);
|
|
|
|
$urlaubid = $stmt->fetchColumn();
|
|
|
|
if (!$urlaubid) {
|
|
?>
|
|
|
|
<h2>ACHTUNG!</h2>
|
|
|
|
<h3>Fragen zu Corona?</h3>
|
|
|
|
Alle Informationen zur Corona-Impfung finden Sie hier:<br>
|
|
<a href="impfanmeldung.php".php" class="button alt" style="font-size: 18px;background-color: #4CAF50;color:white;">Corona-Informationen</a><br><br>
|
|
|
|
<h3>Sie benötigen einen Termin?</h3>
|
|
|
|
Schauen Sie in unserem Online-Kalender nach einem Termin. Dort sind meist auch kurzfristige Termine vorhanden.<br>
|
|
Untersuchungen wie Blutabnahmen, Blutbild oder Ultraschall auf Kassenleistung erfolgen ausschließlich nach direkter Rücksprache mit unserem Arzt und können nicht selbstständig online gebucht werden.<br>
|
|
|
|
<h4>Buchen Sie dafür zunächst einen Sprechstundentermin.</h4> Anschließend wird das weitere Vorgehen mit unserem Arzt besprochen.
|
|
<br>
|
|
<a href="termine.php".php" class="button alt" style="font-size: 18px;background-color: #4CAF50;color:white;">Online-Kalender</a><br><br>
|
|
|
|
<h3>Formular bitte ausfüllen und abschicken</h3>
|
|
<p>Gehen Sie nach unten zum Formular und füllen Sie es (wie gewohnt) aus.</p>
|
|
|
|
|
|
<?php echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
|
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
|
|
|
|
|
?>
|
|
|
|
|
|
|
|
|
|
<div class="row uniform 50%">
|
|
<?php
|
|
echo ShowFormularFragenBenutzer();
|
|
?>
|
|
|
|
<div class="12u">
|
|
<label for="category">Ich habe eine Anfrage für folgendes Thema:</label>
|
|
<div class="select-wrapper">
|
|
<select name="category" id="category" required >
|
|
<option value=""> Bitte wählen Sie aus</option>
|
|
<?php
|
|
$stmt = $pdo->prepare("
|
|
SELECT artid, artname
|
|
FROM anfrageart
|
|
WHERE allgemeinanforderung = 1
|
|
");
|
|
$stmt->execute();
|
|
|
|
while ($rowimpf = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
$artname = $rowimpf["artname"];
|
|
$artid = $rowimpf["artid"];
|
|
?>
|
|
<option value="<?php echo htmlspecialchars($artid, ENT_QUOTES, 'UTF-8'); ?>">
|
|
<?php echo htmlspecialchars($artname, ENT_QUOTES, 'UTF-8'); ?>
|
|
</option>
|
|
<?php
|
|
}
|
|
?>
|
|
|
|
|
|
</select>
|
|
|
|
<div id="AstraInfobox"></div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="row uniform 50%">
|
|
|
|
|
|
<div class="12u">
|
|
<textarea name="message" id="message" placeholder="Ihre Nachricht/Bemerkung" rows="6" maxlength="150"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="row uniform">
|
|
<div class="12u">
|
|
<br>
|
|
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.<br>
|
|
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.<br>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row uniform">
|
|
<div class="12u">
|
|
<ul class="actions">
|
|
<li><input type="submit" value="Abschicken" /></li>
|
|
<li><input type="reset" value="Reset" class="alt" /></li>
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</form>
|
|
|
|
<hr />
|
|
<?php }else{
|
|
echo "<h2>Praxis im Urlaub</h2>";
|
|
echo "Wir befinden uns aktuell im Urlaub.<br>Wenden Sie sich an unsere Vertretung oder warten Sie bis nach unserem Urlaub mit Ihrer Anfrage.<br><br>";
|
|
|
|
$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') . "<br>";
|
|
}
|
|
if (!empty($vertreterurl)) {
|
|
// optional: URL escapen/validieren
|
|
echo "Webseite Vertretung: " . htmlspecialchars($vertreterurl, ENT_QUOTES, 'UTF-8') . "<br>";
|
|
}
|
|
if (!empty($vertretertelefon)) {
|
|
echo "Telefonischer Kontakt Vertretung: " . htmlspecialchars($vertretertelefon, ENT_QUOTES, 'UTF-8') . "<br>";
|
|
}
|
|
if (!empty($vertreteradresse)) {
|
|
echo "Adresse Vertretung: " . htmlspecialchars($vertreteradresse, ENT_QUOTES, 'UTF-8') . "<br>";
|
|
}
|
|
|
|
if ($endeausgabe) {
|
|
echo "<br>Wir stehen Ihnen ab dem " . htmlspecialchars($endeausgabe, ENT_QUOTES, 'UTF-8') . " wieder zur Verfügung.<br><br><br>";
|
|
}
|
|
}
|
|
?>
|
|
<form action="index.php" method=POST>
|
|
<input type=submit class=button value="Zurück">
|
|
</form>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<?php
|
|
|
|
include_once('footer.php');
|
|
|
|
?>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|