Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


Kontaktformular mit Bestätigungsmail in PHP

Programmier-Tipps und -Tricks. Artikel zum Thema Java, PHP, C++, Delphi, VB, etc.

Kontaktformular mit Bestätigungsmail in PHP

Beitragvon CoolCasimir am 31.01.2005, 18:05

Kontaktformular mit Bestätigungsmail in PHP

Überall auf Webseiten sieht man vermehrt Kontaktformulare anstatt von Emailadressen.
Das hat den Vorteil das sogenannte Snifferprogramme, welche auf der Suche nach Emailadressen den Quelltext von
Internetseiten durchscannen, keine Chance mehr haben.
Ein weiterer Vorteit ist, dass der Beuscher der Seite eine Bestätigungsmail erhält und ausserdem gezwungen wird alles auszufüllen.
Hier mal ein ganz einfaches Beispiel wie soetwas aussehen könnte (nicht getestet):

kontakt.php
Code: Alles auswählen
<HTML>
<HEAD>
<TITLE>Kontaktformular in PHP</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<style>
<!--
body {
   SCROLLBAR-FACE-COLOR: #666666; SCROLLBAR-HIGHLIGHT-COLOR: #333333; SCROLLBAR-SHADOW-COLOR: #333333; SCROLLBAR-3DLIGHT-COLOR: #344556; SCROLLBAR-ARROW-COLOR: #fefefe; SCROLLBAR-TRACK-COLOR: #000011; SCROLLBAR-DARKSHADOW-COLOR: #333333;
}

input, textarea, select {
   border: 2px solid #333333;
   background: #FFFFFF;
   font: bold 11px Verdana, Arial, Helvetica, sans-serif;
   color: #000000;

}
td {
   font: bold 14px Verdana, Arial, Helvetica, sans-serif;
   color: #000000;
}
//-->
</style>
</HEAD>
<BODY BGCOLOR=#FFFFFF>

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
   <TR>
          <td align="center">
            <font size="6">Kontakt</font>
          </td>
    <tr>
    <td>
<?php

function check_email($email) //Emailadresse prüfen (Keine Umlaute etc.)
{

if( !preg_match("/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}|museum$/i", $email) )  return true;

return false;
}

// Allgemeine Variablen
$name_tag[0] = "Sonntag";
$name_tag[1] = "Montag";
$name_tag[2] = "Dienstag";
$name_tag[3] = "Mittwoch";
$name_tag[4] = "Donnerstag";
$name_tag[5] = "Freitag";
$name_tag[6] = "Samstag";
$num_tag   = date( "w");
$day      = $name_tag[$num_tag];
$year      = date("Y");
$day_num   = date("d");
$month      = date("m");
$time      = (date("H:i"));

$empfaenger = "meine@email.de"; //Die eigene emailadresse
$subject01 = "Mein Kontaktformular wurde ausgefüllt"; //Der Betreff der Email
$subject02 = "Danke das Sie das Kontaktformular ausgefüllt haben"; //Betreff der Bestätigungsmail

if ($flag==1) //Wenn das Fromular ausgefüllt wurde.
{
    //Die Eingaben prüfen
    if(!$namer){$fehler="Bitte Namen eingeben<br>";}
    if(!$vorname){$fehler.="Bitte Vornamen eingeben<br>";}
    if(check_email($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br>";}
    if(!$email) {$fehler.="Bitte die Emailadresse eingeben<br>";}
    if(!$text) {$fehler.="Bitte eine Nachricht eingeben<br>";}

    if($fehler) //Bei Fehlern, Meldung ausgeben
    {
        $meldung="<b>" .$fehler. "</b>";
        unset($flag);
        echo "<font color='red'>Es sind folgede Fehler aufgetreten: <br> " .$meldung. "</font>";
    }
    else //Wenn es keine Fehler gibt kann ja gemailt werden.
    {
      //Der Body für die Mail
      $body01 = "Nachricht gesendet am $day, $day_num.$month.$year um $time:
----------------------------------------------------------------
Vorname        : $vorname
Name           : $namer
eMail          : $email
----------------------------------------------------------------
Nachricht:
$text";

       //Body für die Bestätigungsmail
       $body02 = "Am $day, $day_num.$month.$year um $time haben wir folgende Nachricht von Ihnen erhalten:
-----------------------------------------------------------------------------------
Name           : $namer
Vorname        : $vorname
eMail          : $email
-----------------------------------------------------------------------------------
Nachricht:
$text
-----------------------------------------------------------------------------------
Ihre Mail wird so schnell wie möglich bearbeitet.
Bei Fragen schreiben Sie an: mailto:$empfaenger";

       //Nun kann gemailt werden
       //Erst die Mail an den Webmaster
       mail ($empfaenger, $subject01, $body01, "From:$email");
       //Dann die Bestätigungsmail
       mail ($email, $subject02, $body02, "From:$email");
       echo "Die Mail wurde gesendet.";
    }
}

if(!$flag) //Formular noch nicht abgesendet
{
        ?>
      <form action='<? echo $PHP_SELF; ?>' method='post' enctype='multipart/form-data' name='form' id="form">
          <input type="hidden" name="flag" id="flag" value=1>
        <p align="center">Bitte füllen Sie alles aus<br></p>
        <div align="center">
          <center>
        <table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
          <tr><td>
                <table border="0" cellpadding="4">
        <tr>
          <td>Name:</td>
          <td>
            <input name="namer" type="text" id="namer" size="30" value='<?php echo $namer; ?>'>
                  </td>
        </tr>
        <tr>
          <td>Vorname:</td>
          <td>
                    <input name="vorname" type="text" id="vorname" size="30" value='<?php echo $vorname; ?>'>
                  </td>
        </tr>
        <tr>
          <td>Emailadresse:</td>
          <td>
                    <input name="email" type="text" id="email" size="30" value='<?php echo $email; ?>'>
                  </td>
        </tr>
        <tr>
          <td valign="top" class="textb">Nachricht:</td>
                <td>
                    <textarea name="text" id="text" cols="50" rows="5"><?php echo $text; ?></textarea>
            </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="Submit" value="Abschicken">
          </td>
        </tr>
    </table>
        </td></tr>
        </table>
          </center>
        </div>
      </form>
      <?php
      }
  ?>
    </TD>
   </TR>
</TABLE>
</BODY>
</HTML>
Zuletzt geändert von CoolCasimir am 17.03.2005, 16:50, insgesamt 3-mal geändert.
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg


Beitragvon miezmutz am 27.02.2005, 02:24

gibt's hier eigentlich niemanden sonst, der dich mal lobt...? :wink:
miezmutz
Moderator
 
Beiträge: 2411
Registriert: 19.07.2004, 13:04
Wohnort: Rendsburg

Beitragvon CoolCasimir am 27.02.2005, 19:28

miezmutz hat geschrieben:gibt's hier eigentlich niemanden sonst, der dich mal lobt...? :wink:

Du kannst ja damit anfangen :D
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon miezmutz am 28.02.2005, 10:17

mach ich doch schon... :) :)
miezmutz
Moderator
 
Beiträge: 2411
Registriert: 19.07.2004, 13:04
Wohnort: Rendsburg

das ist ja ganz gut, aber bei mir funktioniert das irgendwie

Beitragvon anti-bush am 31.03.2005, 21:50

das ist ja ganz gut, aber bei mir funktioniert das irgendwie nicht.

also es funktioniert eigentlich alles außer das ich nichts an meine e-mail adresse bekomme!

ich hab nur hier was reingeschrieben und sonst hab ich gar nichts verändert

$empfaenger = "anti-bush-alb@web"; //Die eigene emailadresse

aber ich bekomm nichts!
anti-bush
 
Beiträge: 26
Registriert: 13.03.2005, 16:49
Wohnort: Stockach

Re: das ist ja ganz gut, aber bei mir funktioniert das irgen

Beitragvon CoolCasimir am 31.03.2005, 22:06

anti-bush hat geschrieben:das ist ja ganz gut, aber bei mir funktioniert das irgendwie nicht.

also es funktioniert eigentlich alles außer das ich nichts an meine e-mail adresse bekomme!

ich hab nur hier was reingeschrieben und sonst hab ich gar nichts verändert

$empfaenger = "anti-bush-alb@web"; //Die eigene emailadresse

aber ich bekomm nichts!

Äh soll das ein Scherz sein oder meinst Du das ernst...
Probiere doch einfach mal @web.de am Ende....
anti-bush-alb@web gibt es mit Sicherheit nicht als Emailadresse...
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon anti-bush am 31.03.2005, 22:15

:oops: hab das .de vergessen zu schreiben.
aber nur hier im forum, sonst hab ich es und es funktioniert immer noch nicht!
Ich bekomm einfach nichts zu meiner e-mail adresse


Diese e-mail adresse gibt es sehr wohl, das ist kein scherz! :x
kannst mir ja mal was schreiben und ich schreib dir zurück als beweis!
anti-bush
 
Beiträge: 26
Registriert: 13.03.2005, 16:49
Wohnort: Stockach

Beitragvon CoolCasimir am 31.03.2005, 22:23

Ok, es liegt aber auch am Server ob der das kann... Hier mal ein Test (aber nur bis morgen): TEST GELÖSCHT
EDIT: Check mal Deine Mails :D
Zuletzt geändert von CoolCasimir am 04.04.2005, 20:16, insgesamt 1-mal geändert.
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon anti-bush am 04.04.2005, 19:44

es hat doch funktioniert :lol:
hat aber lange gebraucht :!:
erst am nächsten tag ist es angekommen :wink:
anti-bush
 
Beiträge: 26
Registriert: 13.03.2005, 16:49
Wohnort: Stockach

auch ein lob von mir

Beitragvon sonnen-blume am 25.04.2005, 15:38

bei mir hat alles gleich auf anhieb geklappt.

meine email wurde innerhalb 10 sekunden zugestellt.

du solltest einfach nicht web.de verwenden :-)

auch ein lob von mir an den ersteller dieses formular
danke
http://www.wortlaut.org
sonnen-blume
 
Beiträge: 3
Registriert: 17.04.2005, 13:38

Re: Kontaktformular mit Bestätigungsmail in PHP

Beitragvon madmann am 10.06.2005, 15:50

Hallo,

ich bastel gerade für meine Frau eine internetseite, bei der ich aus einer datenbank unter anderen die Email-adressen von den damen abfrage. nun soll es so sein, dass man mit diesen daten über ein kontaktformular in verbindung treten soll, aber ich weiss nicht, wie ich die variable (email) an ein kontaktformular weiter leiten kann.
hat jemand eine Idee (meine Frau fragt oft :?: )

danke

$empfaenger = "meine@email.de"; //Die eigene emailadresse
madmann
 
Beiträge: 16
Registriert: 10.06.2005, 15:43

Beitragvon CoolCasimir am 10.06.2005, 16:25

Das kannst Du mit der URL in der Adresszeile übergeben.
einfach so: www.meineseite.de/mail.php?empfaenger=em@ail.de
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon madmann am 10.06.2005, 16:39

CoolCasimir hat geschrieben:Das kannst Du mit der URL in der Adresszeile übergeben.
einfach so: www.meineseite.de/mail.php?empfaenger=em@ail.de


Hi, habe ich so übergeben, aber wenn ich im Kontaktformular (s.u.) diese variable einsetzen will, geht leider nicht. mit echo kann ich die emailadresse aber aufrufen, weiss nur nicht, wie ich sie als $empfaenger hin bekomme
madmann
 
Beiträge: 16
Registriert: 10.06.2005, 15:43

Beitragvon CoolCasimir am 10.06.2005, 16:56

Du musst das natürlich beim Senden auch wieder mit übergeben.
Also in der Form action:
Code: Alles auswählen
<form action='<? echo $PHP_SELF. "?empfaenger=" .$empfaenger; ?>' method='post' enctype='multipart/form-data' name='form' id="form">
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon madmann am 10.06.2005, 17:07

CoolCasimir hat geschrieben:Du musst das natürlich beim Senden auch wieder mit übergeben.
Also in der Form action:
Code: Alles auswählen
<form action='<? echo $PHP_SELF. "?empfaenger=" .$empfaenger; ?>' method='post' enctype='multipart/form-data' name='form' id="form">


Jo geniale, nu klappt :P he he he, kann ich frau nun sagen und heut abend gibts ... (legger essen)

vielen vielen dank
madmann
 
Beiträge: 16
Registriert: 10.06.2005, 15:43

Nächste


Ähnliche Themen


Zurück zu Artikel Softwareprogrammierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste