Script für Übergabe eines HTML Kontaktformulars

uboot

Captain
Registriert
Juni 2001
Beiträge
3.181
Ich hatte vor ein paar Tagen hier ein Thema eröffnet, weil ich wissen wollte ob ohne PHP/CGI es geht ein Kontaktformular in HTML zu realisieren. Es kam dabei heraus, dass der abschickende User dann ein eigenes Mailprogramm verwenden müsste.

Nun habe ich mich um CGI/PHP kompatiblen Webspace gekümmert und bräuchte nun ein passendes Script. Ich habe das Formular in HTML erstellt und jedem Formularfeld auch ein name="" Attribut verpasst. Nun bräuchte ich also ein Script, welches ich in <form action= ... einsetze (und auf dem Server liegt), was dann die eingetragenen Informationen entgegennimmt und an mich versendet. Dieses Script soll nur 5 von 10 Feldern überprüfen, ob eine Eingabe gemacht wurde und wenn ja, dann absenden, sonst zurückgeben und sagen: Da fehlt. Bei erfolgreichem Absenden dann ein "Danke" Bildschirm.

Woher kriege ich nun ein passendes CGI?? Script, wo es keinen Copyright drauf gibt und meine Anforderungen erfüllt.
 
Hi,

Hier mal lesen
oder phpmailer

aber es ist wirklich nicht schwer das selber zu machen, du kannst ganz leicht das Example von php.net erweitern ;)

kleines Bsp:
PHP:
if (empty($_POST['name'])) {
	$error='name Fehlt!';
} else {
	$mail=mail('benutzer@example.com', 'Mein Betreff', $nachricht);
}

if (!$error && $mail) {
	echo 'Email wurde versendet';
}
 
Hm, von PHP habe ich leider bisher gar keine Ahnung. Ich habe in Eigenrecherche mal http://aktuell.de.selfhtml.org/artikel/php/form-mail/index.htm gefunden. Das scheint recht gut zu sein. Was meint ihr?

Die Frage ist jetzt, muss das alles in EIN .php Dokument oder liegt der PHP Teil wie bei CGI irgendwo anders?

Muss man eigentlich rechtlich gesehen bei Kontaktformularen immer eine Checkbox "akpzeptieren" einbauen mit Datenschutzrichtlinien, dass Daten nicht weitergegeben werden etc.?
 
1. Wenns seinen Dienst für Dich tut, wird es reichen.
2. muss alles so in eine *.php Datei
3. Hm eigentlich nicht, weil Datenschutzgesetz ist Datenschutzgesetz, so genau kann ichs aber auch ned sagen, denke muss man nur wenn man Daten weiterverarbeitet die übermittelt werden.
 
Muss eine PHP in ein spezielles Verzeichnis? Brauche ich eine MySQL Datenbank für PHP? Habe die PHP mal hochgeladen und sehe nur den gesamten Quellcode im Browser. :confused_alt:

Edit: Ich musste den Modus 775 setzen (hatte ich mal irgendwo gelesen).

Edit2: Bei dem von selfhtml phpformmailer eingebauten code sieht auch die Seite soweit ok jetzt aus, nur kommt immer Mail konnte nicht versendet werden - also die Ausstiegsbedingung des PHP Codes. :/

Ist das denn so korrekt: <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">

Edit3: Ich musste in mail() für den Hoster spezifisch noch -f "email" setzen, jetzt gehts.
 
Zuletzt bearbeitet:
hallo,

ich kann dir nicht genau sagen wie es geht aber das beispiel von harley-1 trifft es schon sehr gut.
ich habe leider nur einen link für dich, da ist es sehr gut erklärt und du kannst es einfach nachbauen.

http://www.selfphp.de/praxisbuch/praxisbuch.php?group=32

http://www.webmaster-resource.de/tutorials/php/kontaktformular-mit-php-01.php

du wirst es schaffen, es ist kinderleicht man muss sich nur vor augen führen wie das mit der client-server komunikation funktioniert. dazu gibts tausende tutorials... und selfphp ist eine der besten referenzen.

edit: das tut im 2. link solltest du einfach mal nachbauen, verstehen und an deine bedürfnisse anpassen. am besten du installierst einem lokalen webserver auf dem du dein formular testen kannst. xammp kann ich empfehlen, am besten die zip-version. einfach downloaden, nach C:\ entpacken und los gehts... :)
http://www.apachefriends.org/de/xampp-windows.html#631
 
Zuletzt bearbeitet:
Ich danke dir wirklich für deine gutgemeinten Ratschläge, aber das ist mir momentan einfach zuviel. Ich muss für die Uni lernen und nebenbei noch Arbeiten gehen. Momentan habe ich also zeitlich, aber auch lusttechnisch, keine Muße mich in PHP etwas mehr einzuarbeiten.

PHP:
<?php

### Konfiguration ###

# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'IhrName@provider.xy';

# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom       = '"Formmailer" <IhrAndererName@provider.xy>';

# Welchen Betreff sollen die Mails erhalten?
$strSubject    = 'Feedback';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://www.provider.xy/IhrName/IhreSeite.htm';

# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter  = ":\t";

### Ende Konfiguration ###

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)
  or die("Die Mail konnte nicht versendet werden.");
 header("Location: $strReturnhtml");
 exit;
}

?>

So das habe ich jetzt auf meine Bedürfnisse angepasst meiner HTML hinzugefügt - es geht ja jetzt auch alles.

ABER, ich bräuchte nun noch eine kleine Hilfe von euch. Wie füge ich (und an welcher Stelle) ein, dass die Formularfelder "Name" "email" und "telefon" einen Wert haben müssen, sonst Ausstieg und "Mail konnte nicht versendet werden"! Geht bestimmt ganz leicht, aber da ich keine Ahnung habe würde ich mich sehr freuen, wenn mir jemand das kurz implementieren könnte, am Besten noch die Änderungen fett markiert, und noch einmal posten könnte. Danke.

Edit: Problemstellung hat sich erledigt, hab einen netten PHP Könner gefunden. ;)
 
Zuletzt bearbeitet:
Zurück
Oben