3x bewertet

Formular an die EMail schicken

von Coconutshake  |  18.11.2009 um 21:46 h
PHP Grundlagen
Typ: PHP Grundlagen
Stufe:Einfach
Voraussetzung für dieses Tut ist das hier.
Viele fragen sich, wie man ein Formular ohne einen Server wie onetwomax etc. an die eigene EMail schicken lassen kann.
Nun mithilfe von Php geht das auch ganz einfach.

Ihr erstellt eine neue Unterseite namens mailer.php
Da kommt nun folgender Code rein:

<?php
$strEmpfaenger 
'@web.de'// Eure EMail
$strFrom       '"Formmailer"'// Absender
$strSubject    'SotM Contest'// EMail Betreff
$strReturnhtml 'Danke.php'// Dankseite weiterleitung
$strDelimiter  ":\t";

if(
$_POST)
{
 
$strMailtext "";

 while(list(
$strName,$value) = each($_POST))
 {
  if(
is_array($value))
  {
   foreach(
$value as $value_array)
   {
    
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   
$strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

 if(
get_magic_quotes_gpc())
 {
  
$strMailtext stripslashes($strMailtext);
 }

 
mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)
 
/*
Falls diese Felder nicht ausgefüllt werden erscheint eine
Fehlermeldung
*/
  
or die("Die Mail konnte nicht versendet werden.");
 
header("Location: $strReturnhtml");
 exit;
}
?>


Durch die Kommentare müsste alles bekannt sein. Kommen wir nun zum Formular HTML Code, der nun an den Php Code angepasst werden muss.

Wir ändern eigentlich nur den Kopf des Formulars:

<form action="mailer.php" method="post">


Falls ihr Formulare mit verschiedenen Betreffs haben wollt müsst ihr eine neue Seite mit dem gleichen Php Code erstellen und Subject ändern, das speichert ihr dann zB. als mailer2.php. Denkt daran dann auch den HTML Code des Formulars dementsprechend zu ändern.

Das ist jetzt mein erstes Tut auf Giatu und ich hoffe sehr dass ihr es verstanden habt



7 Kommentare




Luluko

Ich finde dein Tut eigentlich gut, aber ich hab da so eine frage, ist es wichtig, dass immer dieses str bei diesen variablen steht der ist es egal? also ich meine es wie hier: $strEmpfaenger ...

Lg Luluko
am 18.11.2009 um 21:53 Uhr


Coconutshake

Ja das muss so stehen bleiben sonst funktioniert das nicht
am 18.11.2009 um 22:07 Uhr


SmaX

theorethisch, wenn du alle Variblen richtig unbenennst, geht soetwas schon.
am 20.11.2009 um 23:36 Uhr


SmaX

EDIT: *Variablen meine ich Smilie
am 20.11.2009 um 23:36 Uhr


Coconutshake

Oh das könnte sogar klappen .. naja ich würds so lassen da ist man auf der sicheren Seite xD
am 21.11.2009 um 11:25 Uhr


Mena

bei mir öffnet sich die dankeseite immer auf der ganzen seite. wie kann ich das ändern das sich das sie sich in dem vorgesehenen content öffnet?
omo xD war das jz verständlich oO XD
am 12.02.2010 um 11:00 Uhr


llarca

dieses seite hier sollte dir helfen: klick

Das Problem ist die weiterleitung per header(Location: ...). Da gibbet keine target möglichkeit ˆˆ
am 12.02.2010 um 18:47 Uhr