 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
29.09.2003, 15:37
|
#1
|
|
TP-Specialist
Registriert seit: Aug 2001
Ort: Graz
|
Formmailer-Script verbessern
Hi!
Ich bin auf ein recht simples Formmailer-Script gestoßen und würde es in zwei Punkten gerne verbessern. Kenn mich in PHP aber nicht wirklich aus (kann den Code zwar lesen, aber nicht wirklich selber schreiben  )
1. Sollten die übertragenen Daten in einer Logdatei (einfache Textdatei) mitprotokolliert werden
2. dzt. wird eine "antwort.txt" als Antwort-mail gesendet. Ich würde den Namen dieser Textdatei gerne beim Aufruf des SCriptes mit übergeben.
Ich hab das Script auch mal angehängt.
zu 1.:
in Zeile 24 findet sich:
mail ($empfaenger,$betreff,$mailtext, "From: $Email");
Genau die Inhalte dieser Variablen sollten auch in die Logdatei geschrieben werden (z.B. "formlog.txt"). Wenn die Datei noch nicht besteht, sollte sie automatisch angelegt werden.
zu 2.:
ab Zeile 26 heißts:
if($autoantwort==true AND isset($Email)) {
$file = @fopen("antwort.txt", "r"); ....
der fixe Name "antwort.txt" sollte durch eine Variable ersetzt werden, welche als hidden field beim Aufruf übergeben wird.
Danke für Eure Hilfe
Peter
|
|
|
29.09.2003, 16:27
|
#2
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
Hi!
ungetestet und aus dem bauchi raus:
ad1)
PHP-Code:
if(mail ($empfaenger,$betreff,$mailtext, "From: $Email"))
{
if($fp = @fopen("mail.log", "a+"))
{
$text = "Empfänger:\r\n".$empfaenger."\r\n\r\nBetreff:\r\n".$betreff."\r\n\r\nText:\r\n".$mailtext."\r\n-----------------------------------";
@fwrite($fp, $text);
fclose($fp);
}
}
ad 2)
PHP-Code:
$file = @fopen($_POST[antwort], "r");
if (!$file) die("kann datei ".$_POST[antwort]." nicht öffnen");
$inhalt = fread($file, filesize($_POST[antwort]));
wobei ich voraussetze, dass du in einem hidden mit dem namen 'antwort' das textfile hast UND diese als POST übersendest.
Wenn net hinhaut, wär das nicht das erste, was heute net hinhaut, aber das liegt dann an mir. 
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
29.09.2003, 23:29
|
#3
|
|
TP-Specialist
Registriert seit: Aug 2001
Ort: Graz
|
Zitat:
Original geschrieben von Longfang
Wenn net hinhaut, wär das nicht das erste, was heute net hinhaut, aber das liegt dann an mir.
|
Hehe, bei mir hat heut auch den ganzen Tag nichts hingehaun, und ein Kollege hat mir eben was ähnliches erzählt - muss am Montag liegen
Werd das ganze also erst morgen in aller Ruhe testen...
Aber dank schon mal
Peter
|
|
|
30.09.2003, 12:57
|
#4
|
|
TP-Specialist
Registriert seit: Aug 2001
Ort: Graz
|
Hi!
Also, das mit der Autoantwort klappt vorzüglich.
Das Logfile haut noch nicht hin.
Muss das bereits am Server vorhanden und mit den Attributen auf "777" gesetzt sein? Oder kann es automatisch angelegt werden, falls es noch nicht vorhanden ist???
Aja, und mit welchen Variablen bekomm ich noch Datum und Uhrzeit zur jeweiligen Nachricht ins Logfile?
Danke schon mal
Peter
|
|
|
30.09.2003, 16:32
|
#5
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
naja, zumindest sollte das Verzeichnis in das du schreibst modifiy rechte besitzen 766 sollte eigentlich reichen.
@ 2: date("d.m.Y H:i");
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
02.10.2003, 12:37
|
#6
|
|
TP-Specialist
Registriert seit: Aug 2001
Ort: Graz
|
Hi!
Hm, die Rechte des Root-Verzeichnisses kann ich leider nicht ändern, aber wenn ich die Datei "mail.log" vorab anlege und mit Schreib-/Lese-Rechten versehe klappt es.
Könnte vielleicht noch probieren, das Mail-Script in einem Unterverzeichnis laufen zu lassen, bei dem ich alle Rechte vergeben kann... das wär vielleicht eine Idee.
Nur noch eine Frage zur PHP-Syntax, wie bekomm ich das Datum/Uhrzeit in nachfolgende Befehlszeile ganz am Anfang rein???
$text = "Empfänger:\r\n".$empfaenger."\r\n\r\nBetreff:\r\n".$betreff."\r\n\r\nText:\r\n".$mailtext."\r\n-----------------------------------";
Danke für die Tipps!
Peter
|
|
|
02.10.2003, 12:48
|
#7
|
|
TP-Specialist
Registriert seit: Aug 2001
Ort: Graz
|
Zitat:
Original geschrieben von PeterBrand
Könnte vielleicht noch probieren, das Mail-Script in einem Unterverzeichnis laufen zu lassen, bei dem ich alle Rechte vergeben kann... das wär vielleicht eine Idee.
|
Ja, so klappt es, das er die Datei von alleine anlegt...
|
|
|
02.10.2003, 12:55
|
#8
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
$wert = eine PHP Variable
"IRGENDWAS:" = reine Textausgabe
"\r\n" = Zeilenumbruch für das Mail
. = Verbindung von mehreren ausgabetexten.
zum Datum: weis das date(...) einer Variable zu: $datum = date(...) und binde es dann wie oben beschrieben ein.
ich weiss, is a bissl schwammig, aber so musst du das nächste mal nimmer nachfragen 
wenn du es net hinkriegst, poste halt nochmal.
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
02.10.2003, 13:09
|
#9
|
|
TP-Specialist
Registriert seit: Aug 2001
Ort: Graz
|
Hi!
Ja, das klappt!
Ist mir eh lieber, wenn ich so zumindest ein bisserl was dazulern!
Damit hätt ma das Thema abgeschlossen!
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:45 Uhr.
|
 |