Avatar billede charlie3000 Nybegynder
26. januar 2004 - 01:36 Der er 12 kommentarer og
1 løsning

Realtime chat i PHP.

Jeg har ledt Google.dk, Eksperten.dk og alle mulige andre sider efter en simpel chat i PHP (helst gratis) som fungerer i realtime.

Jeg ved det kan lade sig gøre, da chats såsom:
PHP-Chat (http://www.php-chat.org)
Moiat Chat (http://bloodys.com/moiatchat.php)
gør brug af det.

Det jeg ønsker er en meget simpel chat, forstået på den måde at den "kun" skal indeholde:

Mulighed for flere rum.
Offentlig chat.
Privat chat.

Oprettelse af brugere foregår gennem mit nuværende site, så information vedr. brugere af chatten fås gennem sessions i PHP.

Er der nogen som kan hjælpe mig? Gerne hurtigt!
Det skal selvfølgelig helst være gratis, men hvis nogen ønsker en mindre sum penge for det, kan vi snakke om det.

Men vi snakker altså ikke et højere beløb, da jeg ikke har kapital til det.

Håber nogen vil hjælpe hurtigt :-)
Avatar billede charlie3000 Nybegynder
26. januar 2004 - 01:38 #1
Jeg kan kontaktes på charlie3000@ofir.dk, hvis der er grund for en mere privat snak!
Ellers ønsker jeg al henvendelse gennem Eksperten.dk!
Avatar billede dmcn Praktikant
26. januar 2004 - 02:16 #2
Gider du ikke lige forklare hvordan din bruger hænger sammen med brugeren wampiro-uha? http://www.eksperten.dk/spm/455794
Avatar billede ludo69 Nybegynder
26. januar 2004 - 02:57 #3
Hvorfor bruger du ikke bare den PHP-chat, som du selv nævner? Den kan downloades bare du registrerer dig gratis.
Avatar billede charlie3000 Nybegynder
26. januar 2004 - 03:31 #4
n0rmality --> wampiro-uha er ikke mig, men en jeg kender som sidder med samme problem som mig! Og ja, vi sidder ved samme computer!

ludo69 --> PHP-Chatten jeg henviser til skal bruges sammen med PHP-Nuke, og den er derudover også meget mere avanceret end jeg ønsker.

Jeg skal som sagt kun have en "simpel" chat som jeg skriver ovenover hvad skal indeholde.

Så jeg håber der er nogen derude som har en eller hurtig kan lave en, og dermed hjælpe mig ;-)
Avatar billede nikolajdu Nybegynder
26. januar 2004 - 09:05 #5
charlie3000 - I sidder ved samme computer kl 01.30 om natten. Well....
Avatar billede charlie3000 Nybegynder
26. januar 2004 - 11:44 #6
nikolajdu --> Well.... ??? Hvad ???
Avatar billede charlie3000 Nybegynder
26. januar 2004 - 18:19 #7
Jeg har et problem med denne kode, som skal hive data ud fra min database i realtime.
Er der nogen som kan se problemet???

Koden er hentet fra PHP-Chat, men fungerer ikke hos mig.

----- kode -----

<?php
for ($i = 0; $i < 3000; $i++) print (" ");
print ("\n");
ignore_user_abort();

$query = mysql_query("select id from chat where chat_room = '$_SESSION[chat_room]'");
$result = mysql_query($query);
$countold = mysql_num_rows($result);
$countold_tmp = $countold - 5;

$query = mysql_query("select id from chat where chat_room = '$_SESSION[chat_room]' limit $countold_tmp, countold");
$result = mysql_query($query);
$lastid = mysql_fetch_row($result);
$last_id = $lastid[0];

while (true) {

$query = "select * from chat where id > '$last_id' and chat_room = '$_session[chat_room]'";
$result = mysql_query($query);
$count = mysql_num_rows($result);

if ($count <> $count_old) {
$count = mysql_num_rows($result);

if ($count <> $count_old) {
$count_old = $count;
           
while ($row = mysql_fetch_row($result)) {
if ($row[0] > $last_id) {
flush();
$last_id = $row[0];
}}} else {
sleep (1); }}}
?>
Avatar billede charlie3000 Nybegynder
26. januar 2004 - 18:24 #8
Mit problem er at den måske går i uendelig løkke... Min computer bliver i hvert fald meget sløv, indtil jeg hopper væk fra siden.
Avatar billede charlie3000 Nybegynder
26. januar 2004 - 18:49 #9
Har fået rettet det indtil videre til dette...:

<?php
for ($i = 0; $i < 3000; $i++) print (" ");
print ("\n");
ignore_user_abort();

$query = "select id from chat where chat_room = '$_SESSION[chat_room]'";
$result = mysql_query($query);
$countold = mysql_num_rows($result);
$countold_tmp = $countold - 5;

$query = "select id from chat where chat_room = '$_SESSION[chat_room]' limit $countold_tmp, $countold";
$result = mysql_query($query);
$lastid = mysql_fetch_row($result);
$last_id = $lastid[0];

$query = "select * from chat where id > '$last_id' and chat_room = '$_session[chat_room]'";
$result = mysql_query($query);
$count = mysql_num_rows($result);

if ($count <> $count_old) {
$count = mysql_num_rows($result);

if ($count <> $count_old) {
$count_old = $count;
           
while ($row = mysql_fetch_row($result)) {
if ($row[0] > $last_id) {
echo "...<br>";
flush();
$last_id = $row[0];
}}} else {
sleep (1); }}
?>

Men den er stadig gal.
Avatar billede charlie3000 Nybegynder
26. januar 2004 - 18:51 #10
Hvis jeg beholder while (true) {
så er den hel gal!
Avatar billede charlie3000 Nybegynder
26. januar 2004 - 19:14 #11
Jeg håber virkelig at der er nogen som vil hjælpe. For nu har jeg måtte genstarter mange gange pga. uendelig løkker eller noget lign.

Og jeg kan ikke blive ved med at prøve mig frem hvis jeg hele tiden skal genstarte!
Avatar billede charlie3000 Nybegynder
27. januar 2004 - 02:36 #12
Nogen der kan finde fejlen i dette:

<?php ob_end_clean(); ?>
<html>

<head>
<title>edilo.com</title>
<link href="css/chat_stylesheet.css" rel="stylesheet" type="text/css">
</head>

<body style="background-color: #CDDCE1;">

<?php
for ($i = 0; $i < 3000; $i++) print (" ");
print ("\n");

ignore_user_abort();

$query = mysql_query("select id from chat where chat_room = '$_session[chat_room]'");
$countOld = mysql_num_rows($query);
$countOldTemporary = $countOld - 5;

$query = mysql_query("select id from chat where chat_room = '$_session[chat_room]' limit $countOldTemporary, $countOld");
$lastId = mysql_fetch_row($query);
$lastId = $lastId[0];

while (true) {
$query = mysql_query("select * from chat where id > '$lastId' and chat_room = '$_session[chat_room]'");
$count = mysql_num_rows($query);

if ($count != $countOld) {
$countOld = $count;

while ($row = mysql_fetch_row($query)) {

if ($row[0] > $lastId) {
flush();
$lastId = $row[0]; }}
} else {
sleep (1); }}
?>

</body>

</html>
Avatar billede charlie3000 Nybegynder
27. januar 2004 - 02:39 #13
Lukker lige!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester