tach leudez..
also folgendes: habe mir für den geschützten bereich meiner hp eine art messenger programmiert, bei dem sich die leuten gegenseitig nachrichten hinterlassen können. das ganze ist rellativ simpel gehalten und basiert auf dem prinzig, dass die messages in eine mysql tabelle eingetragen werden, und jeder eingeloggte user nur die einträge ausgelesen bekommt, bei denen sein name in der spalte "person" steht. nicht sehr sicher, nicht sehr professionell, aber es reicht für meine zwecke. jetzt habe ich aber folgendes problem:
die zeit des letzten abholens der messages wird in einem cookie gespeichert, sodass ich in der sog. Inbox nur die noch nicht gelesenen nachrichten anzeigen lasse, also bei denen der timestamp höher ist als der letzte im cookie gespeicherte. der user erhält auf der startseite eine meldung, falls er neue nachrichten hat, und wieviele, auf die er dann klicken kann und sofort ind ie inbox gelangt. hier passiert aber anscheinend írgendein fehler:
wenn ich zb bei der meldung sehen kann, dass ich 7 neue nachrichten habe, dann dem link folge und in die inbox komme sagt mir diese, das sich garkeine neuen habe. sobald ich aber in den archiv-modus schalte, d.h. alle nachrichten angezeigt bekomme die auf meinen nick ausgestellt sind, sehe ich, dass sich diese 7 gemeldeten neuen nachrichten in zwei wirklich neue und 5 bereits bekannte aufteilen. aber in der inbox war nichts zu sehen! habe ich einen denkfehler in meinem code??
ich hoffe ihr könnt mir weiterhelfen, das bringt mich langsam hier echt zur verzweiflung! also, hier der code der index.php, auf der alle 3 modi verzeichnet sind, also inbox, archiv und outbox (gesendete nachrichten):

PHP-Code:
<?php 
session_start
();
if (!
session_is_registered('username')) 
{
include(
"forbidden.php");
exit;
}
if (
$mode == "inbox") {
$besuch $HTTP_COOKIE_VARS["lastvisit"];
if (!
$besuch)
{
$besuch time();
}
setcookie('lastvisit',time(),0,'/');
}
?>
<HTML>
<HEAD>
<TITLE>hirngespinst|deepRed|interactive|messenger</TITLE>
<LINK REL=stylesheet HREF="../../../styles/subred.css" TYPE="text/css">
</HEAD>
<BODY>
<TABLE WIDTH="100%" HEIGHT="100%" BORDER="0">
<TR><TD CLASS="td">
<CENTER>
<?php
if ($mode == "inbox") {
$htxt "inbox | your new messages";
} else if (
$mode == "archive") {
$htxt "archive | all your messages";
} else if (
$mode == "outbox") {
$htxt "outbox | messages you sent";
}
?>
<SPAN CLASS="headline">deepRed.messenger |</SPAN> <SPAN CLASS="headdesc"><?php echo($htxt); ?></SPAN><P>
<?php
$Host 
"xxxx";
$User "xxxxx";
$Password "xxxxx";
$DBName "xxxxxx";
$TableName "messenger";
$Link mysql_connect($Host$User$Password);

if (
$mode == "archive") {
$sql1 mysql_db_query($DBName,"SELECT * FROM $TableName WHERE person='$username'",$Link);
$totmsg mysql_num_rows($sql1);
if(
$totmsg == 0) {
echo(
"[<A HREF=\"index.php?mode=inbox\" ONFOCUS=\"blur()\">Inbox</A>]&nbsp;[<A HREF=\"index.php?mode=outbox\" ONFOCUS=\"blur()\">Outbox</A>]&nbsp;[<A HREF=\"msg.php\" ONFOCUS=\"blur()\">Neue Message verschicken</A>]<P>\n");
echo(
"Du hast keine Nachrichten!\n");
echo(
"
</CENTER>
</TD></TR>
</TABLE>
</BODY>
</HTML>
"
);
exit;
}
} else if (
$mode == "outbox") {
$sql3 mysql_db_query($DBName,"SELECT * FROM $TableName WHERE absender='$username'",$Link);
$sntmsg mysql_num_rows($sql3);
if(
$sntmsg == 0) {
echo(
"[<A HREF=\"index.php?mode=inbox\" ONFOCUS=\"blur()\">Inbox</A>]&nbsp;[<A HREF=\"index.php?mode=archive\" ONFOCUS=\"blur()\">Archiv</A>]&nbsp;[<A HREF=\"msg.php\" ONFOCUS=\"blur()\">Neue Message verschicken</A>]<P>\n");
echo(
"Du hast keine gesendeten Nachrichten!\n");
echo(
"
</CENTER>
</TD></TR>
</TABLE>
</BODY>
</HTML>
"
);
exit;
}
} else if (
$mode == "inbox") {
$sql mysql_db_query($DBName,"SELECT * FROM $TableName WHERE person='$username' AND UNIX_TIMESTAMP(zeit) >= '".$besuch."'",$Link);
$newmsg mysql_num_rows($sql);
if(
$newmsg <= 0) {
echo(
"[<A HREF=\"index.php?mode=outbox\" ONFOCUS=\"blur()\">Outbox</A>]&nbsp;[<A HREF=\"index.php?mode=archive\" ONFOCUS=\"blur()\">Archiv</A>]&nbsp;[<A HREF=\"msg.php\" ONFOCUS=\"blur()\">Neue Message verschicken</A>]<P>\n");
echo(
"Du hast keine neuen Nachrichten!\n");
echo(
"
</CENTER>
</TD></TR>
</TABLE>
</BODY>
</HTML>
"
);
exit;
}
}
if (
$mode == "inbox") {
$Query "SELECT UNIX_TIMESTAMP(zeit) AS fzeit,absender,message,id FROM $TableName WHERE person='$username' AND UNIX_TIMESTAMP(zeit) >= '".$besuch."' ORDER BY id DESC";
$cmod1 "outbox";
$ltxt1 "Outbox";
$cmod2 "archive";
$ltxt2 "Archive";
} else if (
$mode == "archive") {
$Query "SELECT UNIX_TIMESTAMP(zeit) AS fzeit,absender,message,id FROM $TableName WHERE person='$username' ORDER BY id DESC";
$cmod1 "inbox";
$ltxt1 "Inbox";
$cmod2 "outbox";
$ltxt2 "Outbox";
} else if (
$mode == "outbox") {
$Query "SELECT UNIX_TIMESTAMP(zeit) AS fzeit,person,message,id FROM $TableName WHERE absender='$username' ORDER BY id DESC";
$cmod1 "inbox";
$ltxt1 "Inbox";
$cmod2 "archive";
$ltxt2 "Archive";
} else {
echo(
"Fehler: Kein Modus gesetzt!");
echo(
"
</CENTER>
</TD></TR>
</TABLE>
</BODY>
</HTML>
"
);
exit;
}
echo(
"[<A HREF=\"index.php?mode=$cmod1\" ONFOCUS=\"blur()\">$ltxt1</A>]&nbsp;[<A HREF=\"index.php?mode=$cmod2\" ONFOCUS=\"blur()\">$ltxt2</A>]&nbsp;[<A HREF=\"msg.php\" ONFOCUS=\"blur()\">Neue Message verschicken</A>]<BR><BR>\n");

$Result mysql_db_query ($DBName$Query$Link);
while (
$Row mysql_fetch_array ($Result)) {
if (
$mode == "inbox" OR $mode == "archive") {
$col " COLSPAN=\"2\"";
$hltxt "$Row[absender] schrieb dir am ";
$ltxt "Antworten";
$linq "?recipient=$Row[absender]";
$second "<TD CLASS=\"msgbtn\"><CENTER><A HREF=\"db.php?mode=delete&id=$Row[id]&rm=$mode\" ONFOCUS=\"blur()\">L&ouml;schen</A></CENTER></TD></TR>";
} else if (
$mode == "outbox") {
$col "";
$hltxt "Du schriebst $Row[person] am ";
$ltxt "Neue Msg an diesen User";
$linq "?recipient=$Row[person]";
$second "";
}
echo(
"<TABLE BORDER=\"0\" WIDTH=\"300\">\n");
echo(
"<TR><TD CLASS=\"msghead\"$col>\n");
echo(
$hltxt.date("d.m.y u\m H:i:s",$Row["fzeit"]));
echo(
"</TD></TR>\n");
echo(
"<TR><TD CLASS=\"msgbody\"$col>\n");
echo(
"$Row[message]\n");
echo(
"</TD></TR>\n");
echo(
"<TR><TD CLASS=\"msgbtn\"><CENTER><A HREF=\"msg.php$linq\" ONFOCUS=\"blur()\">$ltxt</A></CENTER></TD>$second");
echo(
"</TABLE>\n");
echo(
"<BR>\n");
}
mysql_close ($Link);
?>
</CENTER>
</TD></TR>
</TABLE>
</BODY>
</HTML>
ich hoff ihr könnt mir helfen..
greetzes,
Ju