→ Formular mit vorausgefüllten Feldern (Convenience aus Bestell-Mail) * POST → Widerruf erfassen, Bestätigungsseite anzeigen * * Submit läuft IMMER über Bestellnr + E-Mail Lookup, nicht über Token. * * @copyright Wlanium / Thomas Bartelt * @since 2026-04-19 */ session_start(); ini_set('display_errors', 0); error_reporting(0); ini_set('log_errors', 1); ini_set('error_log', __DIR__.'/error_log.txt'); header('X-Robots-Tag: noindex, nofollow', true); header('Content-Security-Policy: default-src \'self\'; style-src \'unsafe-inline\''); include_once './core/base.class.php'; include_once './core/registry.class.php'; $base_object = new base(); Registry::set('base', $base_object); include_once './core/revocation.class.php'; $revocation = new Revocation($base_object); $view = 'form'; $prefill = ['name' => '', 'order_number' => '', 'email' => '']; $error = null; // ------------------------------------------------------------ // Request dispatch // ------------------------------------------------------------ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $form_name = isset($_POST['name']) ? trim((string)$_POST['name']) : ''; $form_order_number = isset($_POST['order_number']) ? trim((string)$_POST['order_number']) : ''; $form_email = isset($_POST['email']) ? trim((string)$_POST['email']) : ''; $reason_id = isset($_POST['reason_id']) ? (int)$_POST['reason_id'] : 0; $reason_text = isset($_POST['reason_text']) ? (string)$_POST['reason_text'] : ''; $confirm = isset($_POST['confirm']) && $_POST['confirm'] === '1'; // Eingaben für Fehlerfall ins Formular zurückspielen $prefill = [ 'name' => $form_name, 'order_number' => $form_order_number, 'email' => $form_email, ]; if (!$confirm) { $view = 'form'; $error = 'no_confirm'; } else { $ip = $_SERVER['REMOTE_ADDR'] ?? ''; $ua = $_SERVER['HTTP_USER_AGENT'] ?? ''; if ($revocation->submit_anonymous( $form_name, $form_order_number, $form_email, $reason_id, $reason_text, $ip, $ua )) { $view = 'success'; } else { $view = 'form'; $error = $revocation->get_error(); } } } else { // GET — bei Token-Link: Felder vorausfüllen $token = isset($_GET['t']) ? (string)$_GET['t'] : ''; if ($token !== '') { $pf = $revocation->prefill_from_token($token); if ($pf) { $prefill = $pf; } elseif ($revocation->get_error() === 'feature_disabled') { $view = 'error'; $error = 'feature_disabled'; } // Bei anderen Token-Fehlern: leeres Formular anbieten ohne Hinweistext } } $reasons = $revocation->fetch_reasons(); $messages = [ 'no_confirm' => 'Bitte bestätigen Sie den Widerruf durch Setzen des Hakens.', 'missing_order' => 'Bitte geben Sie Ihre Bestellnummer an.', 'invalid_email' => 'Bitte geben Sie eine gültige E-Mail-Adresse an.', 'order_not_found' => 'Wir konnten keine Bestellung mit dieser Bestellnummer und E-Mail-Adresse finden. ' . 'Bitte prüfen Sie Ihre Eingaben.', 'expired' => 'Die 14-tägige Widerrufsfrist ist überschritten. ' . 'Wenden Sie sich bitte direkt an uns.', 'already_submitted' => 'Für diese Bestellung wurde bereits ein Widerruf erklärt.', 'feature_disabled' => 'Die elektronische Widerrufsfunktion ist aktuell noch nicht aktiv.', 'not_eligible' => 'Für diese Bestellung steht der elektronische Widerruf nicht zur Verfügung.', ]; $display_error = isset($messages[$error]) ? $messages[$error] : null; ?> Widerruf – Intelectra

Vertrag widerrufen

Gemäß § 355 BGB haben Sie das Recht, Ihren Vertrag binnen 14 Tagen ohne Angabe von Gründen zu widerrufen. Füllen Sie bitte die folgenden drei Pflichtfelder aus.

Nach dem Absenden erhalten Sie eine Bestätigungs-E-Mail mit der Rücksendeadresse und den weiteren Informationen zur Rücksendung.

Widerruf entgegengenommen

Vielen Dank. Ihre Widerrufserklärung wurde erfasst. Sie erhalten in Kürze eine Bestätigungs-E-Mail an die hinterlegte Adresse mit der Rücksendeadresse und den nächsten Schritten.

Bei Rückfragen erreichen Sie uns unter .

Widerruf nicht möglich

Sie können Ihren Widerruf jederzeit auch formlos per E-Mail an oder per Brief erklären.

· ·