PHP bzw JS: Chat
PHP bzw JS: Chat
Ich will eine Chat Homepage schreiben. (PHP/JS; der HTML teil is ja das einfachste) Ne Idee zum prinzip hatte ich dazu auch schon.
1. Einloggen im Chat: Eine Datei (mal chat.txt genannt) wird ausgelesen, dann Usernames, daten und Text zugeordnet und ausgegeben.
2. Schreiben: Die Datei chat.txt wird um das verändert was man selbst schreibt.
--> Aber jetzt muss ein Reload erfolgen, damit man auch das mitlesen kann was man selbst schreibt, ohne warten zu müssen, dass andre etwas schreiben.
3. Andre schreiben etwas. Also muss in intervallen die Datei chat.php abgefragt werden. bzw. Reloaded werden, wobei ich nicht genau weiß wie hoch diese Abtastrate sein sollte.
Ich brauche: ne möglichkeit die chat.php dynamisch zu laden (vom SERVER! Die Datei liegt auf dem Server, nicht auf einem Client.) bzw. aller X Sekunden die Datei abzufragen.
Und ich brauche ne möglichkeit, die Datei möglichst kurz zu halten, kp, 5KB oder so sollten reichen für einen Chat.
Kann mir einer von euch helfen?
1. Einloggen im Chat: Eine Datei (mal chat.txt genannt) wird ausgelesen, dann Usernames, daten und Text zugeordnet und ausgegeben.
2. Schreiben: Die Datei chat.txt wird um das verändert was man selbst schreibt.
--> Aber jetzt muss ein Reload erfolgen, damit man auch das mitlesen kann was man selbst schreibt, ohne warten zu müssen, dass andre etwas schreiben.
3. Andre schreiben etwas. Also muss in intervallen die Datei chat.php abgefragt werden. bzw. Reloaded werden, wobei ich nicht genau weiß wie hoch diese Abtastrate sein sollte.
Ich brauche: ne möglichkeit die chat.php dynamisch zu laden (vom SERVER! Die Datei liegt auf dem Server, nicht auf einem Client.) bzw. aller X Sekunden die Datei abzufragen.
Und ich brauche ne möglichkeit, die Datei möglichst kurz zu halten, kp, 5KB oder so sollten reichen für einen Chat.
Kann mir einer von euch helfen?
.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: PHP bzw JS: Chat
Ich würde hier vermutlich mit Hilfe von AJAX in sehr kurzen Abständen den Server fragen, ob es in meinem Chat etwas Neues gibt.naums hat geschrieben:Ich brauche: ne möglichkeit die chat.php dynamisch zu laden (vom SERVER! Die Datei liegt auf dem Server, nicht auf einem Client.) bzw. aller X Sekunden die Datei abzufragen.
Und ich brauche ne möglichkeit, die Datei möglichst kurz zu halten, kp, 5KB oder so sollten reichen für einen Chat.
Kann mir einer von euch helfen?
Wenn möglich würde ich dem Server beibiegen, dass er sich mit der Antwort Zeit lassen kann... solange er nicht antwortet, gibt's nix Neues.
So nach 5 Sekunden kann man dann mal "Nopes, nix Neues" antworten und der Client muss neu fragen.
Der Client kann bei einem HTTP-Chat nicht informiert werden, dass er was neues zu laden hat. Er muss also immer selbst neuladen und gucken, ob sich was geändert hat.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: PHP bzw JS: Chat
okay. muss aber da die ganze seite neu geladen werden, oder gibts einen Befehl dafür, dass der Client die Datei chat.txt neu abfragt, und nur dann das neu ausgibt, was auf der basiert?
.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
Re: PHP bzw JS: Chat
Guck dir mal http://proggen.org/doku.php?id=ajax:first_steps an.
Du kannst per AJAX die chat.txt aufrufen und in z.B. in einem Div deiner Wahl ausgeben lassen. Das ist relativ ressourcenschonend, da keine PHP-Datei interpretiert werden muss.
Natürlich musst du, wenn der User Javascript deaktiviert hat auf zurückgreifen.
Du kannst per AJAX die chat.txt aufrufen und in z.B. in einem Div deiner Wahl ausgeben lassen. Das ist relativ ressourcenschonend, da keine PHP-Datei interpretiert werden muss.
Natürlich musst du, wenn der User Javascript deaktiviert hat auf
Code: Alles auswählen
<meta http-equiv="refresh" content="60">
Re: PHP bzw JS: Chat
Was spricht den gegen einen IRC chat?
mfg
mfg
Rechtschreibefehler sind gewollt und dienen der Unterhaltung
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: PHP bzw JS: Chat
Die Frage finde ich gut...Dominik hat geschrieben:Was spricht den gegen einen IRC chat?
IRC, Skype, MSN, Web???
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: PHP bzw JS: Chat
... gesundheit?
Mal im Ernst: Ich will meine Seiten komplett selbst schreiben, deshalb nehme ich auch kein CMS sondern schreibe meine Seiten selbst, und nehme auch kein vorgefertigtes Forum, sondern schreibe das auch selbst, weil es mir spaß macht

Mal im Ernst: Ich will meine Seiten komplett selbst schreiben, deshalb nehme ich auch kein CMS sondern schreibe meine Seiten selbst, und nehme auch kein vorgefertigtes Forum, sondern schreibe das auch selbst, weil es mir spaß macht

.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: PHP bzw JS: Chat
Der sinnvollste Grund zu programmieren.naums hat geschrieben:weil es mir spaß macht

Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: PHP bzw JS: Chat
okay... ich hab mal experimentiert.
Folgender Code:
In der Chat.txt steht bissl was drinne 30 Byte mehr net. Trotzdem friert der FF ein. Was kann ich dagegen tun? Liegt das am JS setTimeout?
Folgender Code:
Code: Alles auswählen
<SCRIPT type="text/javascript">
time = 0;
function prepare()
{
time=2;
chatload();
}
function chatload()
{
if (time == 0)
{
load_file('chat.txt', 'chat');
prepare();
}
if (time > 0)
{
setTimeout('chatload()',1000);
}
time--;
}
chatload();
</SCRIPT>
<a href="javascript:load_file('chat.txt','chat');">[REFRESH]</A>
<div id="chat" height="500px" width="100%" overflow="auto"></div>
<form method="post" action="changeChat.php">
<pre>
<P>Ihr Eintrag: <BR /> <input type="text" name="chat" value=""></P>
<input type="submit" name="submit" value="Abschicken">
</pre>
</form>
.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
Re: PHP bzw JS: Chat
okay. geht jetzt.
Folgender Code (das Formular wird überprüft):
chat.txt ist keinesfalls leer, aber warum ist filesize("chat.txt") leer? Mittels die() ausgegeben, aber es wurde nichts ausgeben. Wo liegt der Fehler? filesize("chat.txt") sollte eigentlich ne Größe ausgeben. tuts aber net. chat.txt ist in dem Ordner. Was is falsch?
Folgender Code (das Formular wird überprüft):
Code: Alles auswählen
<?php
if (is_array($_POST))
{
$post=$_POST;
}
else
{
$post=$HTTP_POST_VARS;
};
if (isset($post["chat"]))
{
$text=$post["chat"];
}
else
{
$text=NULL;
};
$db=new mysqli("localhost", "naums", "letsfetz", "naums-project");
include("chklogin.php");
if ($login!=NULL and $text!=NULL)
{
$file=fopen("chat.txt", "w+");
if (filesize("chat.txt")==0)
{
$size=1;
}
else
{
$size=filesize("chat.txt");
};
$FileText=fread($file, $size);
$time=date("H:i:s", time());
$NewText='['.$time.'] '.$login.' : '.$text."<BR />\n".$FileText;
fwrite($file, $NewText);
fclose();
header("location:index.php?position=chat");
}
else
{
header("location:index.php?position=chat");
};
?>
.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr