Habe ich ergänzt, die Fehler bleiben trotzdem.
Kontaktformular: nach "senden" auf der selben Seite bleiben
- tvb
- Geschlossen
-
-
Wenn ich den ersten Fehler korrigiere, funktioniert es einwandfrei.
Möglicher Weise war da noch eine Variable undefiniert: $from beim Senden.
Senden der Mail auskommentiert.
PHP
Alles anzeigen<?php ini_set('display_errors', '1'); error_reporting(E_ALL); if( !empty ($_POST['von']) && !empty($_POST['mail']) && !empty($_POST['nachricht']) ) { $empf = "info@blickpunkt-grafikdesign.de"; $betreff = '=?UFT-8?B?'. base64_encode('Kontaktanfrage') . '?='; $von = htmlspecialchars(stripslashes(trim($_POST['von']))); $mail = htmlspecialchars(stripslashes(trim($_POST['mail']))); $text = htmlspecialchars(stripslashes(trim($_POST['nachricht']))); if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { $headers = implode("\r\n", [ 'MIME-Version: 1.0', 'Content-type: text/plain; charset=utf-8', "From: {$von} <{$mail}>", "Reply-To: {$mail}", "Subject: {$betreff}", 'X-Mailer: PHP/' . phpversion() ]); if (TRUE /*mail($empf, $betreff, $text, $von)*/) { echo '<p>Vielen Dank für Ihre Anfrage</p>'; } else { echo '<p>Beim Versand der E-Mail ist ein Fehler aufgetreten!</p>'; } } else { echo '<p>E-Mail ungültig!</p>'; } } else { echo '<p>Bitte füllen Sie alle Felder aus!</p>'; } ?>
-
Wenn du meinen Code von dem ursprünglichen Post einfach kopierst und dann bei mail() $from zu $headers änderst, sollte alles passen.
Ansonsten musst du noch mal genau sagen, welche Fehler du bekommst.
-
Hat geklappt vielen Dank für eure Hilfe !!
-
Kein Ding. Schön, dass es funktioniert.
-
Mir ist aufgefallen, dass in der Google Maps Karte dort wo man zoomen kann jetzt senden steht. In der gleichen Farbe wie auch der Button ist. Woran kann das liegen? Habe die Karte schonmal entfernt, dann war auch das senden weg. Sobald ich sie wieder einfüge kommt es wieder. Am Handy steht es oben rechts auch nochmal geschrieben, dass kann auch sein weil sich alles verschiebt weil die Seite noch nicht responsiv ist ( übrigens wer mir da helfen kann darf sich gerne melden, habe leider überhaupt keine Ahnung wie ich das angehen soll).
Hänge euch mal ein Bild an
-
Hier hat uns die Vorlage in codepen einen Streich gespielt: Das CSS wirkt generell auf Button-Elemente. Die gibt es auch in der Ansicht von Google-Maps und entspr. taucht dort auch der Text "SENDEN" auf. Korrektur, in dem gezielt der Button mit der ID "button" angesprochen wird:
Code
Alles anzeigenbutton#button { outline: none; height: 40px; text-align: center; width: 130px; border-radius: 40px; background: #fff; border: 2px solid #1ECD97; color: #1ECD97; letter-spacing: 1px; text-shadow: 0; font-size: 12px; font-weight: bold; cursor: pointer; transition: all 0.25s ease; } button#button:hover { color: white; background: #1ECD97; } button#button:active { letter-spacing: 2px; } button#button:after { content: "SENDEN"; }
-
Ein paar Anmerkungen zum responsiven Verhalten. Ich habe mir etwas angesehen, was mir gleich aufgefallen ist: Bei section.bannerabout verschiebt sich der Text, wenn man das Browserfenster schmaler macht. Das liegt daran, dass die Position des Textes im p-Element mit margin und padding austariert wurde. Das passt nicht mehr, wenn man die Höhe durch eine Mediaquery verkleinert. Ich nehme an, dass Du diesen Text zentriert haben willst, horizontal und vertikal. Das geht sehr viel besser und einfacher mit Flexlayout:
Code
Alles anzeigen.bannerabout { background-image: url(../images/Laptop.jpg); height: 400px; background-attachment: fixed; background-size: cover; background-repeat: no-repeat; flex-direction: column; align-items: center; justify-content: center; display: flex; }
Und bei dem was drin ist, alles an Margin und Padding das der Ausrichtung diente, löschen.
Unter der Überschrift h2.parallax befindet sich ein leeres Element p.parallax_description. Ich nehme an, Du willst dieses noch ausfüllen und es soll unter der Überschrift liegen. Daher habe ich in dem CSS oben flex-direction:column verwendet.
Hast Du die Seite selber aufgebaut oder ein Template verwendet?
-
ich habe das Grundgerüst aus der Startvorlage von Adobe Dreamweaver, allerdings ist soweit ich mich erinnern kann nur der Header und Footer gleich geblieben. Den Rest habe ich abgeändert.
Soll ich denn lieber ein neues Thema bezüglich responsive Darstellung aufmachen? Das passt ja nun nicht mehr ganz hier her.
-
Zitat
Soll ich denn lieber ein neues Thema bezüglich responsive Darstellung aufmachen? Das passt ja nun nicht mehr ganz hier her.
Stimmt natürlich, könnte angebracht sein, ein neues Thema aufzumachen.
-
Hallo Zusammen,
leider habe ich wieder ein Problem mit meinem Kontaktformular und da mir hier so super weitergeholfen wurde, hoffe ich nun auch wieder auf eure Hilfe.
Ich wollte bei meinem Kontaktformular einen Checkbox-Button zwischen dem Textfeld und dem Senden-Button hinzufügen.
Dabei ist mir aufgefallen, dass die Einstellungen, die wir damals vorgenommen haben sprich dass die Rückmeldung auf der gleichen Seite erscheint und dass der Button bei einem Fehler rot wird, verloren gegangen ist. Ich habe nochmal die kompletten Beiträge von hier durchgearbeitet, aber mir fällt kein Fehler/ keine Änderung auf. Den Checkbox-Button habe ich vorerst wieder entfernt.
Wäre von euch nochmal jemand so nett und wurde sich meinen Code ansehen. Vielleicht fällt euch ein Fehler auf.
HTML
Alles anzeigen<!doctype html> <html lang="de"> <head> <meta charset="UTF-8"> <title>BlickPunkt Grafikdesign - Innovatives Design aus dem Allgäu</title> <link href="css/senden_button.css" rel="stylesheet" type="text/css"> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css"> <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script> <script src="http://malsup.github.com/jquery.form.js"></script> </head> <body> <section class="contact" id="contact"> <div id="response"></div> <h3>KONTAKT</h3> <p>Wir freuen uns auf Ihre Anfrage</p> <form method="post" action="kontaktformular.php" id="kontaktformular"> <input type="text" name="von" placeholder="Name" class="name"/><br /> <br /> <input type="text" name="mail" placeholder="E-Mail" class="mail"/><br /> <br /> <textarea name="nachricht" placeholder="Nachricht"></textarea> <br /> <button type="submit" id="senden-button" class="senden-button"></button> <script> $(function() { $( "#senden-button" ).click(function() { $( "#senden-button" ).addClass( "onclic", 250, validate); }); function validate() { setTimeout(function() { $( "#senden-button" ).removeClass( "onclic" ); $( "#senden-button" ).addClass( "validate", 450, callback); }, 2250 ); } function callback() { setTimeout(function() { $( "#senden-button" ).removeClass( "validate wrong" ); }, 1250 ); } }); </script> <script> // wait for the DOM to be loaded $(document).ready(function() { // bind 'kontaktformular' and provide a simple callback function $('#kontaktformular').ajaxForm(function(output) { $("#response").html(output); $("#kontaktformular")[0].reset(); if (output.indexOf("Bitte füllen Sie alle Felder aus") != -1) { $("#senden-button").addClass("wrong"); } }); }); </script> </form> </section> </body> </html>
PHP
Alles anzeigen<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Kontaktformular</title> </head> <body> <?php if( !empty ($_POST['von']) && !empty($_POST['mail']) && !empty($_POST['nachricht']) ) { $empf = "info@blickpunkt-grafikdesign.de"; $betreff = '=?UFT-8?B?'. base64_encode('Kontaktanfrage') . '?='; $von = htmlspecialchars(stripslashes(trim($_POST['von']))); $mail = htmlspecialchars(stripslashes(trim($_POST['mail']))); $text = htmlspecialchars(stripslashes(trim($_POST['nachricht']))); if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { $headers = implode("\r\n", [ 'MIME-Version: 1.0', 'Content-type: text/plain; charset=utf-8', "From: {$von} <{$mail}>", "Reply-To: {$mail}", "Subject: {$betreff}", 'X-Mailer: PHP/' . phpversion() ]); if (mail($empf, $betreff, $text, $from)) { echo '<p>Vielen Dank für Ihre Anfrage</p>'; } else { echo '<p>Beim Versand der E-Mail ist ein Fehler aufgetreten!</p>'; } } else { echo '<p>E-Mail ungültig!</p>'; } } else { echo '<p>Bitte füllen Sie alle Felder aus!</p>'; } ?> </body> </html>
Ich würde mich über eure Hilfe freuen!
Meine Webseite: http://www.blickpunkt-grafikdesign.de
Liebe Grüße
Timo
-
So wie es jetzt ist geht ja alles bei mir . Was soll die checkbox den machen ? Soll die checkbox angekreutz sein bevor das senden möglich ist ?
-
soll das so aussehen http://sebastian1012.bplaced.n…dner/kontaktformular1.php
-
soll das so aussehen http://sebastian1012.bplaced.n…dner/kontaktformular.html ?
Hallo basti1012,
danke für deine Antwort und Hilfe.
Es soll genau so aussehen wie du es in deinem Link zeigst.
Wenn ich allerdings bei meiner Webseite auf den Senden-Button klicke, dann werde ich auf eine zweite leere Seite geleitet in der dann steht „Bitte füllen Sie alle Felder aus“, klicke ich zurück dann dreht das Rädchen und wird auch nicht rot.
Hast du meinen Code 1zu1 übernommen?
Ich kann es mir nicht erklären 😂
-
hattest du noch irgendwas anderes geändert auf deiner Page?
Mit php kenne ich mich nicht ganz so gut aus ,da müssen wir mal warten bis einer von den php Leuten da ist .
Du hast aber auch 2 Formulare oder ? Einmal deine Page und die kontaktformular,php ?
Durch den Submit Button ändert er ja die Seite bzw ruft die Seite Kontaktformular.php wo natürlich nur die echo ausgaben sind.
Mit den sogenanten Affenformular rufst du das Php Script auf der gleichen Seiten aus und bekommst die echos auf der gleichen Seite. Man kann das Formular auch mit ajax verschicken was das Seitenwechseln auch verhindern würde und du könntest dann die echos auch da anzeigen lassen.
Aber es ging ja vorher auch .was wahr da noch anders ?
Ich hoffe ich habe das richtig erklärt ? Bitte verbessert mich wenn es so falsch wahr .
Ich gehe noch mal kucken bei dir vieleicht fält mir der Fehler doch auf.
Edit: Ja ich habe dein Code kopiert und getestet ,und er lief . Danach habe ich die checkbox eingebaut
Du holst die Echos ja über ajax das habe ich gar nicht drauf geachtet.
du hast diese Fehlermeldung was das echos holen verhindert
Das scheint so das das eine Script nicht richtig will oder überschrieben wird oder sonst was.Obwohl das Script laufen müßte weil ich habe es ja auch genutzt . kuck mal da in der richtung nach ,ich muß erstmal kurz weg
-
ich glaub ich weiß es .
Du hattest vor ein paar tagen noch http Adresse gehabt und hast jetzt aber https richtig ?
Die Browser blocken warum auch immer gemischte Inhalte .Aber auch nicht immer .Ich weiß die regel da nicht wiso ,weshalb und warum.
Bei deiner Seite wird gemischter Inhalt geblockt und somit wird das jquery.form Script nicht geladen.
Mach mal aus das
das hier
und meld dich dann nochmal.
Wenn das klappt,dann klappt es mit der Checkbox auch.
Ps dein email Script läuft zur Zeit nicht ,da kommen Fehler
-
Ich werfe mal den Begriff Affenformular in die Runde
-
Du holst die Echos ja über ajax das habe ich gar nicht drauf geachtet.
du hast diese Fehlermeldung was das echos holen verhindert
Das scheint so das das eine Script nicht richtig will oder überschrieben wird oder sonst was.Obwohl das Script laufen müßte weil ich habe es ja auch genutzt . kuck mal da in der richtung nach ,ich muß erstmal kurz weg
Ich habe die html und die php Datei mit Adobe Dreamweaver erstellt..eine Fehlermeldung erhalte ich nicht.
-
ich glaub ich weiß es .
Du hattest vor ein paar tagen noch http Adresse gehabt und hast jetzt aber https richtig ?
Die Browser blocken warum auch immer gemischte Inhalte .Aber auch nicht immer .Ich weiß die regel da nicht wiso ,weshalb und warum.
Bei deiner Seite wird gemischter Inhalt geblockt und somit wird das jquery.form Script nicht geladen.
Mach mal aus das
das hier
und meld dich dann nochmal.
Wenn das klappt,dann klappt es mit der Checkbox auch.
Ps dein email Script läuft zur Zeit nicht ,da kommen Fehl
Genau richtig, ich hatte meine Webseite auf https umgestellt.
Danach habe ich blöderweise nicht überprüft ob das Kontaktformular noch funktioniert.
Nach und nach habe ich dann die Links mit https ergänzt, wenn es möglich war.
Sonst hatte ich nichts geändert.
Als ich dann die Checkbox einbauen wollte, viel mir auf das das Kontaktformular nicht mehr richtig dargestellt wird. Daraufhin dachte ich zuerst es liegt an der Checkbox, also die wieder raus. Daran lag es aber nicht, dann habe ich die Link wieder mit http geschrieben..auch keine Veränderung.
habe ich zwischen drin das Formular nie überprüft und weiß natürlich. jetzt nicht wo der Fehler liegt.
Ich habe das Script nochmal auf https geändert. Hat aber leider nicht gebracht.
-
Ich werfe mal den Begriff Affenformular in die Runde
Leider kenne ich mich damit nicht aus
Ich verwendete Ajax dafür. Was ist denn der Unterscheid und was ist deines Erachtens besser?
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!