Autor |
Nachricht |
BEEware
Threadersteller
Dabei seit: 19.06.2006
Ort: Karlsruhe
Alter: 40
Geschlecht:
|
Verfasst Mo 16.06.2008 14:05
Titel [PHP]Kontaktformular optimieren |
|
|
Hey Leute,
also als erstes, ich habe kein peil von PHP, habe aber dennoch vor einiger Zeit ein Formular auf Basis eines Templates zusammen gewürfelt.
Code: | <?php
//-->Seiteninformationen
$sitename="chromosom23";
$siteurl="www.chromosom23.de";
$site_email="contact@chromosom23.de";
$recipient="contact@chromosom23.de";
//-->IP-Check
$IP=$_SERVER['REMOTE_ADDR'];
$Referer=$_SERVER['HTTP_REFERER'];
$HOST=$_SERVER['HTTP_HOST'];
$UA=$_SERVER['HTTP_USER_AGENT'];
$zeit=date("m.d.Y H:i")." Uhr";
//-->Antwort an Absender
if (mail($_POST["email"], "$sitename bedankt sich fuer Ihre Nachricht auf $siteurl",
"Hallo ".$_POST["name"].",
Ihre Nachricht wurde erfolgreich an uns weitergeleitet.
Wir werden diese umgehend bearbeiten und uns mit Ihnen
in Verbindung setzen.
Viele Gruesse,
Ihr $sitename-Team
Ihre Nachricht lautete:
".$_POST["nachricht"]."
Name: ".$_POST["name"]."
Strasse: ".$_POST["str"]."
Ort: ".$_POST["ort"]."
Tel: ".$_POST["tel"]."
Email: ".$_POST["email"]."
Sendezeitpunkt: $zeit",
"From: ".$site_email.""))
{$status_intern=true;}
else
{$status_intern=false;}
//-->Nachricht an Empfänger
(mail("$recipient","Nachricht von $siteurl",
"Sie haben folgende Nachricht von ".$_POST["name"]." erhalten:
".$_POST["nachricht"]."
Name: ".$_POST["name"]."
Strasse: ".$_POST["str"]."
Ort: ".$_POST["ort"]."
Tel: ".$_POST["tel"]."
Email: ".$_POST["email"]."
Sendezeitpunkt: $zeit
Absenderinformationen:
Sender: $IP
Referer: $Referer
Host: $Host
UserAgent: $UA
Mailerversion: 1.0 Final",
"From: ".$site_email.""));
//-->Statusprüfung in Flash
if ($status_intern)
{
print "Ihre Email wurde erflogreich an uns versendet!";
}
else
{
print "Es ist ein Fehler aufgetreten. Bitte versuchen sie es <a href=\"javascript:history.back();\">erneut</a>.";
}
?>
|
Das Formular funktioniert so auch eindwandfrei, auch von Flash heraus. Allerdings hätte ich gerne eine Option bei der das Formular erst abgeschickt wird wenn alle Felder ausgefüllt sind (optimal noch mit gültiger Emailadresse).
Wer kann/mag mir helfen?
Zuletzt bearbeitet von BEEware am Mo 16.06.2008 14:06, insgesamt 2-mal bearbeitet
|
|
|
|
|
Smooth-Graphics
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 16.06.2008 14:16
Titel
|
|
|
Naja da brauchst du nicht viel dafür:
Du prüfst deine Daten indem du einfach ein if() Statement einbaust.
Code: |
if(isset($_POST['form']))
{
if(empty(htmlentities($_POST["name"])))
{
die("Name fehlt!");
}
// Email Validierung
$valide = // hier Regel einfügen, die findest du hier oder bei google innerhalb von einer Sekunde
if(!$valide)
{
die("Falsche Email!"); // die(""); sollte nur auf dem Testserver ausgeführt werden. Ersetz dies durch header(); o.ä.
}
// und so weiter...
// am ende dann das Formular senden. Falls vorher abgebrochen bzw umgeleitet wude mit Fehlermeldung, wird dies nämlich dann nicht mehr ausgeführt.
}
|
So, mal im groben und ganzen erklärt.
Referenz zur Hilfe: http://de.php.net/manual/
|
|
|
|
|
Anzeige
|
|
|
Fuzy
Dabei seit: 14.01.2003
Ort: PW
Alter: -
Geschlecht:
|
|
|
|
|
BEEware
Threadersteller
Dabei seit: 19.06.2006
Ort: Karlsruhe
Alter: 40
Geschlecht:
|
Verfasst Mo 16.06.2008 16:14
Titel
|
|
|
Vielen Dank für die Antworten, werde mich heute Abend damit beschäftigen.
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Mo 16.06.2008 20:17
Titel
|
|
|
1. ich würde mich mal mit dem phpmailer befassen. ist weitaus komfortabler.
2. deine if abfrage in der signatur geht immer in richtung go() aber vielleicht ist das ja auch so absicht
|
|
|
|
|
|
|
|
Ähnliche Themen |
Website für IE optimieren
Fotos optimieren
Grafiken für Web optimieren...
animgifs optimieren
Datumsausgabe von JavaScript optimieren
htaccess urls optimieren
|
|