deuchert
Goto Top

IGM Mail-Script mit MySQL-DB

Hallo Leute,


ich habe ein kleines IGM/Mail-Script geschrieben, das funktioniert soweit auch ganz gut! Nun möchte ich aber, das man, wenn man eine Mail abruft und auf Antworten klickt eine ANtwort schreiben kann, welche dann an die alte Mail angehängt wird.

Aber jetzt erstmal der Aufbau meines Scripts/ der DB

DB: test_db
Tabelle: message
Spalten: Message_Id | Von | An | Betreff | Nachricht | Datum | Gelesen


Message_Id ist der Primärschlüssel und auf auto_increment, Von und An sind einfach die Usernamen, wie z. B. "Deuchert" oder "Testuser", der Absender und der Empfänger der mail halt. Betreff und Nachricht sowie Datum sind ja selbsterklärend^^ In Gelesen wird einfach beim versenden eine 0 geschrieben, wenn der Empfänger die Mail öffnet wird eine 1 reingeschrieben. So, dass man halt sehen kann ob die mail schon geöffnet wurde oder eben nicht!

Wo füge ich jetzt jedoch die 2. Nachricht an, in die Spalte Nachricht kann ich es nicht schreiben, da ich das dannach ja in Form einer Tabelle ausgeben möchte. Und 30 weitere Spalten zu erstellen (also Nachricht 1, Nachricht2, .... Nachricht30 usw) macht ja auch keinen Sinn, da das Platzverschwendung wäre.

Aber schaut euch erst mal mein Quellcode an:


mail_abruf.php
--------------------------

<?

$abfrage = "SELECT * FROM message WHERE An = '$_SESSION[user_nickname]'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo "
<tr>
<td><a href=\"mail_abrufen2.php?Mess_Id=";
echo $row->Message_Id;
echo "\">";
echo $row->Betreff;
echo "</a></td>
<td>";
echo $row->Von;
echo "</td>
<td>";
echo $row->Datum;
echo "</td>
</tr>
";
}

?>

--------------------------

$_SESSION[user_nickname] wird beim Start der Session geschrieben und enthält den Usernamen, wie oben schon erwähnt, "Deuchert" oder "Testuser"


mail_versenden.php
--------------------------

<?php

$Von = $_SESSION[user_nickname];
$An = $_POST["An"];
$Betreff = $_POST["Betreff"];
$Nachricht = $_POST["Nachricht"];
$Datum = "2008/04/11";
$Gelesen = 0;

// SQL-Anweisung erstellen
$eintrag = "INSERT INTO message (Von, An, Betreff, Nachricht, Datum, Gelesen) VALUES ('$Von', '$An', '$Betreff', '$Nachricht', '$Datum', '$Gelesen')";
$eintragen = mysql_query($eintrag);


echo "Absender: $Von, Empfänger: $An<br>";
echo "Betreff: $Betreff<br>";
echo "Nachricht:";
echo nl2br($Nachricht);
echo "<br>$Datum<br>";

echo "Deine Mail wurde verschickt";


?>

--------------------------

Falls was unklar ist, sagt bescheid =)

Gruß Jan

Content-ID: 85618

Url: https://administrator.de/contentid/85618

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

Spackenbremse
Spackenbremse 27.04.2008 um 15:50:24 Uhr
Goto Top
Hallo.

Versuch mal folgendes:

Mit dem "Antworten"-Knopf wird an eine Datei der Sender, Empfänger, Betreff und Nachricht gesendet. Diese Datei vertauscht dann Empfänger und Sender -> Die Nachricht geht wieder zurück. Als Nachricht setzt du dann (z.b. in der <textarea>) den value="<? echo $Sender; ?> schrieb:<br><? echo $Nachricht; ?>". Der Benutzer dann kan immernoch unten drunter seine Antwort schreiben. Dann, mit Klick auf den "Senden"-Knopf musst du entweder die Nachricht updaten (§sql = "UPDATE message SET `An` = '".$_POST['An']."'.....";) oder ob du eine Neue Nachricht erstellen willst. Ich hab selber so ein Script geschrieben, ist also alles möglich face-smile

grüsse
Spackenbremse