PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   HTML, CSS und JavaScript Help! (http://www.selfphp.de/forum/forumdisplay.php?f=24)
-   -   Kontaktformular absenden - Probleme (http://www.selfphp.de/forum/showthread.php?t=25866)

katrinkhgqx 31.05.2016 14:41:28

Kontaktformular absenden - Probleme
 
Hallo!

Ich bin ein bekennender HTML/PHP-Anfänger, aber bereit zu Lernen. Deswegen sitze ich zur Zeit an einer Website, die auch eigentlich fertig ist und jetzt gerade am Kontaktformular zu scheitern droht.

Ich habe ein Tutorial befolgt - dieses hier: https://www.youtube.com/watch?v=DZ7aojHQrjc-
und alles so gemacht, wie vorgeschrieben (bis auf den Punkt, dass ich Name und Vorname in eins zusammengefasst und noch eine Checkbox hinzugefügt habe)

Es soll 3 Pflichtfelder geben. Es funktioniert auch alles bis zum ersten Pflichtfeld. Sobald ich dann ein zweites hinzufügen möchte, funktioniert das nicht und dazu auch nicht mehr das erste.
Ich habe trotzdem weiter gemacht, in der Hoffnung, dass sich am Ende alles auflöst, aber das war nicht der Fall. Und jetzt bin ich ratlos.

Hat jemand eine Idee, woran es liegen könnte? Übersehe ich etwas?
Ich wäre euch so dankbar, wenn ihr mir helfen könntet!




HTML-Code:

                    <form id="frmKontakt" class="form-horizontal" action="" method="post">
                    <fieldset>
                                            <div class="form-group" id="frmGroupName">
                        <span class="col-md-1 col-md-offset-2 text-center"></span>
                            <div class="col-md-8">
                <label for="name" class="control-label"></label>
            <input type="text" class="form-control" id="name" placeholder="Name, Vorname*" required>
                                                </div>
                        </div>
           
                                              <div class="form-group" id="frmGroupEmail">
                        <span class="col-md-1 col-md-offset-2 text-center"></span>
                            <div class="col-md-8">
                <label for="email" class="control-label"></label>
            <input type="text" class="form-control" id="email" placeholder="E-Mail*" required>
                                              </div>
                        </div>
                       
                                            <div class="form-group" id="frmGroupTelefon">
                        <span class="col-md-1 col-md-offset-2 text-center"></span>
                            <div class="col-md-8">
                <label for="telefon" class="control-label"></label>
            <input type="text" class="form-control" id="telefon" placeholder="Telefon*" required>
                                        </div>
                        </div>
                       
                                        <div class="form-group" id="frmGroupNachricht">
                        <span class="col-md-1 col-md-offset-2 text-center"></span>
                            <div class="col-md-8">
                <label for="nachricht" class="control-label"></label>
                <textarea id="nachricht" class="form-control" placeholder="Ihre Nachricht an uns (optional)"></textarea>
                                        </div>
                            </div>
                       
                                        <div class="form-group" id="frmGroupCheckbox">
                          <span class="col-md-1 col-md-offset-2 text-center"></span>
                            <div class="col-md-8" id="interesse" align="center">
                                        <input type="checkbox" name="checkbox">&nbsp;Ich interessiere mich für die Geschäftsmöglichkeit
                              </div>
                                        </div>
                       
                                              <div class="form-group">
                        <div class="text-center">
                        <button type="submit" id="button" class="btn btn-primary btn-lg">Bitte informieren Sie mich kostenlos</button>
                                                </div>
                        </div>
                                       
                    </fieldset>
                    </form>





    <script>
                $('#frmKontakt').submit(function() {
                var formControl = true;
               
                var frmGroupName = $('#frmGroupName');
                var frmGoupEmail = $('#frmGroupEmail');
                var frmGroupTelefon = $('#frmGroupTelefon');
                var frmGroupNachricht = $('#frmGroupNachricht');
                       
                frmGroupName.removeClass('has-error');
                frmGroupEmail.removeClass('has-error');
                frmGroupTelefon.removeClass('has-error');
                               
                var name = $('#name').val();
                var email = $('#email').val();
                var telefon = $('#telefon').val();
                var nachricht = $('#nachricht').val();
               
                if(name == '') {
                        formControl = false;
                        frmGroupName.addClass('has-error');
                }
               
                if(email == '') {
                        formControl = false;
                        frmGroupEmail.addClass('has-error');
                }
               
                if(telefon == '') {
                        formControl = false;
                        frmGroupTelefon.addClass('has-error');
                }
               
                if(frmControl) {
                       
                        &.ajax ({
                                type : 'POST',
                                url : 'php/absenden.php',
                                data: { name:name, email:email, telefon:telefon, nachricht:nachricht }
                        }).done(function(message) {
                                alert(message);
                        });

                }
               


               
                return false;
               
        });

       
       
</script>
       

PHP-Code:

<?php 


$name 
$_POST['name'];
$telefon $_POST['telefon'];
$email $_POST['email'];
$nachricht $_POST['nachricht'];

$empfaenger "EMAILADRESSE@live.de";
$absendername "Kontaktformular";
$absendermail $email;
$betreff "Neue Nachricht über Kontaktformular";
$text "Es ist eine neue Nachricht über das Kontaktformular eingetroffen. Folgende Daten wurden übermittelt: 

Name, Vorname: " 
.$name"
Email: " 
.$email"
Telefon: " 
.$telefon"
Nachricht: " 
.$nachricht"

"
;
mail($empfaenger$betreff$text"From: $absendername <$absendermail>");


echo(
'Vielen Dank! Wir melden uns schnellsmöglichst bei Ihnen.');

?>


vt1816 31.05.2016 15:13:34

AW: Kontaktformular absenden - Probleme
 
Hallo und willkommen hier im Forum.

Wenn Du uns auch noch schreibst was jetzt nicht funktioniert nach dem Hinzufügen des 2. Pflichtfeldes, dann könnten wir Dir evtl. auch weiterhelfen.

Hast Du die Fehleranzeige bereits eingeschaltet?
Nein, dann schalte sie ein.
Ja - dann schalte sie ggf. höher.
Welcher Fehlermeldungen erhältst Du ggf.?

katrinkhgqx 31.05.2016 15:25:51

AW: Kontaktformular absenden - Probleme
 
Oh, klar!

Erstmal danke für die schnelle Antwort!

Also ..
nachdem ich das erste Pflichtfeld (Name, Vorname*) getestet hatte, wurde mir dieses auch nach dem Absenden als Rot angezeigt. Sobald ich dann

HTML-Code:

frmGroupName.removeClass('has-error');
hinzugefügt hatte, wurde es mir nicht mehr rot angezeigt, sondern aktualisierte einfach nur die Seite.

Dann habe ich das zeitweise zum Testen weg gelassen und stattdessen probiert auch Email und Telefon zum Pflichtfeld zu machen

HTML-Code:

                if(email == '') {
                        formControl = false;
                        frmGroupEmail.addClass('has-error');
                }
               
                if(telefon == '') {
                        formControl = false;
                        frmGroupTelefon.addClass('has-error');
                }

und wenn ich das dann Testen wollte, wurde die Seite nur noch aktualisiert und nichts rot angezeigt, wie es das noch tat, als ich es lediglich für "Name" eingestellt hatte.

Außerdem wird mir keine "Erfolgsmeldung" angezeigt, wenn ich auf den submit-button klicke, sondern auch nur lediglich die Seite aktualisiert




Fehleranzeige war - glaube ich - nicht eingeschaltet. Schaue da mal durch.... danke!

vt1816 31.05.2016 16:00:29

AW: Kontaktformular absenden - Probleme
 
Kann zzt. leider nicht auf das YT-Tutorial zugreifen.

Ein (Schreib-)Fehler ist mir aufgefallen:
Code:

var frmGroupEmail = $('#frmGroupEmail');
Ansonsten werden beim absenden alle nicht ausgefüllten Felder mit einem roten Rahmen versehen und erhalten die Information "Bitte füllen Sie diese Feld aus.".

katrinkhgqx 31.05.2016 18:06:59

AW: Kontaktformular absenden - Probleme
 
Habe mittlerweile noch etwas rumgetestet, mir fehlte auch die "action:"-Weiterleitung auf die php-Datei und bei Chrome funktioniert auch alles soweit (bei Safari wurde es mir nicht angezeigt)

Nun habe ich aber ein anderes Problem - kurz vorm Ziel - und zwar klappt alles mit dem Formular und auch verschicken, aber ich erhalte nur eine leere Email bzw. eine Email ohne die eingegebenen Variablen:

Name, Vorname:

E-Mail:

Telefon:

Nachricht:



Woran könnte das liegen?

vt1816 31.05.2016 20:21:13

AW: Kontaktformular absenden - Probleme
 
Zitat:

Zitat von katrinkhgqx (Beitrag 148571)
[..]
Woran könnte das liegen?

Ein weiterer (Schreib-)Fehler:
Zitat:

if(formControl) {

katrinkhgqx 31.05.2016 20:29:17

AW: Kontaktformular absenden - Probleme
 
Das ist wahr, aber ändert leider trotzdem nichts am Ergebnis...

vt1816 31.05.2016 22:25:51

AW: Kontaktformular absenden - Probleme
 
Ein weiterer (Schreib-)Fehler:
Zitat:

$.ajax ({
type : 'POST',
url : 'php/absenden.php',
Zitat:

Zitat von katrinkhgqx (Beitrag 148571)
Habe mittlerweile noch etwas rumgetestet, mir fehlte auch die "action:"-Weiterleitung auf die php-Datei ...

Die brauchst Du nicht, wird durch AJAX übernommen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:48:09 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.