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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 85618
Url: https://administrator.de/contentid/85618
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
1 Kommentar
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
grüsse
Spackenbremse
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
grüsse
Spackenbremse