PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einbindung meines ersten PHP Elaborates...


BitBiter
20.12.2008, 21:13:38
Ein herzliches Dankeschön an die vielen Helferlein in diesem Forum im Voraus…
Also:
Die I-Net Präsentation besteht aus einer Reihe von HTML, CSS, und JavaScripten, die allesamt bereits validiert sind und auch gut "laufen".
Lediglich für das Kontaktformular wollte ich zweckmäßigerweise eine PHP-Lösung und habe aus dem PHP-Praxisbuch die Hilfe "Formular samt Autoresponder" zur Vorlage genommen.
Diese habe ich auf meine Anforderungen angepaßt…
Die relevanten Codes habe ich nachstehend geposted:

Aus der HTML-Datei Kontakt.html


<div id="Form-Div">
<form action="php-mail.php" method="post" name="Kontaktformular">


Die PHP-Datei php-mail.php.php


<?php
$form_name = "kontakt.htm";

//Stammen die Daten vom Formular?
if (isset($_POST["senden"])) {

// Textfeldeingaben filtern
function daten_reiniger($inhalt) {
if (!empty($inhalt)) {
// HTML- und PHP-Code entfernen.
$inhalt = strip_tags($inhalt);
// Umlaute und Sonderzeichen in
//HTML-Schreibweise umwandeln
$inhalt = htmlentities($inhalt);
// Entfernt überflüssige Zeichen
// Anfang und Ende einer Zeichenkette
$inhalt = trim($inhalt);
// Backslashes entfernen
$inhalt = stripslashes($inhalt);
}
return $inhalt;
}

// Schreibarbeit durch Umwandlung ersparen
foreach ($_POST as $key=>$element) {
if ($key != "senden") {
// Eingaben Filtern
$daten = daten_reiniger($element);
// Dynamische Variablen erzeugen, wie mailer_name
${"mailer_".$key} = $daten;
$maildaten .= "$key: $daten\n";
}
}

//Mailadresse korrekt angegeben – Name entsprechend formatieren
if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$mailer_email)){
$error_msg.="Fehlerhafte Eingabe der E-mail Adresse!<br>";
}

// Prüfen, ob Fehler vorgekommen sind!
if($error_msg){
echo "

// Fehlerseite geaendert
<link rel='Fehlermeldung' href='Fehlermeldung.htm'>
<a href='$Fehlermeldung' class='contentlink'>Zurück</a><br>

";

} else {
$mailer_datum=date("Y-m-d H:i:s");

echo "

// Formular Mailer Antwort - Mail korrekt verschickt - Danke

<link rel='Kontakt-Antwort' href='Kontakt-Antwort.htm'>

";

include("php-autorespond.php");

}

} else {
echo "

// Fehlerseite geaendert
<link rel='Fehlermeldung' href='Fehlermeldung.htm'>
<a href='$Fehlermeldung' class='contentlink'>Zurück</a><br>

";
}
?>


Die PHP-Datei php-autoresponder.php


<?php

if (isset($_POST["senden"])) {

// Mail an Webmaster
$kontaktmaster="anfrage@der-mobs.de";

$mailinhalt = "
Der-Mobs – Anfrage\n
__________________\n
E-mail: $mailer_email\n
__________________\n
$maildaten
__________________\n
Zeit: $mailer_datum\n
__________________\n";

@mail($kontaktmaster, "Kundenanfrage", $mailinhalt, "From: $mailer_email");

// Autoresponder
$datei = "text/automail.txt";
$fp = fopen($datei, "r");
$inhalt = fread($fp,filesize($datei));
fclose($fp);

@mail("$mailer_email", "Der-MoBS – Danke für Ihre Anfrage", "$inhalt\n\n","From:$kontaktmaster");

} else {

echo "

<link rel='Fehlermeldung' href='Fehlermeldung.htm'>
<a href='$Fehlermeldung' class='contentlink'>Zurück</a><br>

";
}

?>

__________________

Leider kann ich keinen Fehler entdecken…
Für jeden Hinweis bin ich sehr dankbar, möchte aber auch darum bitten, mir den Zusammenhang zu erläutern, denn ohne "es zu begreifen" komme ich auch nicht weiter,
habe seit zwei Tagen nicht mehr geschlafen und "drehe inzwischen am Rad"…
(Who was the man who said that machines are the slaves of mankind?)
Danke nochmals für die Hilfe.
VG, BitBiter

rarios
20.12.2008, 21:37:04
Füge doch bitte ein error_reporting(E_ALL); am Anfang Deiner Scripte ein und poste den Fehler

feuervogel
20.12.2008, 21:58:06
bitte beachte die verhaltensregeln. ich kann so schlecht hellsehen...

BitBiter
26.12.2008, 23:38:50
Hey, Rarios
vielen Dank für Deine Hilfe, das Kommando
"error_reporting(E_ALL)"
kannte ich gar nicht.
Es hat mir unschätzbare Dienste geleistet - und eine Menge Arbeit beschert...
Manchmal macht ein einziger sinnvoller Satz eben den Unterschied zwischen Hilfe und
Polemik aus...
Danke noch mal an Rarios und einen guten Rutsch ins neue Jahr 2009...
vG,
BitBiter

rarios
26.12.2008, 23:42:24
Gern geschehen.

Aber bitte poste doch absofort die Lösungen zu Deinen selber gelösten Problemen!

Daher nehme ich jetzt mal den Platz von feuervogel ein und weise Dich auf die Verhaltensregeln (http://www.selfphp.de/forum/announcement.php?f=12) hin.

Die Darstellung der Problemlösung hilft anderen Usern bei ähnlichen Problemen.