sozusagen Shoutbox
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ahnung
allzuviel
ansagen
anzeigen
betreib
date
eintrag
erste
fragen
hat
insert
limit
login
meinst
page
quelltext
send
session
sofort
vielen dank
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hier:
$name = $row['name'];
$text = nl2br(htmlentities($row['text']));
$get_userfiles = "SELECT * FROM user WHERE name = '$name'";
$query_userfiles = mysql_query($get_userfiles);
$row_userfiles = mysql_fetch_array($query_userfiles); -
?hm, ich hab genug Ahnung von....
Au?erdem arbeitet auch Sirseven mit, und der hats auch net hinbekommen!
edit: seid ihr jetzt irgendwie sauer oder warum antwortet keiner?! -
hm , irgendwie verstehe ich deine Frage nicht
-
Also:
Ich entwickle eine Art shoutbox, und schriebe alle Beitr?ge und R?nge eine ID und den Text in die DB. Ich lasse alles aus der Db abfragen und per echo ansagen. Wenn ich jetzt eine Nachricht abschicke, erscheint sie nicht gleich, sondern erst wenn ich 2 weitere Nachrichten abschicke. Meine Frage ist jetzt: Wie mache ich es das es auch so geht?? Das man nicht drei Nachrichten abschicken muss um die erste zu sehen! -
Um diese Frage zu beantworten ben?tigen wir den Quellcode (m?glichst viel davon!)
Vielleicht geht was mit dem Eintragen/Ausgeben schief........... -
kommt sofort!
<?php
include ('dbconnect.php');
?>
<html>
<head>
</head>
<body>
<?php
if(isset($_SESSION['nick']))
{
if($page == "gindex" && $mode == "logout")
{
session_destroy();
session_unset();
echo'Erfolgreich ausgeloggt!';
$session = $_SESSION['nick'];
$sql = "DELETE FROM whoisonline WHERE name = '".$session."'";
mysql_query($sql) OR die(mysql_error());
}
elseif($page == "gindex")
{
echo'Die Seite ist noch im Bau...<br>
die Shoutbox ist bereits verf?gbar...<br>
<table width="150px">';
$get_shoutbox = "SELECT * FROM shoutbox ORDER BY ID DESC LIMIT 1 , 15 ";
$query_shoutbox = mysql_query($get_shoutbox);
while($row = mysql_fetch_array($query_shoutbox))
{
$name = $row['name'];
$text = nl2br(htmlentities($row['text']));
$get_userfiles = "SELECT * FROM user WHERE name = '$name'";
$query_userfiles = mysql_query($get_userfiles);
$row_userfiles = mysql_fetch_array($query_userfiles);
echo'<tr>';
echo'<td>';
echo '<b>';
echo $row_userfiles['rang'];
echo ' ';
echo $name;
echo ':';
echo '</b>';
echo '</td>';
echo '</tr><tr><td style="border-left:solid 1px #ffffff; border-right:solid 1px #ffffff; border-top:solid 1px #ffffff; border-bottom:solid 1px #ffffff;">';
if ($echo == 0)
{
echo $text;
}
echo '<br><br>';
echo '</td>
</tr>
</table>';
}
echo '<form action="index.php?page=gindex" method="post">
Hier kannst du deinen Eintrag machen!<br>Maximal 200 Zeichen!<br>';
echo '<textarea name="text_2" maxlenght="200"></textarea><br>
<input type="submit" value="abschicken" name="send"><br><br>';
if(isset($_SESSION['nick']))
{
if($send && $text_2 != "")
{
$echo = 1;
$session = $_SESSION['nick'];
$date = time();
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO shoutbox (name, date, text, IP) VALUES ('$session','$date','$text_2','$ip')";
mysql_query($sql) OR die(mysql_error());
$echo = 0;
}
elseif($send)
{
echo'Bitte keine Felder freilassen!';
}
}
else
{
echo 'Keine oder ung?ltige Session! Bitte loggen sie sich ein!<br>
<a href="index.php?page=login">Login</a>';
}
}
}
?>
</body>
</html>
Genug Quelltext?^^
PS:Das mit dem if ($echo ==1){} ist nur aus testzwecken da... -
Hast du mal geschaut, ob die Eintr?ge auch korrekt in die Datenbank geschrieben werden ?
So wie deine Abfrage aussieht, m?chtest du pro Seite 15 Eintr?ge anzeigen lassen und beginnst deine Abfrage bei dem 2. Eintrag (wegen der 1). Versuche es mal mit LIMIT 0,15 in deiner Abfrage. -
jo, betreibe selbst eine Shoutbox und mach das mit der gleichen Abfrage. Sag Bescheid obs funktioniert hat.
-
Klappt jetzt alles! Alles perfekt !!!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage