Geschrieben von waterloo am 27.12.2004, 14:51

Ich habe mal ein einfaches PHP Message-Center unter Verwendung einer MySQL Datenbank programmiert. Ihr könnt es euch unter folgender Adresse anschauen und testen:
http://waterloo.xardas.lima-city.de/phpmessagecenter/msgcenter.php

Vorraussetzung, die dieses Script benötigt:

- Webserver mit PHP Unterstützung
- eine MySQL Datenbank
- eine Tabelle mit einer Spalte namens user und einer Spalte namens ID (dazu später mehr)

(funktioniert auf Lima-City)

<b>1. Datenbank einrichten</b>

Als erstes müssen wir 3 Tabellen anlegen, die dieses Script benötigt. Dazu kopiert einfach folgende SQL-Befehle in das Import-Fenster von phpMyAdmin und führt es aus:

<hr>

#
# Tabellenstruktur für Tabelle `msgs`
#

CREATE TABLE `msgs` (
`ID` int(10) NOT NULL auto_increment,
`an_id` int(10) NOT NULL default '0',
`von_id` int(10) NOT NULL default '0',
`betreff` varchar(255) NOT NULL default '',
`nachricht` text NOT NULL,
`datum` varchar(255) NOT NULL default '',
`zeit` varchar(255) NOT NULL default '',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=10 ;

#
# Tabellenstruktur für Tabelle `newmsg`
#

CREATE TABLE `newmsg` (
`ID` int(10) NOT NULL auto_increment,
`von_id` int(10) NOT NULL default '0',
`an_id` int(10) NOT NULL default '0',
`betreff` varchar(255) NOT NULL default '',
`nachricht` text NOT NULL,
`datum` varchar(255) NOT NULL default '',
`zeit` varchar(255) NOT NULL default '',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;

#
# Tabellenstruktur für Tabelle `outmsg`
#

CREATE TABLE `outmsg` (
`ID` int(10) NOT NULL auto_increment,
`von_id` int(10) NOT NULL default '0',
`an_id` int(10) NOT NULL default '0',
`betreff` varchar(255) NOT NULL default '',
`nachricht` text NOT NULL,
`datum` varchar(255) NOT NULL default '',
`zeit` varchar(255) NOT NULL default '',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;

<hr>

Da hätten wir eine Tabelle msgs, in der alle eingehenden Messages gespeichert werden, welche aber schon gelesen wurden. Ebenso eine newmsg, in der alle neu eingehenden Messages gespeichert werden und natürlich eine outmsg, in der alle ausgehenden Messages gespeichert werden.

Das Script wurde für einen internen User-Bereich programmiert, d.h. es setzt eine Tabelle, mit dem Namen user, voraus, welche folgende Spalten haben muss:

1. Spalte: ID (fortlaufende Nummer der user)
2. Spalte: username (Name der user)

Solltet ihr Fragen hierzu haben, stehe ich euch gerne zur Verfügung.

<b>2. Konfiguration</b>

Hier haben wir eine Konfigurationsdatei, welche später im Steuer-Script mit eingebunden wird:

(Dateiname: config.inc.php)
<hr>
<?

# Konfigurations-Datei

# Datenbank-Einstellungen
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "password";
$dbname = "dbname";

# Allgemeine Einstellungen

$pfad_zu_img = "img/";
$breite_der_tabelle = "500";
$userid = $_SESSION["userid"] # ID des angemeldeten Benutzers

?>
<hr>

Wie ihr sehen könnt, werden in dieser Datei Einstellungen für die Datenbank vorgenommen, wie auch allgemeine Einstellungen.

<b>3. Module</b>

Nun folgen alle Module, welche für das Erstellen, Anzeigen und Löschen der Messages verantwortlich sind. Auch diese Dateien werden später in die Steuer-Datei mit eingebunden.

(Dateiname: makenewmessage.inc.php)
<hr>
<?

function makenewmessage() {

include("includes/config.inc.php");

global $PHP_SELF;

# Neue Nachricht erstellen

echo "<form ACTION=\"$PHP_SELF?action=savenewmessage\" METHOD=\"POST\">";
echo "<table border=0 cellpadding=3 cellspacing=0 width=300>";
echo "<tr>";
echo "<td><b>An:</b></td>";
echo "<td width=100%><select name=\"ziel[]\">";

include("includes/mysql.inc.php");

$query = "SELECT * FROM user order by username";
if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}

while ($zeile = mysql_fetch_object ($ergebnis)) {
echo "<option value=\"". $zeile->ID ."\">". $zeile->username ."</option>";
}

mysql_close ($verbindung);

echo "</select></td>";
echo "</tr>";
echo "<tr>";
echo "<td><b>Betreff:</b></td>";
echo "<td width=100%><input type=\"Text\" name=\"betreff\" size=\"40\" maxlength=\"255\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td valign=\"top\"><b>Nachricht:</b></td>";
echo "<td width=100%><textarea name=\"nachricht\" cols=\"30\" rows=\"5\"></textarea></td>";
echo "</tr>";
echo "<tr>";

echo "<td>&nbsp;</td>";

echo "</tr>";

echo "<tr>";
echo "<td colspan=2>";
echo "<img src=\"". $pfad_zu_img ."smilies/tongue.gif\" onClick=\"document.forms[0].nachricht.value+=':P ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/wink2.gif\" onClick=\"document.forms[0].nachricht.value+=';) ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/redface.gif\" onClick=\"document.forms[0].nachricht.value+=':redface: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/frown.gif\" onClick=\"document.forms[0].nachricht.value+=':( ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/smile.gif\" onClick=\"document.forms[0].nachricht.value+=':) ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/biglaugh.gif\" onClick=\"document.forms[0].nachricht.value+=':D ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/lol.gif\" onClick=\"document.forms[0].nachricht.value+=':lol: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/confused.gif\" onClick=\"document.forms[0].nachricht.value+=':confused: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/eek.gif\" onClick=\"document.forms[0].nachricht.value+=':o ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/mad.gif\" onClick=\"document.forms[0].nachricht.value+=':angry: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/rolleyes.gif\" onClick=\"document.forms[0].nachricht.value+=':rolleyes: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/cool.gif\" onClick=\"document.forms[0].nachricht.value+=':cool: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/drunk.gif\" onClick=\"document.forms[0].nachricht.value+=':drunk: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/heilig.gif\" onClick=\"document.forms[0].nachricht.value+=':heilig: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/lurk.gif\" onClick=\"document.forms[0].nachricht.value+=':popcorn: ';\"><br>
<img src=\"". $pfad_zu_img ."smilies/mgwhore.gif\" onClick=\"document.forms[0].nachricht.value+=':mgwhore: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/circle.gif\" onClick=\"document.forms[0].nachricht.value+=':circle: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/rand.gif\" onClick=\"document.forms[0].nachricht.value+=':rand: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/read.gif\" onClick=\"document.forms[0].nachricht.value+=':read: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/argue.gif\" onClick=\"document.forms[0].nachricht.value+=':argue: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/red.gif\" onClick=\"document.forms[0].nachricht.value+=':jump: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/scatter.gif\" onClick=\"document.forms[0].nachricht.value+=':beam: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/shockwhore.gif\" onClick=\"document.forms[0].nachricht.value+=':shockwhore: ';\"><br><img src=\"". $pfad_zu_img ."smilies/flipa.gif\" onClick=\"document.forms[0].nachricht.value+=':flipa: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/sleep.gif\" onClick=\"document.forms[0].nachricht.value+=':sleep: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/smash.gif\" onClick=\"document.forms[0].nachricht.value+=':smash: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/smlove2.gif\" onClick=\"document.forms[0].nachricht.value+=':love: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/spanka.gif\" onClick=\"document.forms[0].nachricht.value+=':sado: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/wave.gif\" onClick=\"document.forms[0].nachricht.value+=':wink: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/wink.gif\" onClick=\"document.forms[0].nachricht.value+=':zwink: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/biggrinking.gif\" onClick=\"document.forms[0].nachricht.value+=':king: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/couto.gif\" onClick=\"document.forms[0].nachricht.value+=':couto: ';\"><br><img src=\"". $pfad_zu_img ."smilies/birthday.gif\" onClick=\"document.forms[0].nachricht.value+=':birthday: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/camper.gif\" onClick=\"document.forms[0].nachricht.value+=':sniper: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/crying.gif\" onClick=\"document.forms[0].nachricht.value+=':crying: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/angryfire.gif\" onClick=\"document.forms[0].nachricht.value+=':angryfire: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/division.gif\" onClick=\"document.forms[0].nachricht.value+=':division: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/grenade.gif\" onClick=\"document.forms[0].nachricht.value+=':granate: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/jester.gif\" onClick=\"document.forms[0].nachricht.value+=':joker: ';\"><br><img src=\"". $pfad_zu_img ."smilies/leapfroga.gif\" onClick=\"document.forms[0].nachricht.value+=':leapfroga: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/lickout.gif\" onClick=\"document.forms[0].nachricht.value+=':lickout: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/2ar15smilie.gif\" onClick=\"document.forms[0].nachricht.value+=':surround: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/angel2.gif\" onClick=\"document.forms[0].nachricht.value+=':engel: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/beerchug.gif\" onClick=\"document.forms[0].nachricht.value+=':prost: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/kerstsmiley.gif\" onClick=\"document.forms[0].nachricht.value+=':santa: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/outtahere.gif\" onClick=\"document.forms[0].nachricht.value+=':run: ';\"><br><img src=\"". $pfad_zu_img ."smilies/phillekke.gif\" onClick=\"document.forms[0].nachricht.value+=':bitch: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/rasta.gif\" onClick=\"document.forms[0].nachricht.value+=':smoke: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/repuke.gif\" onClick=\"document.forms[0].nachricht.value+=':kotz: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/rollsmile.gif\" onClick=\"document.forms[0].nachricht.value+=':roll: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/smileysex5.gif\" onClick=\"document.forms[0].nachricht.value+=':sex: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/spook.gif\" onClick=\"document.forms[0].nachricht.value+=':geist: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/teufel.gif\" onClick=\"document.forms[0].nachricht.value+=':teufel: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/wzbigcry.gif\" onClick=\"document.forms[0].nachricht.value+=':heul: ';\"><br><img src=\"". $pfad_zu_img ."smilies/icon_rauchen.gif\" onClick=\"document.forms[0].nachricht.value+=':rauchen: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/kiff.gif\" onClick=\"document.forms[0].nachricht.value+=':kiff: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/mecry.gif\" onClick=\"document.forms[0].nachricht.value+=':mecry: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/motz.gif\" onClick=\"document.forms[0].nachricht.value+=':motz: ';\">$nbsp;<img src=\"". $pfad_zu_img ."smilies/rofl.gif\" onClick=\"document.forms[0].nachricht.value+=':rofl: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/top.gif\" onClick=\"document.forms[0].nachricht.value+=':top: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/comeandgetsome.gif\" onClick=\"document.forms[0].nachricht.value+=':comeandgetsome: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/crazy.gif\" onClick=\"document.forms[0].nachricht.value+=':crazy: ';\">&nbsp;<img src=\"". $pfad_zu_img ."smilies/finger.gif\" onClick=\"document.forms[0].nachricht.value+=':finger: ';\">";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=2><input type=\"Checkbox\" name=\"outsave\" value=\"ja\"> Speichere diese Nachricht im Ausgangsordner</td>";
echo "</tr>";
echo "<tr>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=2><input type=\"Submit\" name=\"submit\" value=\"abschicken\"><input type=\"reset\" value=\"löschen\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=2><a href=\"$PHP_SELF?action=shownewmsg\"><< zurück</a></td>";
echo "</tr>";
echo "</table>";
echo "</form>";

}

?>
<hr>

Ich habe in dieser Datei Smilies verwendet, können aber genauso auch weggelassen werden.

(Dateiname: savenewmessage.inc.php)
<hr>
<?

function savenewmessage($ziel,$betreff,$nachricht,$outsave) {

global $PHP_SELF;

include("includes/config.inc.php");

foreach($ziel as $an)

$komm=ereg_replace(chr(10),"<br>",$nachricht);

# Smiley Abfrage START

$komm = ereg_replace(":P","<img src=\"". $pfad_zu_img ."smilies/tongue.gif\">", $komm);
$komm = ereg_replace(";)","<img src=\"". $pfad_zu_img ."smilies/wink2.gif\">", $komm);
$komm = ereg_replace(":redface:","<img src=\"". $pfad_zu_img ."smilies/redface.gif\">", $komm);
$komm = ereg_replace(":\(","<img src=\"". $pfad_zu_img ."smilies/frown.gif\">", $komm);
$komm = ereg_replace(":)","<img src=\"". $pfad_zu_img ."smilies/smile.gif\">", $komm);
$komm = ereg_replace(":D","<img src=\"". $pfad_zu_img ."smilies/biglaugh.gif\">", $komm);
$komm = ereg_replace(":lol:","<img src=\"". $pfad_zu_img ."smilies/lol.gif\">", $komm);
$komm = ereg_replace(":confused:","<img src=\"". $pfad_zu_img ."smilies/confused.gif\">", $komm);
$komm = ereg_replace(":o","<img src=\"". $pfad_zu_img ."smilies/eek.gif\">", $komm);
$komm = ereg_replace(":angry:","<img src=\"". $pfad_zu_img ."smilies/mad.gif\">", $komm);
$komm = ereg_replace(":rolleyes:","<img src=\"". $pfad_zu_img ."smilies/rolleyes.gif\">", $komm);
$komm = ereg_replace(":cool:","<img src=\"". $pfad_zu_img ."smilies/cool.gif\">", $komm);
$komm = ereg_replace(":drunk:","<img src=\"". $pfad_zu_img ."smilies/drunk.gif\">", $komm);
$komm = ereg_replace(":heilig:","<img src=\"". $pfad_zu_img ."smilies/heilig.gif\">", $komm);
$komm = ereg_replace(":popcorn:","<img src=\"". $pfad_zu_img ."smilies/lurk.gif\">", $komm);
$komm = ereg_replace(":mgwhore:","<img src=\"". $pfad_zu_img ."smilies/mgwhore.gif\">", $komm);
$komm = ereg_replace(":circle:","<img src=\"". $pfad_zu_img ."smilies/circle.gif\">", $komm);
$komm = ereg_replace(":rand:","<img src=\"". $pfad_zu_img ."smilies/rand.gif\">", $komm);
$komm = ereg_replace(":read:","<img src=\"". $pfad_zu_img ."smilies/read.gif\">", $komm);
$komm = ereg_replace(":argue:","<img src=\"". $pfad_zu_img ."smilies/argue.gif\">", $komm);
$komm = ereg_replace(":jump:","<img src=\"". $pfad_zu_img ."smilies/red.gif\">", $komm);
$komm = ereg_replace(":beam:","<img src=\"". $pfad_zu_img ."smilies/scatter.gif\">", $komm);
$komm = ereg_replace(":shockwhore:","<img src=\"". $pfad_zu_img ."smilies/shockwhore.gif\">", $komm);
$komm = ereg_replace(":flipa:","<img src=\"". $pfad_zu_img ."smilies/flipa.gif\">", $komm);
$komm = ereg_replace(":sleep:","<img src=\"". $pfad_zu_img ."smilies/sleep.gif\">", $komm);
$komm = ereg_replace(":smash:","<img src=\"". $pfad_zu_img ."smilies/smash.gif\">", $komm);
$komm = ereg_replace(":love:","<img src=\"". $pfad_zu_img ."smilies/smlove2.gif\">", $komm);
$komm = ereg_replace(":sado:","<img src=\"". $pfad_zu_img ."smilies/spanka.gif\">", $komm);
$komm = ereg_replace(":wink:","<img src=\"". $pfad_zu_img ."smilies/wave.gif\">", $komm);
$komm = ereg_replace(":zwink:","<img src=\"". $pfad_zu_img ."smilies/wink.gif\">", $komm);
$komm = ereg_replace(":king:","<img src=\"". $pfad_zu_img ."smilies/biggrinking.gif\">", $komm);
$komm = ereg_replace(":couto:","<img src=\"". $pfad_zu_img ."smilies/couto.gif\">", $komm);
$komm = ereg_replace(":birthday:","<img src=\"". $pfad_zu_img ."smilies/birthday.gif\">", $komm);
$komm = ereg_replace(":sniper:","<img src=\"". $pfad_zu_img ."smilies/camper.gif\">", $komm);
$komm = ereg_replace(":crying:","<img src=\"". $pfad_zu_img ."smilies/crying.gif\">", $komm);
$komm = ereg_replace(":angryfire:","<img src=\"". $pfad_zu_img ."smilies/angryfire.gif\">", $komm);
$komm = ereg_replace(":division:","<img src=\"". $pfad_zu_img ."smilies/division.gif\">", $komm);
$komm = ereg_replace(":granate:","<img src=\"". $pfad_zu_img ."smilies/grenade.gif\">", $komm);
$komm = ereg_replace(":joker:","<img src=\"". $pfad_zu_img ."smilies/jester.gif\">", $komm);
$komm = ereg_replace(":leapfroga:","<img src=\"". $pfad_zu_img ."smilies/leapfroga.gif\">", $komm);
$komm = ereg_replace(":lickout:","<img src=\"". $pfad_zu_img ."smilies/lickout.gif\">", $komm);
$komm = ereg_replace(":surround:","<img src=\"". $pfad_zu_img ."smilies/2ar15smilie.gif\">", $komm);
$komm = ereg_replace(":engel:","<img src=\"". $pfad_zu_img ."smilies/angel2.gif\">", $komm);
$komm = ereg_replace(":prost:","<img src=\"". $pfad_zu_img ."smilies/beerchug.gif\">", $komm);
$komm = ereg_replace(":santa:","<img src=\"". $pfad_zu_img ."smilies/kerstsmiley.gif\">", $komm);
$komm = ereg_replace(":run:","<img src=\"". $pfad_zu_img ."smilies/outtahere.gif\">", $komm);
$komm = ereg_replace(":bitch:","<img src=\"". $pfad_zu_img ."smilies/phillekke.gif\">", $komm);
$komm = ereg_replace(":smoke:","<img src=\"". $pfad_zu_img ."smilies/rasta.gif\">", $komm);
$komm = ereg_replace(":kotz:","<img src=\"". $pfad_zu_img ."smilies/repuke.gif\">", $komm);
$komm = ereg_replace(":roll:","<img src=\"". $pfad_zu_img ."smilies/rollsmile.gif\">", $komm);
$komm = ereg_replace(":sex:","<img src=\"". $pfad_zu_img ."smilies/smileysex5.gif\">", $komm);
$komm = ereg_replace(":geist:","<img src=\"". $pfad_zu_img ."smilies/spook.gif\">", $komm);
$komm = ereg_replace(":teufel:","<img src=\"". $pfad_zu_img ."smilies/teufel.gif\">", $komm);
$komm = ereg_replace(":heul:","<img src=\"". $pfad_zu_img ."smilies/wzbigcry.gif\">", $komm);
$komm = ereg_replace(":rauchen:","<img src=\"". $pfad_zu_img ."smilies/icon_rauchen.gif\">", $komm);
$komm = ereg_replace(":kiff:","<img src=\"". $pfad_zu_img ."smilies/kiff.gif\">", $komm);
$komm = ereg_replace(":mecry:","<img src=\"". $pfad_zu_img ."smilies/mecry.gif\">", $komm);
$komm = ereg_replace(":motz:","<img src=\"". $pfad_zu_img ."smilies/motz.gif\">", $komm);
$komm = ereg_replace(":top:","<img src=\"". $pfad_zu_img ."smilies/top.gif\">", $komm);
$komm = ereg_replace(":rofl:","<img src=\"". $pfad_zu_img ."smilies/rofl.gif\">", $komm);
$komm = ereg_replace(":comeandgetsome:","<img src=\"". $pfad_zu_img ."smilies/comeandgetsome.gif\">", $komm);
$komm = ereg_replace(":crazy:","<img src=\"". $pfad_zu_img ."smilies/crazy.gif\">", $komm);
$komm = ereg_replace(":finger:","<img src=\"". $pfad_zu_img ."smilies/finger.gif\">", $komm);

# Smiley Abfrage ENDE

$komm = ereg_replace("'","", $komm);

$datum = date("j.n.Y");
$zeit = date("A h:i");

include("includes/mysql.inc.php");

$query = "INSERT INTO newmsg (von_id, an_id, betreff, nachricht, datum, zeit) VALUES ('$userid', '$an', '$betreff', '$komm','$datum', '$zeit')";
if (!mysql_query($query,$verbindung)) {
echo("Die Daten konnten nicht gespeichert werden!<p>");
exit();
}

if ($outsave == "ja") {

$query = "INSERT INTO outmsg (von_id, an_id, betreff, nachricht, datum, zeit) VALUES ('$userid', '$an', '$betreff', '$komm','$datum', '$zeit')";
if (!mysql_query($query,$verbindung)) {
echo("Die Daten konnten nicht gespeichert werden!<p>");
exit();
}

}

echo "Die Nachricht wurde erfolgreich versendet";
echo "<br>&nbsp;<br>";
echo "<a href=\"$PHP_SELF?action=startmsgc\"><< zurück</a>";

}

?>
<hr>

Wenn die Smilies in dem Formular weggelassen wurde, kann deren Abfrage in der obigen Datei auch weggelassen werden.

(Dateiname: mysql.inc.php)
<hr>
<?

if (!($verbindung = mysql_pconnect ('$dbhost', '$dbuser', '$dbpass'))) {
echo("Der Verbindungsversuch zur Datenbank ist fehlgeschlagen!<p>");
exit();
}

if (!mysql_select_db ('$dbname', $verbindung)) {
echo("Die Datenbank konnte nicht ausgew&auml;hlt werden!<p>");
exit();
}

?>
<hr>

Die obige Datei ist für den Verbindungsaufbau zur MySQL-Datenbank verantwortlich.

(Dateiname: showmessage.inc.php)
<hr>
<?

function showmessage($new,$id,$folder) {

global $PHP_SELF;

include("includes/config.inc.php");
include("includes/mysql.inc.php");

if ($new == "true") {
$query = "SELECT * FROM newmsg WHERE ID = '". $id ."'";
if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}
while ($zeile = mysql_fetch_object ($ergebnis)) {
$von_id = $zeile->von_id;
$an_id = $zeile->an_id;
$betreff = $zeile->betreff;
$nachricht = $zeile->nachricht;
$datum = $zeile->datum;
$zeit = $zeile->zeit;
}
$query = "DELETE FROM newmsg WHERE ID = '". $id ."'";
if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}
$query = "INSERT INTO msgs (von_id, an_id, betreff, nachricht, datum, zeit) VALUES ('$von_id', '$an_id', '$betreff', '$nachricht','$datum', '$zeit')";
if (!mysql_query($query,$verbindung)) {
echo("Die Daten konnten nicht gespeichert werden!<p>");
exit();
}
} else if ($folder == "in") {
$query = "SELECT * FROM msgs WHERE ID = '". $id ."'";
if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}
while ($zeile = mysql_fetch_object ($ergebnis)) {
$von_id = $zeile->von_id;
$an_id = $zeile->an_id;
$betreff = $zeile->betreff;
$nachricht = $zeile->nachricht;
$datum = $zeile->datum;
$zeit = $zeile->zeit;
}
} else if ($folder == "out") {
$query = "SELECT * FROM outmsg WHERE ID = '". $id ."'";
if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}
while ($zeile = mysql_fetch_object ($ergebnis)) {
$von_id = $zeile->von_id;
$an_id = $zeile->an_id;
$betreff = $zeile->betreff;
$nachricht = $zeile->nachricht;
$datum = $zeile->datum;
$zeit = $zeile->zeit;
}
}

$query = "SELECT * FROM user WHERE ID = '". $von_id ."'";

if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}

while ($zeile = mysql_fetch_object ($ergebnis)) {
$von = $zeile->username;
}

echo "<table border=0 cellpadding=3 cellspacing=0 width=300>";
echo "<tr>";
echo "<td><b>Von:</b></td>";
echo "<td width=100%>". $von ."</td>";
echo "</tr>";
echo "<tr>";
echo "<td><b>Betreff:</b></td>";
echo "<td width=100%>". $betreff ."</td>";
echo "</tr>";
echo "<tr>";
echo "<td valign=\"top\"><b>Nachricht:</b></td>";
echo "<td width=100%>". $nachricht ."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=2><small>Geschrieben am ". $datum ." um ". $zeit ."</small></td>";
echo "</tr>";
echo "<tr>";
echo "<td>&nbsp;</td>";
echo "</tr>";
echo "<tr>";
if ($folder == "in") {
echo "<td colspan=2><a href=\"$PHP_SELF?action=shownewmsg\"><< zurück</a></td>";
} else if ($folder == "out") {
echo "<td colspan=2><a href=\"$PHP_SELF?action=showoutmsg\"><< zurück</a></td>";
}
echo "</tr>";
echo "</table>";

mysql_close ($verbindung);
}

?>
<hr>

Ist für das Anzeigen der Nachrichten verantwortlich.

(Dateiname: shownewmsg.inc.php)
<hr>
<?
function shownewmsg() {

global $PHP_SELF;

include("includes/config.inc.php");

# Anzeige neuer Nachrichten

echo "<form ACTION=\"$PHP_SELF?action=delmsg\" METHOD=\"POST\">";
echo "<center>";
echo "<table border=0 cellpadding=0 cellspacing=0>";
echo "<tr><td>";
echo "<table border=0 cellpadding=0 cellspacing=0>";
echo "<tr><td><img src=\"". $pfad_zu_img ."msg.jpg\" border=0></td>";
echo "<td>&nbsp;&nbsp;<b>Eingang</b></td></tr>";
echo "</table>";
echo "</td></tr>";
echo "<tr><td><br>&nbsp;</td></tr>";
echo "<table border=0 cellpadding=2 cellspacing=0 width=". $breite_der_tabelle .">";
echo "<tr>";
echo "<td></td>";
echo "<td><b>Von:</b></td>";
echo "<td><b>Betreff:</b></td>";
echo "<td><b>Datum:</b></td>";
echo "<td><b>Zeit:</b></td>";
echo "</tr>";

include("includes/mysql.inc.php");

$query = "SELECT * FROM newmsg WHERE an_id = '". $userid ."' order by ID desc";
if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}

while ($zeile = mysql_fetch_object ($ergebnis)) {
echo "<tr>";
echo "<td><input type=\"Checkbox\" name=\"del[]\" value=\"new|". $zeile->ID ."\"></td>";
$query = "SELECT * FROM user WHERE ID = '". $zeile->von_id ."'";
if (!($ergebniss = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}

while ($zzeile = mysql_fetch_object ($ergebniss)) {
echo "<td><b>". $zzeile->username ."</b></td>";
}

echo "<td><a href=\"$PHP_SELF?action=showmessage&new=true&id=". $zeile->ID ."&folder=in\"><b>". $zeile->betreff ."</b></a></td>";
echo "<td><b>". $zeile->datum ."</b></td>";
echo "<td><b>". $zeile->zeit ."</b></td>";
echo "</tr>";
}

# Alte Nachrichten

$query = "SELECT * FROM msgs WHERE an_id = '". $userid ."' order by ID desc";
if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}

while ($zeile = mysql_fetch_object ($ergebnis)) {
echo "<tr>";
echo "<td><input type=\"Checkbox\" name=\"del[]\" value=\"old|". $zeile->ID ."\"></td>";
$query = "SELECT * FROM user WHERE ID = '". $zeile->von_id ."'";
if (!($ergebniss = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}

while ($zzeile = mysql_fetch_object ($ergebniss)) {
echo "<td>". $zzeile->username ."</td>";
}

echo "<td><a href=\"$PHP_SELF?action=showmessage&new=false&id=". $zeile->ID ."&folder=in\">". $zeile->betreff ."</a></td>";
echo "<td>". $zeile->datum ."</td>";
echo "<td>". $zeile->zeit ."</td>";
echo "</tr>";
}

echo "<tr><td colspan=5><INPUT TYPE=\"Submit\" NAME=\"submit\" value=\"Auswahl löschen\"></td></tr>";
echo "<tr><td><br>&nbsp;</td></tr>";
echo "<tr><td colspan=5><a href=\"$PHP_SELF?action=startmsgc\"><< zurück</a></td></tr>";
echo "</table>";
echo "</form>";

mysql_close ($verbindung);

}

?>
<hr>

Posteingang

(Dateiname: showoutmsg.inc.php)
<hr>
<?

function showoutmsg() {

global $PHP_SELF;

include("includes/config.inc.php");

# Gesendete Nachrichten

echo "<form ACTION=\"$PHP_SELF?action=delmsg\" METHOD=\"POST\">";
echo "<center>";
echo "<table border=0 cellpadding=0 cellspacing=0>";
echo "<tr><td>";
echo "<table border=0 cellpadding=0 cellspacing=0>";
echo "<tr><td><img src=\"". $pfad_zu_img ."msg.jpg\" border=0></td>";
echo "<td>&nbsp;&nbsp;<b>Ausgang</b></td></tr>";
echo "</table>";
echo "</td></tr>";
echo "<tr><td><br>&nbsp;</td></tr>";
echo "<table border=0 cellpadding=2 cellspacing=0 width=". $breite_der_tabelle .">";
echo "<tr>";
echo "<td></td>";
echo "<td><b>An:</b></td>";
echo "<td><b>Betreff:</b></td>";
echo "<td><b>Datum:</b></td>";
echo "<td><b>Zeit:</b></td>";
echo "</tr>";

include("includes/mysql.inc.php");

$query = "SELECT * FROM outmsg WHERE von_id = '". $userid ."' order by ID desc";
if (!($ergebnis = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}

while ($zeile = mysql_fetch_object ($ergebnis)) {
echo "<tr>";
echo "<td><input type=\"Checkbox\" name=\"del[]\" value=\"out|". $zeile->ID ."\"></td>";

$query = "SELECT * FROM user WHERE ID = '". $zeile->an_id ."'";
if (!($ergebniss = mysql_query ($query, $verbindung))) {
echo("Fehler in der Abfrage !");
ende();
exit();
}

while ($zzeile = mysql_fetch_object ($ergebniss)) {
echo "<td>". $zzeile->username ."</td>";
}

echo "<td><a href=\"$PHP_SELF?action=showmessage&new=false&id=". $zeile->ID ."&folder=out\">". $zeile->betreff ."</a></td>";
echo "<td>". $zeile->datum ."</td>";
echo "<td>". $zeile->zeit ."</td>";
echo "</tr>";

}

echo "<tr><td colspan=5><INPUT TYPE=\"Submit\" NAME=\"submit\" value=\"Auswahl löschen\"></td></tr>";
echo "<tr><td><br>&nbsp;</td></tr>";
echo "<tr><td colspan=5><a href=\"$PHP_SELF?action=startmsgc\"><< zurück</a></td></tr>";
echo "</table>";
echo "</form>";

mysql_close ($verbindung);

}

?>
<hr>

Postausgang

(Dateiname: delmsg.inc.php)
<hr>
<?

function delmsg($del) {

include("includes/config.inc.php");
include("includes/mysql.inc.php");

$anzahl = count($del);

for ($i = 0; $i < $anzahl; $i++) {

$splittet = explode("|", $del[$i]);

$status = $splittet[0];
$message_id = $splittet[1];

if ($status == "old") {

$query = "DELETE FROM msgs WHERE ID = '". $message_id ."'";
if (!mysql_query($query,$verbindung)) {
echo("Fehler in der Abfrage!<p>");
exit();
}

} else if ($status == "new") {

$query = "DELETE FROM newmsg WHERE ID = '". $message_id ."'";
if (!mysql_query($query,$verbindung)) {
echo("Fehler in der Abfrage!<p>");
exit();
}

} else if ($status == "out") {

$query = "DELETE FROM outmsg WHERE ID = '". $message_id ."'";
if (!mysql_query($query,$verbindung)) {
echo("Fehler in der Abfrage!<p>");
exit();

}

}

}

if ($status == "new" or $status == "old") {
shownewmsg();
} else if ($status == "out") {
showoutmsg();
}

}

?>
<hr>

Löscht Messages

(Dateiname: startmsgc.inc.php)
<hr>
<?

function startmsgc() {

global $PHP_SELF;

include("includes/config.inc.php");

# Prüfen, ob neue Messages vorliegen

include("includes/mysql.inc.php");

$result = mysql_query("SELECT Count(*) AS total FROM newmsg WHERE an_id = '". $userid ."'");
$eintraege = mysql_fetch_array($result);

if ($eintraege[total] > 1) {
echo "<a href=\"$PHP_SELF?action=shownewmsg\">Es liegen ". $eintraege[total] ." neue Nachrichten in deinem Postfach.</a>";
} else if ($eintraege[total] == 1) {
echo "<a href=\"$PHP_SELF?action=shownewmsg\">Es liegt ". $eintraege[total] ." neue Nachricht in deinem Postfach.</a>";
} else {
echo "Es liegen keine neuen Nachrichten in deinem Postfach.";
}

echo "<br>&nbsp;";
echo "<table border=0 cellpadding=2 cellspacing=0>";
echo "<tr>";
echo "<td>";

if ($eintraege[total] != 0 ) {
echo "<a href=\"$PHP_SELF?action=shownewmsg\"><img src=\"". $pfad_zu_img ."newmsg.jpg\" border=0></a></td>";
} else {
echo "<a href=\"$PHP_SELF?action=shownewmsg\"><img src=\"". $pfad_zu_img ."msg.jpg\" border=0></a></td>"; }

echo "<td>&nbsp;&nbsp;<a href=\"$PHP_SELF?action=shownewmsg\"><b>Eingang</b></a></td></tr>";
echo "<tr><td><a href=\"$PHP_SELF?action=showoutmsg\"><img src=\"". $pfad_zu_img ."msg.jpg\" border=0></a></td>";
echo "<td>&nbsp;&nbsp;<a href=\"$PHP_SELF?action=showoutmsg\"><b>Ausgang</b></a></td></tr>";
echo "</table>";
echo "<br>&nbsp;";
echo "<a href=\"$PHP_SELF?action=makenewmessage\">Neue Nachricht erstellen</a>";

mysql_close ($verbindung);

}

?>
<hr>

Übersicht

<b>4. Steuer-Datei</b>

Nun die wichtigste Datei des ganzen Scripts:

(Dateiname: msgcenter.php)
<hr>
<?

# Steuerdatei

# Includes

include("includes/startmsgc.inc.php");
include("includes/showoutmsg.inc.php");
include("includes/shownewmsg.inc.php");
include("includes/showmessage.inc.php");
include("includes/savenewmessage.inc.php");
include("includes/makenewmessage.inc.php");
include("includes/delmsg.inc.php");

# Hauptprogramm

if ($action == "shownewmsg") { shownewmsg(); }

else if ($action == "showoutmsg") { showoutmsg(); }
else if ($action == "showmessage") { showmessage($new,$id,$folder); }
else if ($action == "makenewmessage") { makenewmessage(); }
else if ($action == "savenewmessage") { savenewmessage($ziel,$betreff,$nachricht,$outsave); }
else if ($action == "delmsg") { delmsg($del); }

else { startmsgc(); }

?>
<hr>

Solltet ihr Probleme haben, dann steh ich gerne zur Verfügung. Oder wollt ihr das komplette Script, dann schicke ich es euch zu inkl. Pics.

Bewertung Anzahl
6
76,9 %
10 Bewertungen
5
15,4 %
2 Bewertungen
1
7,7 %
1 Bewertungen