Float box design + script fehler suche.

Andrin.Spitzer

Erfahrenes Mitglied
Als erstes die Fehleranzeige einschalten:
Code:
<?php
ini_set('display_errors', '1');
error_reporting(E_ALL);

// PHP-Mailer hinzufügen
use PHPMailer\PHPMailer\PHPMailer;

require_once 'contactform/Exception.php';

require_once 'contactform/PHPMailer.php';
const RECEIVER = 'info(at)firmenmeisterschaft-sh.ch'; //<---
const HTML_ERROR_START = '<div class="alert alert-danger" role="alert"><p class="m-0">';
const HTML_ERROR_END = '</p></div>';
const HTML_SUCCESS_START = '<div class="alert alert-success" role="alert"><p class="m-0">';
const HTML_SUCCESS_END = '</p></div>';
// usw.
und dann beobachten, ob und welche Fehler kommen.

Oki sehe ich da auch ob ich es richtig eingebunden habe?
 

Sempervivum

Erfahrenes Mitglied
Das hat wohl nichts zu sagen, irgend was mit den Developertools.
Direkt auf der Seite wird auch nichts ausgegeben? Dann versuchen, eine Mail zu verschicken.
 

Sempervivum

Erfahrenes Mitglied
PS: Ich sehe gerade, dass die benutzerdefinierten Fehler gar nicht ausgegeben werden. Ergänze dies ganz am Schluss des PHP, vor der letzten schließenden Klammer:
Code:
    if (count($errors) === 0) {
        $mailer = new PHPMailer();
        $mailer->CharSet = 'UTF-8'; // Charset setzen (für richtige Darstellung von Sonderzeichen/Umlauten)
        $mailer->setFrom($email, $name); // Absenderemail und -name setzen
        $mailer->addAddress(RECEIVER); // Empfängeradresse <---
        $mailer->isHTML(true);
        $mailer->Subject = 'Neue Nachricht vom Kontaktformular'; // Betreff der Email
        $mailer->Body = '<h3>Neue Nachricht von: ' . $name . '</h3>
               <h4>E-Mail-Adresse: ' . $email . '</h4>
               <h2>Betreff: ' . $subject . '</h2>
               <p>' . nl2br($message) . '</p>'; // Inhalt der Email
        /**
         * Überprüfung, ob Mail abgesendet wurde, wenn nicht: Fehlermeldung ausgeben, wenn ja: Erfolgsmeldung ausgeben
         */
        if (!$mailer->send()) {
            $errors[] = HTML_ERROR_START . 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es in ein paar Minuten nochmal!' . HTML_ERROR_END;
        } else {
            $success = HTML_SUCCESS_START . 'Ihre Nachricht wurde erfolgreich abgesendet!' . HTML_SUCCESS_END;
        }
    }
    foreach ($errors as $err) {
        echo $err;
    }
}
 
Zuletzt bearbeitet:

Sempervivum

Erfahrenes Mitglied
Anschauen bringt in diesem Fall weniger, weil der Kern der Sache das PHP ist. Wenn ich ein wenig Muße habe, mache ich mal eine Testversion auf meinem eigenen Webspace.