Vielen Dank für Ihr Interesse an unserem Tell-A-Friend-Script. Wir empfehlen Ihnen, sich Zeit für die Lektüre dieser Anleitung zu nehmen.
Das Tell-A-Friend-Script ermöglicht Ihnen, Ihre Website von den Besuchern weiterempfehlen zu lassen. Dazu werden Informationen aus dem Formular und der URL der Seite per E-Mail an einen Empfänger gesandt.
Die E-Mails können sowohl im Text- als auch im HTML-Format versendet werden. Darüber hinaus verfügt das Script über mehrere Sicherheitsfunktionen um den Missbrauch durch Dritte zu verhindern. Außerdem bietet das Script die Möglichkeit, alle versandten Nachrichten mitzuloggen.
Es ist wichtig, dass das Script entweder über einen Link oder über ein Formular auf ihrer Website aufgerufen wird. Aus Sicherheitsgründen wird dabei die Verweisseite überprüft und mit den Angaben der Script-Konfiguration verglichen. Bei Übereinstimmung wird das Script ausgeführt.
Das Script ist für den direkten Aufruf über einen Link und für den indirekten Aufruf über ein bestehendes Formular ausgelegt. Beim direkten Aufruf des Scripts wird die Datei index.php direkt verlinkt und die darin voreingestellten Templates (HTML und Mail) verwendet.
Beim indirekten Aufruf wird das Script durch ein bereits bestehendes Formular in einer HTML-Seite aufgerufen. Durch diese Methode können Sie mehrere Formulare in Ihrer Seite mit demselben Script versenden. HTML- und Mail-Templates sowie alle weiteren Parameter für das Script können mit Hilfe von Hidden-Formularfeldern im HTML-Formular definiert werden.
Durch die indirekte Methode können Sie Ihre bestehenden Kontaktformulare ohne aufwändige Änderungen mit diesem Script weiter betreiben.
Das HTML-Template wurde nach den Spezifikationen für XHTML 1.0 erstellt. Deshalb enthalten alle einfachen Tags (<br> oder <input>) einen abschließenden Slash (<br /> oder <input type="text" name="feld" />).
Achtung: Wenn Sie folgende Fehlermeldung beim Aufruf des Scripts erhalten - 'Falscher oder leerer Referrer (Verweisseite)!' - dann müssen Sie in der Datei 'index.php' in die Variable '$referring_server' Ihren Servernamen (also Ihre Domain mit und ohne www und am besten auch die IP-Adresse) eintragen.
Beispiel:
$referring_server = 'www.ihr-server.de, ihr-server.de, 127.0.0.1';
Für den Fall, dass Sie alle Daten korrekt eingegeben haben und trotzdem diese Fehlermeldung erhalten, stellen Sie bitte sicher, dass Sie das Script über einen Link von Ihrer Website aus aufrufen (Tell A Friend).
Weitere Variablen in der Datei 'index.php':
$allow_empty_referer |
Einige Programme auf Seiten des Benutzers können die Anzeige des Referrers (Verweisseite) verhindern, wie zum Beispiel Firewall-Software oder Web-Browser. Sie können den Zugang mit leerem Referrer verhindern, wenn Sie die Variable auf "no" setzen oder erlauben, wenn Sie die Variable auf "yes" setzen.
|
|
$language |
Tragen Sie hier das Kürzel für die Sprache ein (z.B.: de oder en). Welche Sprachen verfügbar sind können Sie im Verzeichnis 'languages' herausfinden.
|
|
Die folgenden Funktionen sollen die die Missbrauchsmöglichkeit des Scripts durch Dritte (Spammer) einschränken. Sie können die Anzahl der gesendeten E-Mails an die E-Mail-Adresse des Benutzers, an die E-Mail-Adresse des Empfängers oder/und an die IP-Adresse des Benutzers koppeln.
|
||
$ip_banlist |
In dieser Variable können Sie IP-Adressen von Servern eintragen, die Sie von der Nutzung des Scripts ausschließen möchten. Wenn Sie diese Funktion nicht nutzen möchten, lassen Sie die Variable einfach frei.
|
|
$sender_count |
Sie können bestimmen, wie oft und innerhalb welchen Zeitraums E-Mails mit der selben E-Mail-Adresse als Absender versandt werden können. Tragen Sie dazu die Anzahl der E-Mails mit der selben Absender-E-Mail (0 schaltet die Funktion ab) ein.
|
|
$sender_duration |
Angabe des Zeitraums in ganzen Stunden (1, 2, 5, 10, 20, 300). Nach Ablauf kann die E-Mail-Adresse wieder als Absender benutzt werden.
|
|
$recipient_count |
Sie können - analog zu oben - bestimmen, wie oft und innerhalb welchen Zeitraums E-Mails an dieselbe E-Mail-Adresse als Empfänger versandt werden können. Anzahl der E-Mails mit derselben Empfänger-E-Mail (0 schaltet die Funktion ab).
|
|
$recipient_duration |
Angabe des Zeitraums in ganzen Stunden (1, 2, 5, 10, 20, 300).
|
|
$ip_address_count |
Als dritte Möglichkeit können Sie die Anzahl der gesendeten E-Mails an die IP-Adresse des Benutzers koppeln. Analog den beiden oberen Möglichkeiten können Sie die Anzahl der E-Mails und die Dauer festlegen. Anzahl der E-Mails mit der selben IP-Adresse (0 schaltet die Funktion ab).
|
|
$ip_address_duration |
Angabe der Dauer in ganzen Stunden (1, 2, 5, 10, 20, 300).
Wenn eine dieser drei Sicherheits-Funktion aktiviert wird, wird auch gleichzeitig die Log-Funktion eingeschaltet. Stellen Sie deshalb sicher, dass der Ordner 'log' und die Log-Datei ('log/logfile.txt') Schreibrechte besitzen (chmod 777). |
|
$show_limit_errors |
Hat ein Benutzer die maximale Anzahl seiner erlaubten E-Mails erreicht,
können Sie ihm eine Fehlermeldung anzeigen.
|
|
$log_messages |
Hier schalten Sie die Logging-Funktion der E-Mails ein beziehungsweise aus.
Wollen Sie die Funktion nutzen, stellen Stellen Sie deshalb sicher, dass
der Ordner 'log' und die Log-Datei ('log/logfile.txt') Schreibrechte
besitzen (chmod 777).
|
|
$text_wrap |
Diese Variable enthält die Anzahl der Zeichen, nach der die Zeilen in der E-Mail umbrochen werden. Wird kein Wert angegeben, wird kein Zeilenumbruch eingefügt.
|
|
$show_error_messages |
Bei Auslieferung des Scripts ist diese Variable standardmäßig auf 'yes' gesetzt. Das hat zur Folge, dass Sie bei der Konfiguration des Scripts Fehlermeldungen und Hinweise zur Einrichtung des Scripts erhalten. Sobald aber das System funktioniert können Sie die Ausgabe der Meldungen abschalten. So verwehren Sie allzu neugierigen Besuchern den Einblick in das System.
|
|
$path['logfile'] |
Diese Variable enthält den Pfad zur Log-Datei für die E-Mail-Mail-Nachrichten.
|
|
$path['templates'] |
Diese Variable enthält den Pfad zu den Template-Dateien (HTML und Mail). Der Pfad kann relativ (./templates/ oder templates/) und absolut (z.B.: /usr/local/etc/httpd/.../tell_a_friend/templates/ oder /kunden/homepages/.../.../htdocs/tell_a_friend/templates/) angegeben werden (immer mit Slash am Ende).
|
|
$file['default_html'] |
In dieser Variable ist das Template gespeichert, dass beim Aufruf für das Layout verwendet wird.
|
|
$file['default_mail'] |
Diese Variable enthält den Namen des Mail-Templates, wenn im HTML-Formular kein Mail-Template definiert wurde.
|
|
$add_text |
Sie können weitere Werte, Text, Variablen oder andere Inhalte an dieser Stelle festlegen. Diese Inhalte können Sie dann mit Hilfe von entsprechenden Markierungen in geschweiften Klammern in die Templates übertragen.
Wenn Sie eigene Werte in der Variable $add_text hinzufügen folgen Sie bitte dem Muster, dass durch die beiden Beispieleinträge deutlich gemacht wurde. $add_text = array( 'txt_additional' => 'Additional', 'txt_more' => 'More' );Der erste Teil eines Eintrags (z.B.: txt_additional) stellt den Namen der Platzhalter im Template dar. Wenn Sie also den Wert von txt_additional im Template anzeigen möchten, tragen Sie dort den Namen umschlossen von geschweiften Klammern ein - {txt_additional}. Der Name darf keine Leer- oder Sonderzeichen enthalten. Erlaubt ist nur der Unterstrich. |
|
|
Sollten Sie für die Anpassung WYSIWYG-Editoren wie Dreamweaver, Frontpage oder NetObjects verwenden, achten Sie bitte darauf, dass die Software keine eigenmächtigen Veränderungen vornimmt. Die Funktionsweise des Scripts könnte dadurch beeinträchtigt werden.
Im Unterverzeichnis 'examples' befinden sich weitere HTML-Formulare. Diese sollen für Sie als Beispiele für die Erweiterung und Anpassung Ihres eigenen Formulars dienen. So haben Sie bei Benutzung des Templates 'alternative_form.tpl.html' die Möglichkeit, den Benutzer auswählen zu lassen, ob er die gerade besuchte Seite oder die Startseite empfehlen möchte. Und im Template 'advanced_form.tpl.html' sind Beispiele zur Verwendung von Checkboxen, Radio-Buttons und Auswahlmenüs aufgeführt.
In den Templates befinden sich Markierungen/Platzhalter in geschweiften Klammern, wie zum Beispiel {txt_script_name}. Die werden beim Aufruf des Scripts durch die entsprechenden Wörter ersetzt. Diese Wörter, also den Text für das Script, finden Sie in der Datei 'languages/language.de.inc.php'. Natürlich können Sie diese Wörter auch ändern oder an eine andere Position innerhalb des Templates verschieben. Es spricht auch nichts dagegen, wenn Sie die Markierungen durch richtige Wörter ersetzen. Ebenso können Sie die Sprachdatei nach dem vorgegebenen Muster erweitern.
Folgende Platzhalter sind nicht in der Sprachdatei enthalten und dürfen auch nicht verändert oder in der Sprachdatei durch eigene Definitionen angepasst werden:
{check_referer}
{check_server}
{message}
{redirect}
{referer}
{server}
{link}
Zu jedem Formularfeldnamen im Template existiert automatisch ein gleichnamiger Platzhalter, der sowohl im HTML als auch im Mail-Template verwendet werden kann. Dadurch ist sichergestellt, dass die Daten bei einer Fehlermeldung im Formular wieder erscheinen. Der Platzhalter hat die gleiche Bezeichnung, wie das Formularfeld.
Das Script nutzt drei vordefinierte Formularfelder:
<input type="hidden" name="link" value="{redirect}" />
Dieses Feld erscheint in einem Template auch als Radio-Button.
<input type="text" name="sender_email" value="{sender_email}" />
<input type="text" name="friend_email" value="{friend_email}" />
Sie können das Formular beliebig um weitere Felder erweitern. Bitte achten Sie darauf, dass die Feldnamen und Platzhalter keine Leer- oder Sonderzeichen enthalten.
Alle Formularfelder lassen als Pflichtfelder definieren. Das Formular wird damit erst dann abgeschickt, wenn alle Pflichtfelder ausgefüllt sind. Tragen Sie dazu die Formularfeldnamen der gewünschten Formularfelder in folgendes Hidden-Formularfeld im Template:
<input type="hidden" name="required_fields" value="" />
Beispiel:
<input type="hidden" name="required_fields" value="lastname, sender_email, friend_email" />
Ähnlich wie bei den Pflichtfeldern können Sie bestimmen, welche Felder auf einen korrekten E-Mail-Syntax geprüft werden sollen.
<input type="hidden" name="email_fields" value="" />
Beispiel:
<input type="hidden" name="email_fields" value="sender_email" />
Nachdem das Formular abgeschickt wurde, wird auf eine vordefinierte Seite weitergeleitet. Diese Seite können Sie im folgenden Feld definieren:
<input type="hidden" name="thanks" value="" />
Beispiel:
<input type="hidden" name="redirect" value="http://www.ihr-server.de/danke.html" />
Achten Sie bitte darauf, dass Sie den kompletten URL inklusive http:// und Ihrer Domain (z.B.: http://www.ihre-domain.de/) angeben.
Sie können das Script direkt oder von einem bereits fertigen Formular in einer statischen HTML-Seite aus aufrufen. Im letzteren Fall müssen Sie das HTML-Template in folgendem Feld festlegen:
<input type="hidden" name="html_template" value="" />
Beispiel:
<input type="hidden" name="html_template" value="form.tpl.html" />
Wie auch schon bei den HTML-Templates enthält das Unterverzeichnis 'examples' Beispiel-Templates. Das Template 'html_mail.tpl.txt' wurde als HTML-E-Mail vorkonfiguriert, so dass die E-Mail als HTML-E-Mail verschickt wird. Sie können die E-Mail wie eine normale HTML-Seite formatieren.
Die Mail-Templates definieren Sie auf folgende Weise:
<input type="hidden" name="mail_template" value="" />
Dazu können Sie ein einziges Mail-Template,
<input type="hidden" name="mail_template" value="mail.tpl.txt" />
oder mehrere Mail-Templates definieren. Durch die mehrfachen Mail-Templates können Sie mehrere E-Mails mit verschieden formatierten Inhalten versenden.
<input type="hidden" name="mail_template" value="mail.tpl.txt, mail2.tpl.txt" />
Das Script kann Auswahl-Felder verarbeiten, die wie folgt aufgebaut sind:
<select name="" size=""> <option value=""></option> <option value=""></option> </select>
Allerdings können noch keine Multiple Select-Felder verarbeitet werden.
Wie Sie sicher stellen, wie der vom Benutzer ausgewählte Wert bei einem erneuten Aufruf im Formular ausgewählt bleibt, zeigt das folgende Beispiel:
<select name="Anrede" size="2"> <option value="Herr" {select:Anrede=Herr}></option> <option value="Frau" {select:Anrede=Frau}></option> </select>
Der Platzhalter {select:Anrede=Herr} hat folgende Eigenschaften. An erster Stelle steht die Art des Formularfeldes. In diesem Fall ist es ein Select-Menü (= select). Danach folgt ein Doppelpunkt (:). An zweiter Stelle muss der Name des Formularfeldes erscheinen. Das ist im obigen Beispiel "Anrede". Danach folgt ein Gleichheitszeichen (=). An letzter Stelle muss der Wert des Options-Feldes stehen (also der Wert aus "value=").
Um den ausgewählten Wert im Mail-Template erscheinen zu lassen, tragen Sie bitte im Mail-Template den Namen des Feldes, eingeschlossen durch geschweifte Klammern - { } - ein.
Das Script kann Checkbox-Felder verarbeiten, die wie folgt aufgebaut sind:
<input type="checkbox" name="" value="" />
Wie Sie sicher stellen, wie der vom Benutzer ausgewählte Wert bei einem erneuten Aufruf im Formular ausgewählt bleibt, zeigt das folgende Beispiel:
<input type="Checkbox" name="Newsletter" value="Yes" {checkbox:Newsletter=Yes} />
Der Platzhalter {checkbox:Newsletter=Yes} hat folgende Eigenschaften. An erster Stelle steht die Art des Formularfeldes. In diesem Fall ist es eine Checkbox (= checkbox). Danach folgt ein Doppelpunkt (:). An zweiter Stelle muss der Name des Formularfeldes erscheinen. Das ist im obigen Beispiel "Newsletter". Danach folgt ein Gleichheitszeichen (=). An letzter Stelle muss der Wert des Feldes stehen (also der Wert aus "value=").
Um den ausgewählten Wert im Mail-Template erscheinen zu lassen, tragen Sie bitte im Mail-Template den Namen des Feldes, eingeschlossen durch geschweifte Klammern - { } - ein.
Das Script kann Radio-Button-Felder verarbeiten, die wie folgt aufgebaut sind:
<input type="radio" name="" value="" />
Wie Sie sicher stellen, wie der vom Benutzer ausgewählte Wert bei einem erneuten Aufruf im Formular ausgewählt bleibt, zeigt das folgende Beispiel:
<input type="radio" name="Anrede" value="Herr" {radiobutton:Anrede=Herr} />
Der Platzhalter {radiobutton:Anrede=Herr} hat folgende Eigenschaften. An erster Stelle steht die Art des Formularfeldes. In diesem Fall ist es ein Radio-Button(= radiobutton). Danach folgt ein Doppelpunkt (:). An zweiter Stelle muss der Name des Formularfeldes erscheinen. Das ist im obigen Beispiel "Anrede". Danach folgt ein Gleichheitszeichen (=). An letzter Stelle muss der Wert des Feldes stehen (also der Wert aus "value=").
Um den ausgewählten Wert im Mail-Template erscheinen zu lassen, tragen Sie bitte im Mail-Template den Namen des Feldes, eingeschlossen durch geschweifte Klammern - { } - ein.
Beispiele zu den eben beschriebenen Funktionen finden Sie im Template "advanced_form.tpl.html".
Im oberen Bereich des E-Mail-Templates befinden sich die Daten für den Kopfbereich der E-Mail. Dazu gehören:
Empfänger To: Absender From: Betreff Subject: Kopie CC: Blindkopie BCC:
Sie können den Empfänger der E-Mail im Template festlegen. Der Empfänger ist dabei normalerweise derjenige, der im Formular eingetragen wurde:
To: {friend_email}
Zusätzlich können Sie weitere Empfänger per Kopie und Blind-Kopie hinzufügen:
CC: name@anderer-server.de CC: chef@firma.de BCC: secret@firma.de
Als Absender können Sie eine feste Adresse eingeben oder die Daten aus dem Formular verwenden:
From: {sender_email}
Sie können auch den Namen des Absenders einfügen. Dabei steht der Name vor der E-Mail-Adresse, die sich in spitzen Klammern befindet.
From: {firstname} {lastname} <{email}>
Nach dem Kopfbereich folgt eine Leerzeile. Danach folgt der Inhalt der E-Mail. Sie können hier den Text nach Belieben ändern. Wenn Sie eigene Formularfelder hinzufügen, müssen die Namen der Felder im E-Mail-Template in geschweiften Klammern stehen - {formularfeldname}. Andernfalls werden die Inhalte aus dem Formular nicht in die E-Mail geschrieben.
Sie haben die Möglichkeit, alle Formulardaten gebündelt mit einem Platzhalter in der E-Mail anzuzeigen. Tragen Sie dazu den Platzhalter
{all_content}
in das E-Mail-Template ein.
Die folgenden Umgebungsvariablen stellt das Script zur Verfügung. Um die Variablen in der E-Mail sichtbar zu machen, können folgende Platzhalter benutzt werden.
{env_user_agent} |
Browser-Software des Anwenders (Mozilla, Netscape, Opera, Internet Explorer).
|
|
{env_remote_address} |
IP-Adresse des Anwenders.
|
|
{env_remote_host} |
Hostname des Anwenders.
|
|
{env_year} |
Jahr
|
|
{env_month} |
Monat
|
|
{env_day} |
Tag
|
|
{env_hour} |
Stunde
|
|
{env_minute} |
Minuten
|
|
{env_second}) |
Sekunden
|
Das Verzeichnis 'log' und die Datei logfile.txt muessen das Dateiattribut 777 besitzen (chmod 777) - also schreibbar sein.
Das Tell-A-Friend-Script können Sie kostenlos nutzen. Wenn Sie das Script ohne Hinweis und Link auf Stadtaus.com betreiben möchten, können Sie die Vollversion online erwerben (15 Euro).
Nach dem Kauf erhalten Sie zusätzlich zur Script-Lizenz kostenlose Updates und Upgrades.
Kontakt: http://www.stadtaus.com/
Weitere Scripts auf STADTAUS.com:
Besuchen Sie unser Projekt MetaCollection. Die Seite ist ein Verzeichnis deutscher und internationaler Script-Archive.
Antworten auf Ihre Fragen und Lösungen für Probleme mit dem Script finden Sie in unserem Support-Forum.