Start unseres Partnerprogrammes: Hier habt Ihr die Möglichkeit 3 Bilder, Text und zwei weitere Verwise auf Euere Webseite zu platzieren. Mehr Informationen findest Du unter: Klick hier ! Einfach eine Mail an: info@sind-sie-bereit.de schicken.
Schau doch mal rein!

Pagerankanzeige ohne Googletoolbar TM

Navigation

Paidmails

Geldverdienen

Service

Formel 1 Info

PHP Schrit für Schrit für jederman - Was sind Variablen !

 

Eine der wichtigsten Funktionen in PHP, die man beherrschen muss, ist die Variablen-Übergabe von Dokument zu Dokument und von Script zu Script. Ein besonders gutes Beispiel für diesen Vorgang ist ein sogenannter Formmailer, welcher die Daten aus einem HTML- Formular ausliest , sie verarbeitet und nachher per E-Mail an einen definierten Empfänger verschickt.

Die Grundaufgaben: Das Script soll die Daten aus einem HTML-Formular auslesen, einigermassen ansehnlich formatieren und dann per E-Mail verschicken. Dabei ist es wichtig, dass man das Formular-Design unabhängig vom Script-Design verändern kann, also dass das Script alle Variablen verarbeitet, ohne dass vorher definiert werden muss, wie das geschieht. Dabei werden Script und Formular auf zwei verschiedene Dateien verteilt. Die Script-Datei heisst formmailer.php.

In diesem Beispiel wäre es im Prinzip möglich , zuerst das Script zu schreiben und erst nachher sämtliche Formulare zu gestalten. Weil dies bei umfangreicheren Scripten aber etwas mühsam wäre, wird zuerst das Formular in HTML erstellt.

01 02 03 04 05 06 07 08 09
10
11
12
13
<html>
<body>
<form method="post" action="formmailer.php">
Name:<br>
<input type="text" name="name"><br>
E-Mail:<br />
<input type="text" name="email"><br>
Nachricht:<br>
<textarea name="nachricht" cols="40" rows="7"></textarea><br>
<input type="submit" name="senden" value="Senden">
</form>
</body>
</html>

So wird das Beispiel-Formular aussehen. Die Action, also das Zielscript, an welches die Variablen übergeben werden sollen, fehlt noch und wird später definiert .

Wichtig ist allerdings, dass jedem Eingabe-Feld ein beliebiger, aber eindeutiger Name mittels des Attributes name="feldname" zugeordnet wird. Als nächstes wird das eigentliche Script erstellt.

01 02 03 04 05 06 07
08
09
10
<?php
$admin = "irgeneine-mailadresse@mail.de";
$subject = "PHP-Mail";
$message = "Nachricht fuer $admin von $email:\n\n";
while(list($name,$value)=each($HTTP_POST_VARS))
{
$message.="$name: $value\n\n";
}
mail($admin,$subject,$message,"From: $email");
?>

Um die Funktion des Scripts einigermassen zu verstehen, ist eine gewisse Kenntnis des Befehls mail(); notwendig, welcher Variablen in E-Mails konvertiert und verschickt. Die erste in der Klammer genannte Variable definiert die E-Mailadresse, an welche alles gesendet werden soll, in disem Beispiel also $admin. Als Betreff wird die zweite Variable ($subject) und als eigentlichen Inhalt die dritte Variable ($message) verwendet. Nach der vierten Stelle werden Sonderparameter in den Mail-Header geschrieben, in diesem Fall wird die Variable $email als Absenderadresse verwendet, wobei man auch CC (Carbon Copy) und BCC (Blind Carbon Copy) angeben kann.

Nun ist das Grundgerüst des Scripts komplett, allerdings werden die aus dem HTML-Dokument ausgelesenen Daten noch nicht verarbeitet. Dies erledigt die while-Schleife in den Zeilen 5-8. Sie führt so lange die Zeile 7 aus, bis sämtliche Variablen verarbeitet und nach dem Muster Variablen-Name: Inhalt in die Variable
$message geschrieben wurden. Damit nicht alle Angaben in eine Linie geschrieben werden, muss manuell ein Zeilenumbruch (\n) hinzugefügt werden.

Allerdings stellt sich dabei ein Problem: Die Variable $message wird bei mehrfachem Aufruf vom Parser immer wieder überschrieben. Dies würde bedeuten, dass nur die letzte Ausgabe der while-Schleife in die E-Mail hineingeschrieben würde. Damit das nicht passiert, ist es wichtig, nach der Variable einen Punkt zu setzen, so wie das in Zeile 8 geschehen ist. Dies sorgt dafür, dass die Variable $message erweitert und nicht
überschrieben wird.

Nun braucht man das Script nur noch zusammensetzen, wobei das Formular in ein HTML-Dokument mit
einem beliebigen Namen eingefügt wird, beispielsweise kontakt.html, und das Script unter dem Namen
formmailer.php abgespeichert wird. Falls das Formular nicht den eigenen Anforderungen entspricht, kann
es bedenkenlos geändert werden, da es sämtliche Eingaben unabhängig vom Formular verarbeitet und
korrekt versendet.

Die kompletten Dateien:

kontakt.html

<html>
<head>
<title> PHP Formmailer </title>
</head>

<body >

<form method="post" action="formmailer.php">
Name:<br>
<input type="text" name="name"><br>
E-Mail:<br />
<input type="text" name="email"><br>
Nachricht:<br>
<textarea name="nachricht" cols="40" rows="7"></textarea><br>
<input type="submit" name="senden" value="Senden">
</form>

</body>
</html>

formmailer.php

<?php
$admin = "irgeneine-mailadresse@mail.de";
$subject = "PHP-Mail";
$message = "Nachricht fuer $admin von $email:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}

mail($admin,$subject,$message,"From: $email");

?>

 

Kleiner Hinweis: Wir bieten auch ein Pagrenkservice an. <<Keine Angst anmelden kostet NIX!>>


RANKING CHARTS 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20
Pagerank dieser Seite:
::: www.sind-sie-bereit.de ::: Pagerank Anzeige ohne Toolbar