Webseite empfehlen

PHP ermöglicht es dem Besucher mit Hilfe der eigenen mail() Funktion mit wenig Aufwand die eigene Webseite Bekannten oder Freunden weiterzuempfehlen

PHP ermöglicht es dem Besucher mit Hilfe der eigenen mail() Funktion mit wenig Aufwand die eigene Webseite Bekannten oder Freunden weiterzuempfehlen

Man sollte die HTML Tags, welche nicht unbedingt mit PHP ausgegeben werden müssen, statisch ausgeben, dies entlastet den PHP Parser. So beginnt die Seite also mit den wahrscheinlich bereits bekannten Tags:

<html><head><title>Website Empfehlung</title></head><body>

Im Beispiel werden die benötigten Variablen gleich deklariert, so dass man später im Script keine manuellen Eingaben mehr tätigen muss. Unter anderem wird die eigene Homepageadresse und auch der zu sendende Text vorher deklariert.

<?php
$adresse="http://www.php-resource.de";
$homepage="php-resource.de";
$text="Die Seite $homepage mit der Adresse $adresse ist Dir von $sender_name empfohlen worden.";

Um den Vorgang besser zu erklären, nehmen wir uns zunächst den unteren Teil des Scriptes vor, der ausgegeben wird, wenn das Formular noch nicht aktiv ist. Wir lassen diesen Teil, den man selbstverständlich auch mit HTML ausgeben kann, absichtlich mit PHP ausgeben. Dieser Teil steht im else Teil der IF Schleife und wird nach dem Auslösen des Formularbuttons nicht mehr angezeigt. Dies vermeidet unter anderem versehentliche Mehrfachsendungen und soll den User auch nicht dazu verleiten, das Script zu missbrauchen. Der Befehl $PHP_SELF bewirkt nichts anderes, als dass das Formular auf die aktuelle Seite ausgelöst wird, vollkommen unabhängig davon, wie sie vom Anwender genannt wurde. Dies hat weiterhin den Vorteil, dass bei später erfolgender Seitenumbenennung keine Änderungen mehr diesbezüglich im Quellcode nötig sind. Wir benötigen also zunächst lediglich 3 einfache INPUT Felder: sender_mail, empfaenger_mail und sender_name.

Wie der Name schon sagt, wird mittels dieser Felder unter anderem die zum Versenden nötige Mail Adresse des Senders ermittelt.

else
{
echo"<form name=formular action='$PHP_SELF' method=post>";
print 'Ihr Name:<br>';
print '<input type=text name=sender_name size=30><br><br>';
print 'Ihre E-Mail Adresse:<br>';
print '<input type=text name=sender_mail size=30 value="@"><br><br>';
print 'E-Mail Adresse des Empfängers:<br>';
print '<input type=text value="@" name=empfaenger_mail size=30><br><br>';
print '<input name="abschicken" type=submit value=Abschicken>';
}

Nun wird der Teil erklärt, der eigentlich für das Versenden der Mail zuständig ist: Wir prüfen zunächst, ob das Formular abgesendet wurde. Aus genau diesem Grunde steht der sendende Teil auch vor der eigentlichen Ausgabe des Formulars, denn ist der Button bereits ausgelöst, so wollen wir das Formular schliesslich nicht noch einmal ausgeben. Dies wird mit isset($abschicken) geprüft. In den meisten Fällen genügt auch lediglich if($abschicken), doch wir nehmen die sichere Variante isset hinzu.

if(isset($abschicken))
{

Als nächstes prüfen wir, ob die Formularfelder überhaupt ausgefüllt wurden. Hierfür verwenden wir den Befehl empty().
if(empty($empfaenger_mail) || empty($sender_mail) || empty($sender_name))
{

Ist kein Inhalt vorhanden, beziehungsweise die Felder nicht ausgefüllt, erscheint eine Fehlermeldung, der User muss seine Eingabe wiederholen. Dies dient vor allem dazu, dass PHP nicht versucht, leere Mails zu senden.
echo "Die Eingabe ist leer oder ungültig";
}

Sind die Felder ausgefüllt, beginnt die mail() Funktion das Senden der Daten an den entprechenden Empfänger. Da die eigentliche Mail Funktion für den User nicht sichbar im Hintergrund abläuft, geben wir ihm als Bestätigung ein "Erfolgreich versendet" aus.
else
{
mail($empfaenger_mail, "Website - Empfehlung: $homepage", $text, "From: $sender_mail");
echo "Vielen Dank, die Daten wurden Erfolgreich versendet.";
}

}
?>

Zum Schluss beenden wir noch die HTML Tags, die statisch erzeugt werden:
</body></html>

Das Script noch einmal im Ganzen:

<html><head><title>Website Empfehlung</title></head><body>
<?php
$adresse
="http://www.php-resource.de";
$homepage="php-resource.de";
$text="Die Seite $homepage mit der Adresse $adresse ist Dir von $sender_name empfohlen worden.";
if(isset(
$abschicken))
{
if(empty(
$empfaenger_mail) || empty($sender_mail) || empty($sender_name))
{
echo 
"Die Eingabe ist leer oder ungültig";
}
else
{
mail($empfaenger_mail"Website - Empfehlung: $homepage"$text"From: $sender_mail");
echo 
"Vielen Dank, die Daten wurden Erfolgreich versendet.";
}
}
else
{
echo
"<form name=formular action='$PHP_SELF' method=post>";
print 
'Ihr Name:<br>';
print 
'<input type=text name=sender_name size=30><br><br>';
print 
'Ihre E-Mail Adresse:<br>';
print 
'<input type=text name=sender_mail size=30 value="@"><br><br>';
print 
'E-Mail Adresse des Empfängers:<br>';
print 
'<input type=text value="@" name=empfaenger_mail size=30><br><br>';
print 
'<input name="abschicken" type=submit value=Abschicken>';
}
?>
</body></html>

Ratings

There are no comments available yet.

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe

Related topics

Datenbankinhalt für Suchmaschinen aufbereiten

Sie haben eine Datenbankanwendung geschrieben und keiner weiß, welche Daten bei Ihnen zu finden sind. Suchmaschinen gehen natürlich nicht so weit, daß sie Abfragen an die Datenbank senden. Somit bleibt der Inhalt Ihrer Tabelle für Suchmaschinen unsichtbar ...

Wolfgang13

Autor : Wolfgang13
Category: SEO Tutorials

Installation von MySQL auf Linux

SuSE Linux Pro 8.2 mit mysql einfach installieren ...

Moqui

Autor : Moqui
Category: Linux & Server Tutorials

Basics of views in MySQL

Views in a MySQL database offer the option of creating a virtual table based on the result of an SQL query. This virtual table can be queried like a normal table without changing the underlying data. ...

admin

Autor : admin
Category: mySQL-Tutorials

PHP-Scripte offline testen unter Windows

Wenn Sie sich schon mit der Erstellung von dynamischen Websiten beschäftigt haben, wissen Sie vielleicht wie umständlich es ist, die Scripte immer auf den Server Ihres Hosters zu laden um diese testen zu können. ...

webmaster116@

Autor : webmaster116@
Category: Linux & Server Tutorials

abhängige Listen

In einem Formular sollen neben mehreren anderen Eingabefeldern auch zwei Listen (Select-Felder) zum Einsatz kommen. Dabei soll der Inhalt der zweiten Liste vom gewählten Wert der ersten Liste abhängig verändert werden. ...

Patrick_PQ

Autor : Patrick_PQ
Category: mySQL-Tutorials

Eines Warenkorbsystem für Anfänger

Ein kurzes Tutorial für Anfänger um ein einfaches aber funktionelles Warenkorbsystem zu erstellen. Freue mich über Rückmeldungen und Kritik - denn nur so verbessert man sich :) ...

web3hoster

Autor : web3hoster
Category: PHP-Tutorials

Login mit Hilfe von PHP und mySQL

Dieses Tutorial soll die Grundzüge eines Login-Systems auf der Basis von PHP und mySQL unter Zuhilfenahme von Sessions klären. ...

razorblade

Autor : razorblade
Category: PHP-Tutorials

plotting masters - a professional guide - Teil I

Grafische Interpolation und Bestapproximation von numerischen Wertepaaren: Wir wollen Punkte auf einer Zeichenebene über verschiedene Verfahren miteinander verbinden. ...

EVAMasters

Autor : EVAMasters
Category: PHP-Tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial