Kann sogar unmittelbar nach <?php ein echo reinhämmern, bekomme es dennoch nicht zu sehen...
Ich bin mir fast schon sicher dass das Script an sich funktionieren sollte oder wenigstens Fehler ausgibt, sollte etwas nicht stimmen (daher auch meine Bemerkung von wegen 'kleine' Fehler, welche ich nach und nach behoben hätte).
Könnte es nicht auch am Formular selbst oder JS liegen?
Beiträge von Sysmatic
-
-
Das habe ich getan...nichts passiert
-
Ich würde meine Worte nicht all zu ernst nehmen.
Mir ist immer noch nicht klar wo der letzte Fehler herkommt
PHP
Alles anzeigen[COLOR=#000000][FONT=Consolas][COLOR=#800000]<?php[/COLOR] [COLOR=#000000]error_reporting ( [/COLOR][COLOR=#000000]-[/COLOR][COLOR=#09885a]1[/COLOR][COLOR=#000000] );[/COLOR] [COLOR=#000000]ini_set ( [/COLOR][COLOR=#a31515]'display_errors'[/COLOR][COLOR=#000000], [/COLOR][COLOR=#0000ff]true[/COLOR][COLOR=#000000] );[/COLOR] [COLOR=#008000]//PHPmailer v6 Setup[/COLOR] [COLOR=#0000ff]use[/COLOR][COLOR=#000000] PHPMailer\PHPMailer\PHPMailer;[/COLOR] [COLOR=#0000ff]use[/COLOR][COLOR=#000000] PHPMailer\PHPMailer\Exception;[/COLOR] [COLOR=#000000]require__DIR__[/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'/_include/php/phpmailer/src/Exception.php'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000]require__DIR__[/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'/_include/php/phpmailer/src/PHPMailer.php'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000]require__DIR__[/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'/_include/php/phpmailer/src/SMTP.php'[/COLOR][COLOR=#000000]; [/COLOR] [COLOR=#008000]//PHPmailer v6 Instanz[/COLOR] [COLOR=#000000]$oMailer [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#0000ff]new[/COLOR][COLOR=#000000] PHPMailer;[/COLOR] [COLOR=#000000]$oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]CharSet [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]'UTF-8'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000]require_once([/COLOR][COLOR=#a31515]"../_include/php/db_connect.php"[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000]$statement [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $db[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]query([/COLOR][COLOR=#a31515]'[/COLOR][COLOR=#0000ff]SELECT[/COLOR][COLOR=#a31515] mail_contact [/COLOR][COLOR=#0000ff]FROM[/COLOR][COLOR=#a31515] settings[/COLOR][COLOR=#a31515]'[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000]$admin_email [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $statement[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]fetch()[[/COLOR][COLOR=#a31515]'mail_contact'[/COLOR][COLOR=#000000]];[/COLOR] [COLOR=#000000]$message_min_length [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]5[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]class[/COLOR][COLOR=#000000] Contact_Form {[/COLOR] [COLOR=#0000ff]function[/COLOR][COLOR=#000000] __construct( $details, $admin_email, $message_min_length ) {[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]name [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000]stripslashes[/COLOR][COLOR=#000000]($details[[/COLOR][COLOR=#a31515]'name'[/COLOR][COLOR=#000000]]);[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000]trim[/COLOR][COLOR=#000000]($details[[/COLOR][COLOR=#a31515]'email'[/COLOR][COLOR=#000000]]);[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]subject [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]'Blechlavine.com - Kontaktnachricht eingegangen'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000]stripslashes[/COLOR][COLOR=#000000]($details[[/COLOR][COLOR=#a31515]'message'[/COLOR][COLOR=#000000]]);[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]admin_email [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $admin_email;[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message_min_length [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $message_min_length;[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]1[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]''[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#0000ff]private[/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000] validateEmail() {[/COLOR] [COLOR=#000000] $regex [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#811f3f]'/[/COLOR][COLOR=#000000]^[/COLOR][COLOR=#811f3f]([\w-][/COLOR][COLOR=#000000]+[/COLOR][COLOR=#811f3f](?:\.[\w-][/COLOR][COLOR=#000000]+[/COLOR][COLOR=#811f3f])[/COLOR][COLOR=#000000]*[/COLOR][COLOR=#811f3f])@((?:[\w-][/COLOR][COLOR=#000000]+[/COLOR][COLOR=#811f3f]\.)[/COLOR][COLOR=#000000]*[/COLOR][COLOR=#811f3f]\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)[/COLOR][COLOR=#000000]$[/COLOR][COLOR=#811f3f]/i'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]if[/COLOR][COLOR=#000000] ( [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email [/COLOR][COLOR=#000000]==[/COLOR][COLOR=#a31515]''[/COLOR][COLOR=#000000] ) {[/COLOR] [COLOR=#0000ff]return[/COLOR][COLOR=#0000ff]false[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] $string [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] preg_replace( $regex, [/COLOR][COLOR=#a31515]''[/COLOR][COLOR=#000000], [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email );[/COLOR] [COLOR=#0000ff]return[/COLOR][COLOR=#000000] empty( $string );[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#0000ff]private[/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000] validateFields() {[/COLOR] [COLOR=#008000]// Check name[/COLOR] [COLOR=#0000ff]if[/COLOR][COLOR=#000000]( [/COLOR][COLOR=#000000]![/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]name ) {[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_errorname'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#008000]// Check email[/COLOR] [COLOR=#0000ff]if[/COLOR][COLOR=#000000]( [/COLOR][COLOR=#000000]![/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email ) {[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_erroremail'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#008000]// Check valid email[/COLOR] [COLOR=#0000ff]if[/COLOR][COLOR=#000000]( [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email [/COLOR][COLOR=#000000]&&![/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]validateEmail() ) {[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_erroremail2'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#008000]// Check message length[/COLOR] [COLOR=#0000ff]if[/COLOR][COLOR=#000000]( [/COLOR][COLOR=#000000]![/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message [/COLOR][COLOR=#000000]||[/COLOR][COLOR=#000000]strlen[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message) [/COLOR][COLOR=#000000]<[/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message_min_length ) {[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_errormessage'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#0000ff]private[/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000] sendEmail() {[/COLOR] [COLOR=#008000]// SMTP aktivieren[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]isSMTP();[/COLOR] [COLOR=#008000]// SMTP-Server[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Host [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]'smtp.strato.de'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#008000]// SMTP Authentifizierung aktivieren[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]SMTPAuth [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#0000ff]true[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#008000]// SMTP Benutzer[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Username [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]admin_email;[/COLOR] [COLOR=#008000]// SMTP Benutzer Passwort[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Password [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]'xxxxxxxx'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#008000]// Verbindungssicherheit setzen ( SSL und TLS möglich )[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]SMTPSecure [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]'ssl'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#008000]// Verbindungsport festlegen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Port [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]465[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#008000]// Absender Adresse setzen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]From [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email;[/COLOR] [COLOR=#008000]// Absender Alias setzen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]FromName [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]name;[/COLOR] [COLOR=#008000]// Empfänger Adresse und Alias hinzufügen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]addAddress([/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]admin_email, [/COLOR][COLOR=#a31515]'Webmaster Blechlavine'[/COLOR][COLOR=#000000]); [/COLOR] [COLOR=#008000]// HTML aktivieren[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]isHTML([/COLOR][COLOR=#0000ff]true[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#008000]// Betreff[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Subject [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]'Blechlavine.com - Nachricht eingegangen'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#008000]// Der Nachrichteninhalt als HTML[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Body [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message;[/COLOR] [COLOR=#008000]// Alternativer Nachrichteninhalt für Clients, die kein HTML darstellen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]AltBody [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000]strip_tags[/COLOR][COLOR=#000000]( $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Body ); [/COLOR] [COLOR=#008000]//PHPmailer v6 Versand prüfen[/COLOR] [COLOR=#0000ff]if[/COLOR][COLOR=#000000]( [/COLOR][COLOR=#000000]![/COLOR][COLOR=#000000]$oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]send() ) [/COLOR] [COLOR=#000000] {[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]1[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_success'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]exit[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] } [/COLOR] [COLOR=#0000ff]else[/COLOR] [COLOR=#000000] {[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_erroremail'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] $contact_form [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#0000ff]new[/COLOR][COLOR=#000000] Contact_Form($_POST, $admin_email, $message_min_length); //[COLOR=#000000][FONT=Consolas]syntax error, unexpected '$contact_form' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST)[/FONT][/COLOR][/COLOR] [COLOR=#000000] $contact_form[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]sendRequest();[/COLOR] [/FONT][/COLOR]
Ah okay..noch eine Klammer...
-
Ja die 'kleinen' Fehler hätte ich noch rausgeschmirgelt...
Der Code als solcher funktioniert nicht (sagt schon mein Editor).
Es fehlt eine Klammer bei
private function validateEmail()
sowie noch irgendwas anderes:bei
$contact_form = new Contact_Form($_POST, $admin_email, $message_min_length);
die Meldung:
syntax error, unexpected '$contact_form' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST) -
Die ersten 4 Zeilen der index.php:
PHP[COLOR=#000000][FONT=Consolas][COLOR=#800000]<?php[/COLOR] [COLOR=#000000]error_reporting ([/COLOR][COLOR=#000000]-[/COLOR][COLOR=#09885a]1[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000]ini_set([/COLOR][COLOR=#a31515]'display_errors'[/COLOR][COLOR=#000000], [/COLOR][COLOR=#0000ff]true[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000]ini_set([/COLOR][COLOR=#a31515]'error_reporting'[/COLOR][COLOR=#000000], E_ALL);[/COLOR] [/FONT][/COLOR]
(doppelt hält besser...)http://blechlavine.bplaced.net/Verzeih' mir die Ladezeit, aber kostenlose Server sind meistens langsam
Ich glaube auch nicht dass xampp und bplaced zur gleichen Zeit kaputt sind -
Leider nichts...error_reporting gibt nichts aus und die Konsole zeigt mir auch nichts entsprechendes
werde den Spaß mal auf den Testserver laden, vielleicht hilft es ja
-
Ja okay, das ist klar.
Habe jetzt folgendes:
Das Script steht nun in einer contact2.phpPHP
Alles anzeigen[COLOR=#000000][FONT=Consolas][COLOR=#800000]<?php[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//PHPmailer v6 Setup[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]use[/COLOR][COLOR=#000000] PHPMailer\PHPMailer\PHPMailer;[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]use[/COLOR][COLOR=#000000] PHPMailer\PHPMailer\Exception;[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]require[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]__DIR__[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'/_include/php/phpmailer/src/Exception.php'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]require[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]__DIR__[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'/_include/php/phpmailer/src/PHPMailer.php'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]require[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]__DIR__[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'/_include/php/phpmailer/src/SMTP.php'[/COLOR][COLOR=#000000]; [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//PHPmailer v6 Instanz[/COLOR] [COLOR=#000000] $oMailer [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]new[/COLOR][COLOR=#000000] PHPMailer;[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]CharSet [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'UTF-8'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] require_once([/COLOR][COLOR=#a31515]"../_include/php/db_connect.php"[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000] $statement [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $db[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]query([/COLOR][COLOR=#a31515]'[/COLOR][COLOR=#0000ff]SELECT[/COLOR][COLOR=#a31515] mail_contact [/COLOR][COLOR=#0000ff]FROM[/COLOR][COLOR=#a31515] settings[/COLOR][COLOR=#a31515]'[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]while[/COLOR][COLOR=#000000] ($dbemail [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $statement[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]fetch()):[/COLOR] [COLOR=#000000] $admin_email [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $dbemail[[/COLOR][COLOR=#a31515]'mail_contact'[/COLOR][COLOR=#000000]];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]endwhile[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] $message_min_length [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]5[/COLOR][COLOR=#000000]; [/COLOR][COLOR=#008000]// Min Message Length[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]class[/COLOR][COLOR=#000000] Contact_Form{[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000] __construct($details, $admin_email, $message_min_length){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]name [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000]stripslashes[/COLOR][COLOR=#000000]($details[[/COLOR][COLOR=#a31515]'name'[/COLOR][COLOR=#000000]]);[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000]trim[/COLOR][COLOR=#000000]($details[[/COLOR][COLOR=#a31515]'email'[/COLOR][COLOR=#000000]]);[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]subject [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'Blechlavine.com - Kontaktnachricht eingegangen'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000]stripslashes[/COLOR][COLOR=#000000]($details[[/COLOR][COLOR=#a31515]'message'[/COLOR][COLOR=#000000]]);[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]admin_email [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $admin_email;[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message_min_length [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $message_min_length;[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]1[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]''[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]private[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000] validateEmail(){[/COLOR] [COLOR=#000000] $regex [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#811f3f]'/[/COLOR][COLOR=#000000]^[/COLOR][COLOR=#811f3f]([\w-][/COLOR][COLOR=#000000]+[/COLOR][COLOR=#811f3f](?:\.[\w-][/COLOR][COLOR=#000000]+[/COLOR][COLOR=#811f3f])[/COLOR][COLOR=#000000]*[/COLOR][COLOR=#811f3f])@((?:[\w-][/COLOR][COLOR=#000000]+[/COLOR][COLOR=#811f3f]\.)[/COLOR][COLOR=#000000]*[/COLOR][COLOR=#811f3f]\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)[/COLOR][COLOR=#000000]$[/COLOR][COLOR=#811f3f]/i'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]if[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email [/COLOR][COLOR=#000000]==[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]''[/COLOR][COLOR=#000000]){ [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]return[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]false[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR][COLOR=#0000ff]else[/COLOR][COLOR=#000000]{[/COLOR] [COLOR=#000000] $string [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] preg_replace($regex, [/COLOR][COLOR=#a31515]''[/COLOR][COLOR=#000000], [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email);[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]return[/COLOR][COLOR=#000000] empty($string) [/COLOR][COLOR=#000000]?[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]true[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000]:[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]false[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]private[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000] validateFields(){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Check name[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]if[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000]![/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]name){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_errorname'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Check email[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]if[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000]![/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_erroremail'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Check valid email[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]if[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]email [/COLOR][COLOR=#000000]&&[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000]![/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]validateEmail()){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_erroremail2'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Check message length[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]if[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000]![/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message [/COLOR][COLOR=#000000]||[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000]strlen[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message) [/COLOR][COLOR=#000000]<[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]message_min_length){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_errormessage'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]private[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000] sendEmail(){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//PHPmailer v6 Connection[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// SMTP aktivieren[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]isSMTP();[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// SMTP-Server[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Host [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'smtp.strato.de'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// SMTP Authentifizierung aktivieren[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]SMTPAuth [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]true[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// SMTP Benutzer[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Username [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'".$this->admin_email."'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// SMTP Benutzer Passwort[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Password [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'xxxxxxxx'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Verbindungssicherheit setzen ( SSL und TLS möglich )[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]SMTPSecure [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'ssl'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Verbindungsport festlegen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Port [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]465[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//PHPmailer v6 Sender / Empfänger[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Absender Adresse setzen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]From [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'".$this->email."'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Absender Alias setzen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]FromName [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'".$this->name."'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Empfänger Adresse und Alias hinzufügen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]addAddress([/COLOR][COLOR=#a31515]'".$this->admin_email."'[/COLOR][COLOR=#000000], [/COLOR][COLOR=#a31515]'Webmaster Blechlavine'[/COLOR][COLOR=#000000]); [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//PHPmailer v6 Betreff / Message[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// HTML aktivieren[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]isHTML([/COLOR][COLOR=#0000ff]true[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Betreff[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Subject [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'Blechlavine.com - Nachricht eingegangen'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Der Nachrichteninhalt als HTML[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Body [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'".$this->message."'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]// Alternativer Nachrichteninhalt für Clients, die kein HTML darstellen[/COLOR] [COLOR=#000000] $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]AltBody [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#000000]strip_tags[/COLOR][COLOR=#000000]( $oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]Body ); [/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//PHPmailer v6 Versand prüfen[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#008000]//[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]if[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000]![/COLOR][COLOR=#000000]$oMailer[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]send()){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]1[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_success'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]exit[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR][COLOR=#0000ff]else[/COLOR][COLOR=#000000]{[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html [/COLOR][COLOR=#000000].=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#a31515]'<p>'[/COLOR][COLOR=#000000].[/COLOR][COLOR=#000000]$lang[[/COLOR][COLOR=#a31515]'contact_erroremail'[/COLOR][COLOR=#000000]][/COLOR][COLOR=#000000].[/COLOR][COLOR=#a31515]'</p>'[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#09885a]0[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000] sendRequest(){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]validateFields();[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]if[/COLOR][COLOR=#000000]([/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status){[/COLOR] [COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]sendEmail();[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] $response [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] array();[/COLOR] [COLOR=#000000] $response[[/COLOR][COLOR=#a31515]'status'[/COLOR][COLOR=#000000]] [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_status; [/COLOR] [COLOR=#000000] $response[[/COLOR][COLOR=#a31515]'html'[/COLOR][COLOR=#000000]] [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]$this[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]response_html;[/COLOR] [COLOR=#000000] [/COLOR] [COLOR=#000000] echo json_encode($response);[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] $contact_form [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] [/COLOR][COLOR=#0000ff]new[/COLOR][COLOR=#000000] Contact_Form($_POST, $admin_email, $message_min_length);[/COLOR] [COLOR=#000000] $contact_form[/COLOR][COLOR=#000000]->[/COLOR][COLOR=#000000]sendRequest();[/COLOR] [COLOR=#800000]?[/COLOR][COLOR=#800000]>[/COLOR] [/FONT][/COLOR]
Die main.js habe ich auch dahingehend angepasst:
Code
Alles anzeigen[COLOR=#000000][FONT=Consolas][COLOR=#000000]BRUSHED.contactForm [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000](){[/COLOR] [COLOR=#000000] $([/COLOR][COLOR=#a31515]"#contact-submit"[/COLOR][COLOR=#000000]).on([/COLOR][COLOR=#a31515]'click'[/COLOR][COLOR=#000000],[/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000]() {[/COLOR] [COLOR=#000000] $contact_form [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $([/COLOR][COLOR=#a31515]'#contact-form'[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#0000ff]var[/COLOR][COLOR=#000000] fields [/COLOR][COLOR=#000000]=[/COLOR][COLOR=#000000] $contact_form.serialize();[/COLOR] [COLOR=#000000] $.ajax({[/COLOR] [COLOR=#000000] type: [/COLOR][COLOR=#a31515]"POST"[/COLOR][COLOR=#000000],[/COLOR] [COLOR=#000000] url: [/COLOR][COLOR=#a31515]"_include/php/contact2.php"[/COLOR][COLOR=#000000],[/COLOR] [COLOR=#000000] data: fields,[/COLOR] [COLOR=#000000] dataType: [/COLOR][COLOR=#a31515]'json'[/COLOR][COLOR=#000000],[/COLOR] [COLOR=#000000] success: [/COLOR][COLOR=#0000ff]function[/COLOR][COLOR=#000000](response) {[/COLOR] [COLOR=#0000ff]if[/COLOR][COLOR=#000000](response.status){[/COLOR] [COLOR=#000000] $([/COLOR][COLOR=#a31515]'#contact-form input'[/COLOR][COLOR=#000000]).val([/COLOR][COLOR=#a31515]''[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000] $([/COLOR][COLOR=#a31515]'#contact-form textarea'[/COLOR][COLOR=#000000]).val([/COLOR][COLOR=#a31515]''[/COLOR][COLOR=#000000]);[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] $([/COLOR][COLOR=#a31515]'#response'[/COLOR][COLOR=#000000]).empty().html(response.html);[/COLOR] [COLOR=#000000] }[/COLOR] [COLOR=#000000] });[/COLOR] [COLOR=#0000ff]return[/COLOR][COLOR=#0000ff]false[/COLOR][COLOR=#000000];[/COLOR] [COLOR=#000000] });[/COLOR] [COLOR=#000000]}[/COLOR] [/FONT][/COLOR]
Habe hier versucht logisch zu schlussfolgern da meine Kenntnisse schon längst am Limit sind
Müsste ich nicht wenigstens eine Fehlermeldung zurück bekommen?
Es passiert einfach gar nichts und ich weiß ehrlich gesagt auch nicht wie ich mich hier durchprüfe um den/die Fehler zu finden -
Selbst das tatsächliche Abschicken fällt mir wahrscheinlich schwer Ich bin eigentlich schon viel zu lange raus gewesen aus der ganzen PHP-Sache...
PHP-Mailer ist quasi 'installiert', Arne's Tutorial habe ich mir durchgelesen, viel gegoogelt habe ich um fast das gleiche Tutorial nochmal auf englisch zu finden.
Bin jetzt mehr konfus als wie zuvorHabe jetzt...
Code
Alles anzeigen[COLOR=#008000][FONT=Consolas]//PHPmailer v6 Setup[/FONT][/COLOR][COLOR=#000000][FONT=Consolas][COLOR=#008000]//[/COLOR] [COLOR=#0000ff]use[/COLOR] PHPMailer\PHPMailer\PHPMailer; [COLOR=#0000ff]use[/COLOR] PHPMailer\PHPMailer\Exception; [COLOR=#008000]//[/COLOR] [COLOR=#0000ff]require[/COLOR] [COLOR=#0000ff]__DIR__[/COLOR] . [COLOR=#a31515]'/_include/php/phpmailer/src/Exception.php'[/COLOR]; [COLOR=#0000ff]require[/COLOR] [COLOR=#0000ff]__DIR__[/COLOR] . [COLOR=#a31515]'/_include/php/phpmailer/src/PHPMailer.php'[/COLOR]; [COLOR=#0000ff]require[/COLOR] [COLOR=#0000ff]__DIR__[/COLOR] . [COLOR=#a31515]'/_include/php/phpmailer/src/SMTP.php'[/COLOR]; [COLOR=#008000]//PHPmailer v6 Instanz[/COLOR] [COLOR=#008000]//[/COLOR] $oMailer = [COLOR=#0000ff]new[/COLOR] PHPMailer; $oMailer->CharSet = [COLOR=#a31515]'UTF-8'[/COLOR]; [COLOR=#008000]//PHPmailer v6 Connection[/COLOR] [COLOR=#008000]//[/COLOR] [COLOR=#008000]// SMTP aktivieren[/COLOR] $oMailer->isSMTP(); [COLOR=#008000]//[/COLOR] [COLOR=#008000]// SMTP-Server[/COLOR] $oMailer->Host = [COLOR=#a31515]'smtp.strato.de'[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// SMTP Authentifizierung aktivieren[/COLOR] $oMailer->SMTPAuth = [COLOR=#0000ff]true[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// SMTP Benutzer[/COLOR] $oMailer->Username = [COLOR=#a31515]'webmaster@blechlavine.com'[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// SMTP Benutzer Passwort[/COLOR] $oMailer->Password = [COLOR=#a31515]'blechlavine0815'[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// Verbindungssicherheit setzen ( SSL und TLS möglich )[/COLOR] $oMailer->SMTPSecure = [COLOR=#a31515]'ssl'[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// Verbindungsport festlegen[/COLOR] $oMailer->Port = [COLOR=#09885a]465[/COLOR]; [COLOR=#008000]//PHPmailer v6 Sender / Empfänger[/COLOR] [COLOR=#008000]//[/COLOR] [COLOR=#008000]// Absender Adresse setzen[/COLOR] $oMailer->From = [COLOR=#a31515]'absender@blechlavine.com'[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// Absender Alias setzen[/COLOR] $oMailer->FromName = [COLOR=#a31515]'Absender'[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// Empfänger Adresse und Alias hinzufügen[/COLOR] $oMailer->addAddress( [COLOR=#a31515]'webmaster@blechlavine.com'[/COLOR], [COLOR=#a31515]'Webmaster Blechlavine'[/COLOR] ); [COLOR=#008000]//PHPmailer v6 Betreff / Message[/COLOR] [COLOR=#008000]//[/COLOR] [COLOR=#008000]// HTML aktivieren[/COLOR] $oMailer->isHTML([COLOR=#0000ff]true[/COLOR]); [COLOR=#008000]//[/COLOR] [COLOR=#008000]// Betreff[/COLOR] $oMailer->Subject = [COLOR=#a31515]'Testnachricht'[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// Der Nachrichteninhalt als HTML[/COLOR] $oMailer->Body = [COLOR=#a31515]'<h2>wer das liest ist doof</h2><br /><u>hallo</u>'[/COLOR]; [COLOR=#008000]//[/COLOR] [COLOR=#008000]// Alternativer Nachrichteninhalt für Clients, die kein HTML darstellen[/COLOR] $oMailer->AltBody = strip_tags( $oMailer->Body ); [COLOR=#008000]//PHPmailer v6 Versand prüfen[/COLOR] [COLOR=#008000]//[/COLOR] [COLOR=#0000ff]if[/COLOR](!$oMailer->send()) { echo [COLOR=#a31515]'Nachricht wurde nicht versendet'[/COLOR]; [COLOR=#0000ff]exit[/COLOR]; } [/FONT][/COLOR] [COLOR=#000000][FONT=Consolas]echo [/FONT][/COLOR][COLOR=#A31515][FONT=Consolas]'Vielen Dank!'[/FONT][/COLOR][COLOR=#000000][FONT=Consolas];[/FONT][/COLOR]
...ganz oben in meiner index.php stehen, weil ich es gerade nicht besser weiß...nennt mich doof, aber ich habe irgendwie einen Hänger -
Naja die DB-Klasse...
PHPtry{ $db = new PDO('mysql:host=localhost;dbname=blechlavine_v2', $user, $pass); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->query('SET CHARSET utf8');}
Nicht falsch verstehen, ich bin durchaus gewillt mich dahinter zu klemmen, muss nur einen Anfang finden. Und das fällt mir gerade schwer...
Deine Tutorials werde ich mir auf jeden Fall reinpfeifen, ahne allerdings schon dass ich das Formular auf kurz oder lang verschwinden lasse -
Nicht gut?
Ich wittere Arbeit und muss weiter fragen:
Zwecks PHPMailer nur die Funktion sendEmail() abändern?
Dann ist mir immer noch nicht klar wie ich die Eingaben an das Script übergebe,
von AJAX und JSON habe ich nämlich auch keinen Schimmer.
Wobei ich gerne beibehalten würde dass die Seite nicht neu geladen werden muss beim versenden...
Will nicht faul sein aber hier schaut ein Schwein ins Uhrwerk -
Hallo mal wieder!
Ich habe hier ein mitgeliefertes Kontaktformular, welches ich gerne verwenden würde (weil es wahrscheinlich besser ist als ich es je schreiben könnte )
Nun habe ich absolut keine Ahnung wie ich es zum laufen bringe:index.php
PHP
Alles anzeigen<form id="contact-form" class="contact-form" action="#"> <p class="contact-name"> <input id="contact_name" type="text" placeholder="<?php print $lang['contact_yourname']; ?>" value="" name="name" /> </p> <p class="contact-email"> <input id="contact_email" type="text" placeholder="<?php print $lang['contact_youremail']; ?>" value="" name="email" /> </p> <p class="contact-message"> <textarea id="contact_message" placeholder="<?php print $lang['contact_yourmessage']; ?>" name="message" rows="15" cols="40"></textarea> </p> <p class="contact-submit"> <a id="contact-submit" class="submit" href="#"><?php print $lang['contact_submit']; ?></a> </p> <div id="response"> </div> </form>
main.js
Code
Alles anzeigen/* ================================================== Contact Form================================================== */ BRUSHED.contactForm = function(){ $("#contact-submit").on('click',function() { $contact_form = $('#contact-form'); var fields = $contact_form.serialize(); $.ajax({ type: "POST", url: "_include/php/contact.php", data: fields, dataType: 'json', success: function(response) { if(response.status){ $('#contact-form input').val(''); $('#contact-form textarea').val(''); } $('#response').empty().html(response.html); } }); return false; }); }
contact.php
PHP
Alles anzeigen<?php/* * Contact Form Class */ header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Content-type: application/json'); require_once("../_include/php/db_connect.php"); $statement = $db->query('SELECT mail_contact FROM settings'); while ($dbemail = $statement->fetch()): $admin_email = $dbemail['mail_contact']; endwhile; $message_min_length = 5; // Min Message Length class Contact_Form{ function __construct($details, $email_admin, $message_min_length){ $this->name = stripslashes($details['name']); $this->email = trim($details['email']); $this->subject = 'Blechlavine.com Kontaktnachricht eingegangen'; // Subject $this->message = stripslashes($details['message']); $this->email_admin = $email_admin; $this->message_min_length = $message_min_length; $this->response_status = 1; $this->response_html = ''; } private function validateEmail(){ $regex = '/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i'; if($this->email == '') { return false; } else { $string = preg_replace($regex, '', $this->email); } return empty($string) ? true : false; } private function validateFields(){ // Check name if(!$this->name) { $this->response_html .= '<p>'.$lang['contact_errorname'].'</p>'; $this->response_status = 0; } // Check email if(!$this->email) { $this->response_html .= '<p>Please enter an e-mail address</p>'; $this->response_status = 0; } // Check valid email if($this->email && !$this->validateEmail()) { $this->response_html .= '<p>Please enter a valid e-mail address</p>'; $this->response_status = 0; } // Check message length if(!$this->message || strlen($this->message) < $this->message_min_length) { $this->response_html .= '<p>Please enter your message. It should have at least '.$this->message_min_length.' characters</p>'; $this->response_status = 0; } } private function sendEmail(){ $mail = mail($this->email_admin, $this->subject, $this->message, "From: ".$this->name." <".$this->email.">\r\n" ."Reply-To: ".$this->email."\r\n" ."X-Mailer: PHP/" . phpversion()); if($mail) { $this->response_status = 1; $this->response_html = '<p>Thank You!</p>'; } } function sendRequest(){ $this->validateFields(); if($this->response_status) { $this->sendEmail(); } $response = array(); $response['status'] = $this->response_status; $response['html'] = $this->response_html; echo json_encode($response); } } $contact_form = new Contact_Form($_POST, $admin_email, $message_min_length); $contact_form->sendRequest(); ?>
Für mich ist die ganze funktionsweise noch sehr undurchsichtig, ich habe nicht annähernd einen Lösungsansatz und hoffe mal wieder auf eure Unterstützung.
Danke! -
Haha ja da sind noch viele Kleinigkeiten versteckt...
Aber ihr habt mich nun letztendlich doch weich bekommen, werde das Design wieder verwerfen (nach all der Mühe )
Wird ein One Pager, da berücksichtige ich auch alle hier genannten Punkte -
Es ist mir halt immer noch nicht ganz klar ob PHP-Sessions im allgemeinen Datenschutzrechtlich relevant sind oder nicht.
-
Hmm naja, die genannten Optionen kommen da nicht wirklich in Frage.
Mir kam ein anderer Gedanke:
würde es genügen, im Cookie-Hinweis einen Link/Button anzubieten mit welchem die Session gelöscht werden kann?
Müsste dann nur auf eine "Exit-Page" weiterleiten... -
Ich bin dort Angestellter und mache das für lau, also zum Spaß...vorher sah die Website um Welten schlimmer aus.
Das aktuelle Design finde ich am geeignetsten, und diese Websites in voller Breite hat auch irgendwie jeder.
Oder sollte die jeder haben?
Was gibt es noch für Alternativen?Das dutzen resultiert daraus das wir ein junges Unternehmen mit vielen jungen Leuten sind, und da wird auch der Chef gedutzt.
Wo ich es jetzt von dir höre, dass es schlimm sei, muss ich es doch wieder abändernDie großen Bilder hatte ich allerdings gar nicht mehr auf den Schirm, kommt auch auf die Liste.
-
Nicht ganz.
Mit session_start() startet man den ganzen Spaß noch bevor andere Skripte ausgeführt werden, dann ist die Session aber ohne irgendwelche Informationen, quasi jungfräulich.
Die Informationen können dann an jeder beliebigen Stelle wie bspw. nach Login angelegt, geändert oder gelöscht werden -
Sailor
Wir hatten das ja schonmal in einem anderen Thema angekratzt, hier schildere ich mal genauer wo mein Problem liegt...Da es ja scheinbar unpassend ist, wenn Sessions ohne Einwilligung gesetzt werden, muss dies ja mit dem Click auf den "Cookies akzeptieren"-Button passieren.
Leider habe ich von JS überhaupt keine Ahnung, und der Cookie-Hinweis, welchen ich mir mal irgendwo wegkopiert habe, funktioniert mit JS.Beim Aufruf der Seite werden 2 Sessions gesetzt, eine für den Besucherzähler und die andere für die Ausgabesprache:
PHP
Alles anzeigen<?php session_set_cookie_params(43200); session_start(); if(!isset($_GET['language'])) { if(!isset($_SESSION['language'])) { include('lang/de.php'); $_SESSION['language'] = 'de'; } else { include('lang/' . $_SESSION['language'] . '.php'); } } else { $_SESSION['language'] = $_GET['language']; include('lang/' . $_SESSION['language'] . '.php'); } $statement = $db->query('SELECT visitor_counter FROM bl_verwaltung WHERE id = 1'); while ($db_current_visitors = $statement->fetch()): $current_visitors = $db_current_visitors['visitor_counter']; endwhile; if(!isset($_SESSION['visitor_count'])) { $current_visitors++; $statement = $db->prepare("UPDATE bl_verwaltung SET visitor_counter = ? WHERE id = 1"); $statement->execute(array($current_visitors)); $_SESSION['visitor_count'] = true; } ?>
Der Code für den Cookie-Hinweis:
Code
Alles anzeigen<div id="cookie"> <a onClick="var d = new Date(); d = new Date(d.getTime() +1000*60*60*24*730); document.cookie = 'cookie=1; expires='+ d.toGMTString() + ';'; document.getElementById('cookie').style.display = 'none';" class="button">Okay!</a> <p class="cookiemessage"> Wir benutzen Cookies zur Steigerung der Besucherfreundlichkeit.<br />Mit der Verwendung dieser Website akzeptierst du unsere Datenschutzerklärung. <a class="cookielink" href="index.php?loc=privacy">Mehr erfahren...</a> </p> </div> <script> a = document.cookie; while(a != '') { while(a.substr(0,1) == ' ') { a = a.substr(1,a.length); } cn = a.substring(0,a.indexOf('=')); if(a.indexOf(';') != -1) { cw = a.substring(a.indexOf('=')+1,a.indexOf(';')); } else { cw = a.substr(a.indexOf('=')+1,a.length); } if(cn == 'cookie') { r = cw; } i = a.indexOf(';')+1; if(i == 0) { i = a.length } a = a.substring(i,a.length); } if(r == '1') document.getElementById('cookie').style.display = 'none'; </script>
Ich habe wirklich NULL Ahnung wie es gemacht wird, ich hoffe mir kann dabei geholfen werden
-
Naja, ich bin leider kein Designer und es fehlt wie gesagt an Feedback.
Das Thema der Firma ist im allgemeinen immer Blau, so konnte ich mit einem Kollegen nur Kompromisse finden und das hier kam dann nach etlichen Verwerfungen bei raus
Verbesserungsvorschläge tun da sehr gut -
Mein Problem ist das nutzen der richtigen Suchbegriffe..so halte ich mich manchmal Stunden bei Google auf...wegen eines einzigen Problems
-
Aber mal ehrlich, wer soll denn bitte auf sowas kommen?
Und wieder muss ich danken!Von was für einer Simulation hast du gesprochen?