Frage von djpaddyk, 100

Kann jemand programmieren, Kontakformular?

Hey Leute, ich bin auf der Suche nach Hilfe. Ich möchte ein recht aufwendiges Kontaktformular auf meine Website einbauen nur leider funktioniert dieses nicht so wirklich. Wenn jemand mit Ahnung oder Erfahrung hier ist, würde ich es gerne mal senden, bzw zeigen. Ich bin schon fast am verzweifeln.

Lg Paddy

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von webflexer, 83

Wo ist das Problem?

Kommentar von djpaddyk ,

So schaut mein Kontaktformular aus: http://paste2.org/UFIvnUaz

Und so mein Php:

<?php

$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$strasse = $_POST['strasse'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$telefon = $_POST['telefon'];
$email = $_POST['email'];
$datum = $_POST['datum'];
$uhrzeit = $_POST['uhrzeit'];
$personen = $_POST['personen'];
$gang = $_POST['gang'];
$allergien = $_POST['allergien'];
$produkte = $_POST['produkte'];
$produkte1 = $_POST['produkte1'];
$vegi = $_POST['vegi'];
$equipment = $_POST['equipment'];
$betreff1 = $_POST['betreff1'];
$nachricht = $_POST['nachricht'];
$checkbox = $_POST['checkbox'];

$empfaenger = "pafe-berlin@web.de";
$absendername = "Kontaktformular";
$absendermail = $email;
$betreff = "Neue Nachricht von Pafe Berlin";
$text = "Es ist eine neue Nachricht über das Kontaktformular eingetroffen. Folgende Daten wurden übermittelt:

Name, Vorname: ".$nachname.", ".$vorname."
Strasse: ".$strasse."
Postleitzahl: ".$plz."
Ort: ".$ort."
Telefonnummer: ".$telefon."
Email: ".$email."
Datum: ".$datum."
Uhrzeit: ".$uhrzeit."
Personenanzahl: ".$personen."
Anzahl der Gaenge: ".$gang."
Allergien / Intolleranzen: ".$allergien."
bevorzugte Produkte: ".$produkte."
nicht zuverwendende Produkte: ".$produkte1."
Sind Vegetarier, Veganer dabei: ".$vegi."
Equipment: ".$equipment."
Betreff: ".$betreff1."
Nachricht: ".$nachricht."
AGB´s akzeptiert?: ".$checkbox;

mail($empfaenger, $betreff1, $text, "From: $absendername <$absendermail>");
echo('Vielen Dank! Wir bearbeiten Ihre Anfrage schnellstmöglich und kontaktieren Sie dann.');

?>
Kommentar von webflexer ,

lass mich raten es kommt keine email an!

Kommentar von djpaddyk ,

Richtig, beim absenden, refresh der nur meine Seite.

Allerdings ganz zum Anfang hatte es funktioniert. Kannst du mir sagen woran es liegt?

Kommentar von webflexer ,

Das ganze Kontaktformular ist grottenschlecht programmmiert!

Kommentar von djpaddyk ,

So etwas habe ich befürchtet. =)

Wie gesagt, ich habe es aus einem Tutorial.

Kommentar von webflexer ,

Habe das ganze jetzt auf die schnelle umgeschrieben:

Hier der untere Script Block im HTML Dokument, bitte austauschen: http://pastebin.com/C8Xyug7t

Beispiel: webflexer.de/test/test.html

Antwort
von ASW19, 75

Dafür wird etwas mehr Hintergrundwissen benötigt.

Z. B. welche Programmiersprache? Was für ein Formular? Was soll da dargestellt werden? Validierung inbegriffen? ...

Grüße

Kommentar von djpaddyk ,

Ich hab da leider nicht so viel Ahnung, hab es über ein Tutorial gemacht. 

So schaut mein Kontaktformular aus: http://paste2.org/UFIvnUaz

Und so mein Php: 

<?php

$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$strasse = $_POST['strasse'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$telefon = $_POST['telefon'];
$email = $_POST['email'];
$datum = $_POST['datum'];
$uhrzeit = $_POST['uhrzeit'];
$personen = $_POST['personen'];
$gang = $_POST['gang'];
$allergien = $_POST['allergien'];
$produkte = $_POST['produkte'];
$produkte1 = $_POST['produkte1'];
$vegi = $_POST['vegi'];
$equipment = $_POST['equipment'];
$betreff1 = $_POST['betreff1'];
$nachricht = $_POST['nachricht'];
$checkbox = $_POST['checkbox'];

$empfaenger = "pafe-berlin@web.de";
$absendername = "Kontaktformular";
$absendermail = $email;
$betreff = "Neue Nachricht von Pafe Berlin";
$text = "Es ist eine neue Nachricht über das Kontaktformular eingetroffen. Folgende Daten wurden übermittelt:

Name, Vorname: ".$nachname.", ".$vorname."
Strasse: ".$strasse."
Postleitzahl: ".$plz."
Ort: ".$ort."
Telefonnummer: ".$telefon."
Email: ".$email."
Datum: ".$datum."
Uhrzeit: ".$uhrzeit."
Personenanzahl: ".$personen."
Anzahl der Gaenge: ".$gang."
Allergien / Intolleranzen: ".$allergien."
bevorzugte Produkte: ".$produkte."
nicht zuverwendende Produkte: ".$produkte1."
Sind Vegetarier, Veganer dabei: ".$vegi."
Equipment: ".$equipment."
Betreff: ".$betreff1."
Nachricht: ".$nachricht."
AGB´s akzeptiert?: ".$checkbox;

mail($empfaenger, $betreff1, $text, "From: $absendername <$absendermail>");
echo('Vielen Dank! Wir bearbeiten Ihre Anfrage schnellstmöglich und kontaktieren Sie dann.');

?>
Kommentar von ASW19 ,

Hallo,

hast du die Möglichkeit ein CMS zu verwenden? (Worpress, Typo3, Joomla, ...)

Grüße

Kommentar von djpaddyk ,

Ich habe davon leider keine Ahnung. Ich hab es via template mit Brackets erstellt. 

Hab ein Macbook und benutze Safari.

Ein Cmd Programm habe ich nicht. Könnte aber mal nach eins schauen, wenn es denn damit klappen sollte.

Kommentar von djpaddyk ,

Achso ich habe strato. Falls es hilft, als Webspace und Domain gebucht?

Antwort
von maximilianus7, 70

die frage hast du schon mal gestellt. das bringt hier nix, sondern verärgerst nur die, die dir helfen wollen.

und es bringt nix, auf eine nachfrage (nämlich: was genau nicht funktioniert) die original-frage identisch zu wiederholen - statt zu antworten.

Kommentar von djpaddyk ,

Danke für den Hinweis, wie du siehst, habe ich noch keine hilfreiche Antwort zur Behebung meiner Frage / Problems erhalten. 

Es ist schon deutlich anders geschrieben.

Auch die Links sind nicht identisch.

Kommentar von maximilianus7 ,

du bist ganz schön hartnäckig: ein letztes mal:

WAS GENAU GEHT DENN NICHT ???

 

Kommentar von djpaddyk ,

Alles. :) Webflexer meinte das Formular ist schlecht.

Ich habe wie gesagt nicht so viel Ahnung, aber es kommt keine Mail an, der refresht die Seite nur beim Absenden. 

Sollte ich lieber ein anderes Formular erstellen?

Antwort
von RakonDark, 45

Dein Problem ist nicht das Tutorial .

Wenn Du etwas mit AJAX abschickst dann muss entweder im <form> tag ein onsubmit zu deiner Absendefunktion laufen . die rückgabe muss false sein , damit eben nciht das formular abgesendet wird, da es wie schon selbst gerafft ein neues formular angezeigt wird bzw für dich als reset sichtbar .

oder man macht gar kein submit und nimmt einfach ein button der die sende funktion mit onclick aufruft .

also nochmal ins tutorial schauen was du da alles vermurkst hast .

und wie ich in der anderen antwort schon geschrieben hab , wird dein AGB wert falsch dargestellt, weil der value wird immer on sein , egal ob es angeklickt ist oder nciht , das ist der unterschied zum wirklichen senden und vom senden durch ajax (was ja lediglich eine werte zusammenstellung ist )

Keine passende Antwort gefunden?

Fragen Sie die Community