mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 28.04.2024 14:51 Benutzername: Passwort: Auto-Login

Thema: [PHP]Kontaktformular optimieren vom 16.06.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP]Kontaktformular optimieren
Autor Nachricht
BEEware
Threadersteller

Dabei seit: 19.06.2006
Ort: Karlsruhe
Alter: 40
Geschlecht: Männlich
Verfasst Mo 16.06.2008 14:05
Titel

[PHP]Kontaktformular optimieren

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 16.06.2008 14:16
Titel

Antworten mit Zitat Zum Seitenanfang

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/
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Fuzy

Dabei seit: 14.01.2003
Ort: PW
Alter: -
Geschlecht: Männlich
Verfasst Mo 16.06.2008 14:55
Titel

Linktip

Antworten mit Zitat Zum Seitenanfang

für schnelle umsetzung und wenig Kenntnis:

http://www.formular-generator.de/formular-erstellen/

nur Vorsicht vor PHP-Shorttags!
  View user's profile Private Nachricht senden
BEEware
Threadersteller

Dabei seit: 19.06.2006
Ort: Karlsruhe
Alter: 40
Geschlecht: Männlich
Verfasst Mo 16.06.2008 16:14
Titel

Antworten mit Zitat Zum Seitenanfang

Vielen Dank für die Antworten, werde mich heute Abend damit beschäftigen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Mo 16.06.2008 20:17
Titel

Antworten mit Zitat Zum Seitenanfang

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() *zwinker* aber vielleicht ist das ja auch so absicht *ha ha*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Website für IE optimieren
Fotos optimieren
Grafiken für Web optimieren...
animgifs optimieren
Datumsausgabe von JavaScript optimieren
htaccess urls optimieren
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.