Thursday, July 29th 2010, 1:34pm UTC+2

You are not logged in.

  • Login
  • Register

undefined

Super Moderator

Posts: 4,248

Location: Germany

1

Friday, April 18th 2003, 1:05am

Mail Funktion mit Klassen Datei

1)
Dieses Tutorial soll euch helfen mit Hilfe einer Objektorientierten Klasse eine Umfangreiche Mail Funktion zu erreichen.
Seit PHP4 ist es möglich wie bei C++ mit Objektorientierten Klassen zu arbeiten. Natürlich nicht in dem Umfang wie in C++,
aber es erleichtert die Arbeit eines Website Programmierers doch enorm. Der Weg zur objektorientierten Programmierung in PHP
führt über das Schlüsselwort class. Du erzeugst damit eine Klasse, aus der später Instanzen abgeleitet werden.
In unserem Script währe also die Klassen Definition. class Mail
Aber nun zu Unserem Scripteinbau in einer *.php Datei. In dem Dokument Erstellen wir zuerst unsere Seite mit dem Formular.

Wichtig: Um Variablen an PHP übergeben zu können muß das Form Tag auf Post stehen!

2)
Das HTML-Script:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>LibMail Tutorial Testseite</title>
</head>
<body text="#000000" link="#0000FF" vlink="#000080">
<form action='<?php echo"/forumv2/phpmail.php?";?>' method='post' name='mailpost' id='mailpost'>
<table border='0' cellspacing='5' cellpadding='3' align='center'>
<tr>
<td colspan='2' style='font-size: 12px;'>
Name: <input type='text' name='username' size='50' maxlength='45'>
</td>
</tr>
<tr>
<td colspan='2'>
<textarea cols='60' rows='6' name='nachricht' wrap='soft'></textarea>
</td>
</tr>
<tr>
<td colspan='2' style='font-size: 12px;'>E-Mail Adresse:
<input type='text' name='usermail' size='50' maxlength='45'></td>
</tr>
<tr>
<td>Angabe der Prioritätstufe deiner E-Mail.
<select name='prio'>
<option value='1' SELECTED>1 (Höchste Stufe)</option>
<option value='2'>2 (Hoche Stufe)</option>
<option value='3'>3 (Normale Stufe)</option>
<option value='4'>4 (Weniger)</option>
<option value='5'>5 (Schwächste)</option>
</select>
</td>
</tr>
<tr>
<td align='left'>
<input type='reset' value='Zurücksetzen'>
<input type='hidden' name='datum' value='<?php echo date("d M Y");?>'>
</td>
<td align='right'>
<input type='submit' name='mailpost' value='Absenden'>
</td>
</tr>
</table>
</form>

Das Ganze sieht dann in etwa so aus

3)
Jetzt die PHP anweisung für unser Mailformular das immer mit <?php anfängt und mit ?> endet.
Mit einer IF Anweisung öffnen wir die Scripteinbindung um Fehlermeldungen und Doppelpostdings zu vermeiden.
Das ausrufezeichen vor dem empty kehrt die Anweisung um. Zuerst binden wir mit Include die Objektklassendatei ein.
Um eine Klasse in einem Standart PHP Script aufrufen zu können muß eine Instanz der Klasse erzeugt werden.
In unserem Falle sieht dies so aus. new Mail; Des weiteren sind die Zusätzlichen Variablen aus Dokumentiert.
Ihr könnt je nach bedarf nicht benötigte Variablen ausblenden. Experimentiert hier ruhig etwas herum.
Jedoch an der Objektklassendatei solltet ihr euch nur vergreifen, wenn ihr euch damit auskennt.
Das PHP-Script:

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if (!empty($mailpost)) {
include "./libmail.php";
$m= new Mail// Erstelle Instanze
$m->From$usermail ); // E-Mail Adresse des Users
$m->To"$usermail" ); // Nachricht an
$m->Subject"Es gibte eine Neue Nachricht" ); // Betreff
// Vorgefertigte Nachricht mit Einbindung der Geschriebenen Nachricht
$message"Hallo Webmaster! Meine Name ist $username Und das Tutorial von Flashbattle.de funktioniert $nachricht Geschrieben am $datum";
$m->Body$message);// Geschriebene Nachricht in den Mail Body setzen!
$m->Cc"$usermail"); // Kopie an
$m->Bcc"$usermail"); // Zweite Kopie an
$m->Priority($prio);// Prioritätsstufe
$m->Send();// send the mail
echo "Deine Nachricht wurde Gepostet:<br><pre>",$m->Get(),"</pre>";
} else {
echo "Hier erscheint beim Absenden die Bestätigung deiner Mail!<br>Nicht verwundern wenn ihr 2 Postings erhaltet. Um meine Mailbox zu Schonen gehen alle Nachrichten an euch ;)";
}
?>
</body>
</html>


Ergebniss anschauen
undefined has attached the following file:
  • libmailtut.zip (4.78 kB - 63 times downloaded - Last download: Dec 6th 2009, 11:00am)
Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
PHP Katepart - Speichenrechner - .htpasswd - RPM XDG Tool - Kcmnvview - QTidy
  • Go to the top of the page