Autor |
Nachricht |
nuf
Threadersteller
Dabei seit: 20.08.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 20.08.2008 12:09
Titel Kontaktformular ich verzweifele... Pflichtfelder |
|
|
Die Frage wurde schon oft gestellt, aber ich kriege es in meinem Formular einfach nicht hin..probier schon 2 Tage rum.
Wie kann ich in meinem Formular (an welcher Stelle?) Firma und E-Mail als Pflichtfeld definieren?
Code: | <?
if ($machma == '1')
{
$body .= "Nachname :".$Nachname."\n";
$body .= "Vorname :".$Vorname."\n";
$body .= "Firma :".$Firma."\n";
$body .= "Email :".$email."\n";
$body .= "Telefon :".$Telefon."\n";
$body .= "Fax :".$Fax."\n";
$body .= "Grund :".$Auswahl."\n\n";
$body .= "Text :".$Bemerkungen."\n";
$headers = "FROM: $email\n";
$headers .= "Content-Type: text/plain\n";
mail("kontakt@kontakt.de", "$Auswahl von der Homepage", $body, $headers);
echo "<center><font size=2 color=#0000CC><b>Thank you. We´ve received your $Auswahl and get in touch with you as soon as possible.</b><br><br>";
}
?>
|
Super, wenn jemand helfen könnte, Danke
Zuletzt bearbeitet von nuf am Mo 25.08.2008 12:49, insgesamt 2-mal bearbeitet
|
|
|
|
|
Benutzer 80255
Account gelöscht
Ort: -
|
|
|
|
|
Anzeige
|
|
|
nuf
Threadersteller
Dabei seit: 20.08.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 20.08.2008 12:25
Titel
|
|
|
tja, das mache ich seit 2 Tagen und bei Eintragung der Programmzeile, schickt er das Formular doch immer so ab, ohne Pflichtfeld... mhmhm
|
|
|
|
|
Benutzer 80255
Account gelöscht
Ort: -
|
Verfasst Mi 20.08.2008 12:28
Titel
|
|
|
Dann schick doch die mail erst ab wenn du mit ner if-Abfrage festgestellt hast ob das Feld augefüllt ist.
|
|
|
|
|
nuf
Threadersteller
Dabei seit: 20.08.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 20.08.2008 12:36
Titel
|
|
|
<?
if ($machma == '1')
{
$body .= "Nachname :".$Nachname."\n";
$body .= "Vorname :".$Vorname."\n";
$body .= "Firma :".$Firma."\n";
$body .= "Email :".$email."\n";
$body .= "Telefon :".$Telefon."\n";
$body .= "Fax :".$Fax."\n";
$body .= "Grund :".$Auswahl."\n\n";
$body .= "Text :".$Bemerkungen."\n";
an der Stelle? und wenn ja was genau für eine if?
$headers = "FROM: $email\n";
$headers .= "Content-Type: text/plain\n";
mail("kontakt@kontakt.de", "$Auswahl von der Homepage", $body, $headers);
echo "<center><font size=2 color=#0000CC><b>Thank you. We´ve received your $Auswahl and get in touch with you as soon as possible.</b><br><br>";
Zuletzt bearbeitet von nuf am Mo 25.08.2008 13:22, insgesamt 3-mal bearbeitet
|
|
|
|
|
Smooth-Graphics
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 20.08.2008 12:39
Titel Re: Kontaktformular ich verzweifele... Pflichtfelder |
|
|
Ich bin mal so nett und poste dir heir den Grundcode:
Code: | <?php
if(empty($_POST["Firma"]) || empty($_POST["EMail"]) && $machma == '1')
{
echo "Bitte geben Sie Ihren Firmennamen und eine eMail Adresse an";
} else {
$body .= "Nachname :".$Nachname."\n";
$body .= "Vorname :".$Vorname."\n";
$body .= "Firma :".$Firma."\n";
$body .= "Email :".$email."\n";
$body .= "Telefon :".$Telefon."\n";
$body .= "Fax :".$Fax."\n";
$body .= "Grund :".$Auswahl."\n\n";
$body .= "Text :".$Bemerkungen."\n";
$headers = "FROM: $email\n";
$headers .= "Content-Type: text/plain\n";
mail("kontakt@kontakt.de", "Betreff", $body, $headers);
echo "<center><font size=2 color=#0000CC><b>Thank you. We´ve received your $Auswahl and get in touch with you as soon as possible.</b><br><br>";
}
?>
|
Dabei ist zu erwähnen, dass durch empty() geprüft wird, ob in der Variable ein Wert steht oder nicht. Inhaltsprüfung ist hier nicht dabei. Soll heißen, man kann auch als Email den Wert "1iodgqwo" angeben kann. Das müsstest du extra prüfen.
Wie gesagt, nur schnell zamgeschustert, sollte unbedingt optimiert werden.
Außerdem, woher kommen die Variablen $Nachname usw? Ich befürchte hier sind noch globale Variablen vorhanden.
Du solltest unbedingt die variablen vor Weiterverwendung prüfen: htmlspecialchars(), htmlentities() und strip_tags() helfen dir hier weiter. Variablen solltest du generell per $_POST["variablenname"] abfragen und eine eigene Variable zuweisen, also im Prinzip so:
Code: |
if(isset($_POST["name"]))
{
$var = htmlentities($_POST["name"]);
}
|
Zuletzt bearbeitet von Eistee am Fr 05.09.2008 09:03, insgesamt 3-mal bearbeitet
|
|
|
|
|
Snifferdog
Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht:
|
Verfasst Mi 20.08.2008 12:49
Titel
|
|
|
Hi,
sorry wenn ich mich jetzt vollkommen irre aber das dürfte nicht richtig funktionieren oder?
Code: |
if(empty($_POST["Firma"]) && empty($_POST["EMail"]) && $machma == '1')
{
echo "Bitte geben Sie Ihren Firmennamen und eine eMail Adresse an";
}
|
&& bedeutet als Operator soweit ich weiß "UND" ... was zur Folge hätte, dass nur dann wenn beide Pflichfelder leer sind auch eine Fehlermeldung ausgegeben würde. Es müsste also "||" für ODER benutzt werden.
Gruß
|
|
|
|
|
mAsuRa
Dabei seit: 14.05.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 20.08.2008 12:56
Titel
|
|
|
Mach erstmal mit If alle variablen prüfen
if (isset($_POST['vorname']){
$error=1;
$errortext .="Vorname fehlt";
}
if (isset($_POST['nachname']){
$error=1;
$errortext .="Nachname fehlt";
}
usw usw.
if (isset($error){
mail(sjhskhskhkI);
} else {
echo $errortext;
}
|
|
|
|
|
|
|
|
Ähnliche Themen |
IE6/7 und floats mit display:inline - ich verzweifele
PHP mysql .. mal wieder Umlaute - ich verzweifele jetzt echt
Pflichtfelder für PHP-Formular...
Pflichtfelder im Formmailer
Pflichtfelder in PHP Formular
Pflichtfelder in einem Formular
|
|