Autor |
Nachricht |
KCie
Threadersteller
Dabei seit: 29.10.2003
Ort: München / Schwabing
Alter: 41
Geschlecht:
|
Verfasst Do 09.06.2005 11:26
Titel Kontaktformular mit Pflichtfeldern |
|
|
Hallo liebe Non-Printler!
Hab so n kleines Problem.
Hab für nen Kunden ein Kontaktformular erstellt (php)
Er ist auch voll zu frieden, will jetzt aber das Name, Adresse und E-Mail
Pflichtfelder sein sollen.
Hab aber leider keine Ahnung wie man sowas macht.
Hat da zufällig jemand n gutens/einfach zu verstehendes Script rumliegen?
das bisherige Script:
Code: | <?
$adresse = "info@domain.de";
$betreff = "Kontaktformular";
$absender = "Kontaktformular@domain.de";
$html_seite = "danke.html";
if (isset($HTTP_POST_VARS)) {
$mailtext = "$betreff\n\n";
reset($HTTP_POST_VARS);
while (list($key, $val) = each($HTTP_POST_VARS)) {
if ($key != "Submit") {
$mailtext .= "$key => $val\n";
}
}
mail ($adresse,$betreff,$mailtext,"From: $absender");
}
include($html_seite);
?> |
So sieht das Formular ungefähr dann aus. Rechts sind noch so Dinger zum anklicken.
(Name, Vorname, Adresse, PLZ, Wohnort und E-Mail sollen Pflichtfelder werden)
Hoffe jemand kann mir weiterhelfen
|
|
|
|
|
mattes
Dabei seit: 26.04.2005
Ort: Oberhausen
Alter: 40
Geschlecht:
|
Verfasst Do 09.06.2005 14:22
Titel
|
|
|
Da gibts mehrere Möglichkeiten:
Eine wäre das Formular zu senden und mittels PHP auszulesen, ob die gewünschten Felder alle ausgefüllt wurden.
Wenn nix ausgefüllt wurde schickste die Daten einfach wieder an das Formular und setzt die bereits ausgefüllten Daten wieder ein.
Andere Möglichkeit
Mittels JavaScript beim versenden überprüfen, ob alle Felder ausgefüllt wurden. So zum Beispiel:
Code: | <script language="JavaScript">
function check_form(){
for(i=0;i<document.formular.elements.length;i++){
if(document.formular.elements[i].name == "vorname" && document.formular.elements[i].value == ""){
alert("Bitte füllen Sie das Feld Vorname aus");
abort = true;
}
}
if(abort == true)
return false;
else
return true;
}
</script>
<form name="formular" onSubmit="return check_form()">
<input name="vorname">
<input type="submit">
</form>
|
darauf könnteste aufbauen.
|
|
|
|
|
Anzeige
|
|
|
way2hot
Dabei seit: 14.03.2004
Ort: Jüchen-Gierath
Alter: 41
Geschlecht:
|
Verfasst Do 09.06.2005 14:38
Titel
|
|
|
mattes hat geschrieben: | Andere Möglichkeit
Mittels JavaScript beim versenden überprüfen, ob alle Felder ausgefüllt wurden. |
Naja, wenn er ja schon ein PHP-Formular hat, warum dann nicht in PHP bleiben? =) Ich persönliche würde da schon die PHP-Variante bervorzugen, aber generell verwenden wir bei unseren Formularen (HTML auf CGI) ein JavaScript ähnlich wie oben. Da gibbet bei Dreamweaver auch die schöne CheckForm Extension...
|
|
|
|
|
Glas
Dabei seit: 24.05.2003
Ort: Bremen
Alter: 41
Geschlecht:
|
Verfasst Do 09.06.2005 14:42
Titel
|
|
|
way2hot.de hat geschrieben: | mattes hat geschrieben: | Andere Möglichkeit
Mittels JavaScript beim versenden überprüfen, ob alle Felder ausgefüllt wurden. |
Naja, wenn er ja schon ein PHP-Formular hat, warum dann nicht in PHP bleiben? =) Ich persönliche würde da schon die PHP-Variante bervorzugen, aber generell verwenden wir bei unseren Formularen (HTML auf CGI) ein JavaScript ähnlich wie oben. Da gibbet bei Dreamweaver auch die schöne CheckForm Extension... |
Naja, bei der PHP variante muss das gesammte Formular erstmal übertragen werden ...
Inwieweit das ein PRoblem darstellt (Bandbreiter der User) ist aber wiederum ne andere Diskussion
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
|
|
|
|
KCie
Threadersteller
Dabei seit: 29.10.2003
Ort: München / Schwabing
Alter: 41
Geschlecht:
|
Verfasst Do 09.06.2005 14:56
Titel
|
|
|
mattes hat geschrieben: | Da gibts mehrere Möglichkeiten:
Eine wäre das Formular zu senden und mittels PHP auszulesen, ob die gewünschten Felder alle ausgefüllt wurden.
Wenn nix ausgefüllt wurde schickste die Daten einfach wieder an das Formular und setzt die bereits ausgefüllten Daten wieder ein.
Andere Möglichkeit
Mittels JavaScript beim versenden überprüfen, ob alle Felder ausgefüllt wurden. So zum Beispiel:
Code: | <script language="JavaScript">
function check_form(){
for(i=0;i<document.formular.elements.length;i++){
if(document.formular.elements[i].name == "vorname" && document.formular.elements[i].value == ""){
alert("Bitte füllen Sie das Feld Vorname aus");
abort = true;
}
}
if(abort == true)
return false;
else
return true;
}
</script>
<form name="formular" onSubmit="return check_form()">
<input name="vorname">
<input type="submit">
</form>
|
darauf könnteste aufbauen. |
Das finde ich nicht schlecht! "Bitte füllen Sie das Feld Vorname aus"
Aber wie und wo binde ich das ein? KAnn mir das einer kurz erklären?
Hab non Non-Print nicht so viel Plan!
oder
Hat einer schonmal so n Formular gemacht (PHP, CGI, JS = egal der Server kann alles) und kann es mir schicken?
Damit ich es mir anschauen kann und ggf. einfach an die Seite anpassen.
Wär echt nett, da das ganze morgen Vormittag online gehen soll.
DANKE
|
|
|
|
|
mattes
Dabei seit: 26.04.2005
Ort: Oberhausen
Alter: 40
Geschlecht:
|
Verfasst Do 09.06.2005 15:21
Titel
|
|
|
KCie hat geschrieben: |
Aber wie und wo binde ich das ein? KAnn mir das einer kurz erklären?
Hab non Non-Print nicht so viel Plan!
|
Einfach genau so wie in meinem Beispiel, also den JavaScript Teil vor deinem Formular plazieren. Müssteste nur um Deine Felder Adresse und Email erweitern und den Formular-Namen anpassen. Schau Dir dazu einfach genau das Formular an, dann bekommste das schon hin. Ich denke die JavaScript-Variante ist für Deine Zwecke auch die sinnvollste.
|
|
|
|
|
aUDIOfREAK
Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht:
|
Verfasst Do 09.06.2005 15:35
Titel
|
|
|
das problem bei javascript ist, das man es ausschalten kann und somit die pflichtfeld-abfrage außer funktion gesetzt wird...
im grunde isses ganz einfach... du schickst das formular an sich selbst. in einer if-abfrage prüfst du ob die pflichtfelder leer sind. sind die das lässt du eine fehlermeldung ausgeben. wenn das feld ausgefüllt ist kannst du den wert 0 in eine variable schreiben, ansonsten den wert 1... erst wenn alle abfragen mit dem wert 0 antworten kannst du in einer weiteren if-anweisung das formular per mail absenden.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Kontaktformular
Kontaktformular im IE
PHP Kontaktformular
Kontaktformular
Kontaktformular
Kontaktformular
|
|