Wochentag // $dat -> Datum // $ti -> Uhrzeit // Return: Datuns/Zeit-String function buildDate($dat) { global $weekday, $showTime; $dat = preg_replace('#^(\d{4})(\d{2})(\d{2})$#', '\3.\2.\1', $dat); $r = substr($weekday,0,2) . ", " . $dat . " " . $showTime; return $r; } function holdasdatum($fid) { global $db; $sql_sel = "SELECT datum FROM sonnedatum where id = '$fid'"; $result = mysqli_query($db, $sql_sel) or die(mysqli_error($db)); $data = $result->fetch_row()[0]; return intval($data); } // Aus der DB aus der Table 'sonnedatum' den Eintrag für $fid holen // und als Datum/Zeit-String übergeben // Parameter: // $fid -> id des Führungsdatums in der Datenbank-Tabelle // Return: Datum/zeit-String function holDate($fid) { global $db; $sql_sel = "SELECT datum FROM sonnedatum where id = '$fid'"; $result = mysqli_query($db, $sql_sel) or die(mysqli_error($db)); $data = mysqli_fetch_assoc($result); $ret = array(); $ret[] = 'So'; $ret[] = $data['datum']; $ret[] = '11'; $ret[] = buildDate($data['datum']); return $ret; } // die Daten der nächsten Führungen für $monthstoadd Monate in ein Array holen // Parameter - // Retunrn: Array mit allen Werte aus der Table function getNextFuehrungen() { global $db, $vorlauf, $monthstoadd; $erg = array(); $toadd = '+' . $vorlauf . 'hour'; $dt = new DateTime($toadd); $datum_heute = $dt->format('Ymd'); $enddatum = new DateTime('now'); $enddatum->modify($monthstoadd); $enddatum = $enddatum->format('Ymd'); $datum_heute = 20251114; //<<<<<<<<<<<<<<<<<<<<<<<<< $sql_sel = "SELECT * FROM sonnedatum where datum >='$datum_heute' && datum <= '$enddatum' order by datum ASC"; $result = mysqli_query($db, $sql_sel) or die(mysqli_error($db)); while ($row = mysqli_fetch_assoc($result)) { foreach ($row as $key => $value) { $entry[$key] = $value; } $erg[] = $entry; } return $erg; } // 'select'-Tag für die Führungen bauen // Paramter: // $fuehrungen -> Array mit den kommenden Führungen // Return: String mit dem HTML-Code function bauNextFuehrungen($fuehrungen, $maxP, $selected) { $r = "" . ""; return $r; } // Zählen, wieviele Personen zu einem Führungstermin angemeldet sind // Parameter: // $fid -> id des Führungsdatum // Return: Anzahl der Personen function getCountsPerDate($fdate) { global $db; $sql_stmt = "SELECT SUM(anzahl) AS count FROM sonneanmeld WHERE fdatum ='$fdate'"; $result = mysqli_query($db, $sql_stmt) or die(mysqli_error($db)); $data = mysqli_fetch_assoc($result); return $data['count']; } // prüfen, og der User schon eine Buchung gemacht hat // Geprüft wird die Email-Adresse. Es werden nur Buchungen in // Zukunft geprüft. function isDoppelBuchung($email) { global $db; $ret = []; $ret['doppelt'] = false; $now = date('Ymd'); $sql_stmt = "SELECT * FROM sonneanmeld WHERE email = '$email' AND fdatum > $now"; $result = mysqli_query($db, $sql_stmt) or die(mysqli_error($db)); $data = mysqli_fetch_assoc($result); return $data; } // die kompletten Daten eines Teilnehmers anhand der ID ais der DB holen ?>
'; $stern_errors++; } if (trim($stern_strasse) == '') { $stern_error_msg .= 'Bitte geben Sie eine Straße ein.
'; $stern_errors ++; } if (trim($stern_plz) == '') { $stern_error_msg .= 'Bitte geben Sie eine Postleitzahl ein.
'; $stern_errors ++; } if (! preg_match("/^[0-9]{5}$/", $stern_plz)) { $stern_error_msg .= 'Bitte geben Sie bei der Postleitzahl mindestens fünf Ziffern und keine Buchstaben ein.
'; $stern_errors ++; } if (trim($stern_ort) == '') { $stern_error_msg .= 'Bitte geben Sie einen Ort ein.
'; $stern_errors ++; } $stern_mail = trim($stern_mail); if (!preg_match("/^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}/", strtolower($stern_mail))) { $stern_error_msg .= 'Bitte geben Sie eine gültige E-Mail-Adresse ein.
'; $stern_errors++; } $belegt = getCountsPerDate($stern_datum_date); $rest = $maxBesucher-$belegt; if((trim($stern_teil) + $belegt) > $maxBesucher) { if ($rest <= 0) { $stern_error_msg .= "Die Führung ist ausgebucht, $andererTermin
"; } else { $stern_error_msg .= "Die Führung ist schon mit $belegt Personen belegt, es "; if ($rest == 1) { $stern_error_msg .= "kann nur noch 1 Person "; } else { $stern_error_msg .= "können höchstens noch $rest Personen "; } $stern_error_msg .= "angemeldet werden.
"; } $stern_errors++; } $teilnehmer = isDoppelBuchung($stern_mail); if($teilnehmer != null) { $stern_error_msg = "Dies ist eine Doppelbuchung. Sie wird nicht gespeichert.

Abbruch

"; $stern_errors++; } $nun = strtotime("now"); list($w,$d,$t,$s) = holDate($stern_fdlink); $fz = strtotime("$d" . "t" . substr($t,0,2) . "00"); $dauer = ($fz - $nun) / 3600; if ($dauer <= $vorlauf) { $stern_error_msg .= "Die Anmeldung muss spätestens $vorlauf Stunden vor Beginn der Führung erfolgen - $andererTermin.
"; $stern_errors++; } if ($stern_errors == 0) { $sql_stmt = "INSERT INTO sonneanmeld (name, vorname, strasse, plz, stadt, telefon, email, anzahl, fid, remarks, angemeldet, fdatum)" . " values('$stern_name', '$stern_vorname', '$stern_strasse', '$stern_plz', '$stern_ort', '$stern_tel'," . "'$stern_mail', '$stern_teil', '$stern_fdlink', '$stern_remarks', CURDATE(), '$stern_datum_date')"; $ins = mysqli_query($db, $sql_stmt) or die(mysqli_error($db)); $person = $stern_teil == 1 ? "Person" : "Personen"; $body = "\r\nName, Vorname: $stern_name, $stern_vorname \r\n" . "Strasse: $stern_strasse \r\n" . "Ort: $stern_plz $stern_ort \r\n" . "Telefon: $stern_tel \r\n" . "E-mail: $stern_mail \r\n" . "Gewünschter Termin: $stern_datum \r\n" . "Personen: $stern_teil \r\n" . "Bemerkungen: $stern_remarks \r\n"; $bodya = "Sehr geehrte Dame, sehr geehrter Herr, \r\n\r\n" . "hiermit bestätigen wir Ihre Anmeldung zu einer Sonnen-Führung auf der Sternwarte Welzheim für\r\n\r\n" . "$stern_vorname $stern_name am " . preg_replace("/(\d+) Uhr/","um $0",$stern_datum) . " für $stern_teil $person " . // $stern_teil == 1 ? "Person" : "Personen" . ".\r\n\r\n" . "Die Führung findet NUR bei klarem Himmel statt. Falls der Himmel bedeckt ist \r\n" . "und die Führung ausfällt, erhalten Sie bis spätestens eine Stunde vor Führungsbeginn \r\n" . "eine Email. Sie können sich dann gerne zu einem neuen Termin anmelden.\r\n\r\n" . "Bei Problemen oder Fragen wenden Sie sich bitte per E-Mail an anmeldung@sternwarte-welzheim.de \r\n\r\n" . "Mit freundlichen Grüßen\r\n\r\n" . "Beobachterteam der Sternwarte Welzheim\r\n\r\n" . "www.sternwarte-welzheim.de"; $betreff = "Anmeldung zu einer Sonnen-Führung auf der Sternwarte Welzheim"; $betreffBeo = "Anmeldung zur Sonnen-Führung in Welzheim am $stern_datum"; mb_internal_encoding('UTF-8'); $betreff = mb_encode_mimeheader($betreff, 'UTF-8', 'Q'); // Mail an den Anfragenden sendmail($betreff, $defaultabsender, $bodya, [], ['anmeldungen@sternwarte.rexfue.de'], [$stern_mail]); // Mail an einige BEOs und an die Liste $beoliste = array( //"andrea.ess@t-online.de", //"sonderfuehrung@sternwarte-welzheim.de", "martin.gertz@gmx.de", // "planetarium@stuttgart.de", //"info@planetarium-stuttgart.de", //"HUK@observatory-stuttgart.de", "hansdschida1@gmail.com", "anmeldung@sternwarte-welzheim.de", ); sendmail($betreffBeo, $defaultabsender, $body, $beoliste, [], ["rexfue@gmail.com"] ); $stern_meldung = "

Vielen Dank für Ihre Anmeldung.

Wir freuen uns über Ihren Besuch auf der Sternwarte Welzheim am

" . preg_replace('/(\d+) Uhr/','um $0',$stern_datum) . " mit $stern_teil $person.

Wir haben Ihnen die Anmelde-Bestätigung per Email zugesandt (bitte sehen Sie ggf. auch in Ihrem Spam-Ordner nach).

Zurück

"; // Antwortseite ?> ' . $stern_error_msg . '
'; } // Wenn ein Fehler aufgetreten ist ($errors != 0), folgt jetzt der default Teil // d.h. das Eingabeformular wird nochmals angezeigt mit einer Fehlermeldung. // ---------------------------------------------------------------------------- default: ?>

Anmeldung zu einer Sonnen-Führung auf der Sternwarte Welzheim

Diese Führung auf der Sternwarte Welzheim findet nur bei klarem Himmel statt.

Bitte beachten Sie, dass der Weg zur Sternwarte Welzheim mit Kraftfahrzeugen nicht befahren werden darf. Sie können Ihre Fahrzeuge auf dem Parkplatz der Sternwarte abstellen. Von hier führt ein 430 m langer Fußweg zur Sternwarte.

Die Fernrohre in den Beobachtungskuppeln sind nur über Treppen zu erreichen. Es besteht leider keine Möglichkeit, Rollstühle in die Kuppeln mitzunehmen. Für Kleinkinder sind Sternführungen nicht geeignet.

Betrieb und Arbeit auf der Sternwarte erfolgen ehrenamtlich. Unterhalt und Aktivitäten auf der Sternwarte sind nur durch Ihre Unterstützung möglich. Wir bitten daher um eine ensprechende Spende.

An einer Führung können nur maximal Personen teilnehmen. Sollte die von Ihnen ausgewählte Führung bereits ausgebucht sein, wählen Sie bitte einen anderen Termin.

Sollte die Führung wegen des Wetters ausfallen, erhalten Sie bis spätestens eine Stunde vor Führungsbeginn eine Email. Wir bitten Sie, sich dann für einen neuen Termin nochmals anzumelden.

Wenn Sie alle Felder ausgefüllt und abgeschickt haben (mit dem "Anmeldung senden"-Knopf), erhalten Sie eine Anmeldebestätigung per e-mail.

Unsere Sternwarte bleibt bis voraussichtlich 14. November 2025 wegen neuer technischer Einrichtung geschlossen.
Bis dahin können keine Führungen durchgeführt werden.

Anmeldung: (Alle Felder mit '*' müssen ausgefüllt werden)


Bitte beachten Sie, dass eine Anmeldung bis spätestens Stunden vor Führungsbeginn erfolgt sein muss!
Schon belegte Termine können nicht ausgewählt werden (sie werden grau dargestellt).











" id="teil" class="textfeld20"/> (max. Personen)



Eine Sonnenführung findet nur bei klarem Wetter statt.

Das Betreten der Sternwarte erfolgt auf eigene Gefahr. Die Sonnenführung wird von ehrenamtlichen Kräften durchgeführt. Bei Ausfall einer Führung kann kein Schadenersatz geleistet werden.



Hinweis zum Datenschutz: Datenschutzerklärung

Letzte Änderungen: 2025-10-22 rxf