Ga naar inhoud


Mini chatbox aanpassen.


view

Aanbevolen berichten

Ik heb een kleine chatbox op een website lopen.

Alles loopt prima maar ik mis de tijd aanduiding.

Ik zie in andere chats dit wel voorbij komen.

In een andere chat zag ik deze regel voorbij komen:

Code:
define("TIMESTAMP", "Y-m-d H:i:s");

 

Alleen weet ik bijna niets van javascript en weet dus niet waar ik dit zomaar in kan zetten.

In het onderstaande is de gehele code van de (mini)chat

Wie zou mij daarmee kunnen helpen?

 

(chat.php)

Code:
	<pre><?phpif(isset($_GET['text'])){    $already = file("text.txt");    $already[] = htmlentities($_GET['name']).":\t".htmlentities($_GET['text'])."\n";    $handle = fopen("text.txt",'w');    $iwant = array_chunk(array_reverse($already), 20);    if(!fwrite($handle, implode("", array_reverse($iwant[0]))))    {        die("BIG error!");    }    fclose($handle);    echo implode("", array_reverse($iwant[0]));}else{    echo implode("", file("text.txt"));}?></pre>

 

 

chat.html

Code:
<html>	<head>		<TITLE>LPAM forum chat</TITLE>	</head>	<BODY BGCOLOR="#E0E0F8">		<IMG SRC="http://www.dreamradio.nl/chat/picture/logo.png" width="950" Height="100" alt="LOGO"><br></BODY></html><script>var xmlhttp=false;/*@cc_on @*//*@if (@_jscript_version >= 5)// JScript gives us Conditional compilation, we can cope with old IE versions.// and security blocked creation of the objects. try {  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {  try {   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  } catch (E) {   xmlhttp = false;  } }@end @*/if (!xmlhttp && typeof XMLHttpRequest!='undefined') {  xmlhttp = new XMLHttpRequest();}var timer = 6000; //iedere 5 seconden refreshenfunction say(value){    name = document.getElementById('name').value;    xmlhttp.open("GET", "chat.php?text="+value+"&name="+name+"&random="+Math.round(9000*Math.random()),true);//method, target, async (set always true!)        xmlhttp.onreadystatechange=function() {        if (xmlhttp.readyState==4) {            document.getElementById('chatwindow').innerHTML = xmlhttp.responseText;        }    }        xmlhttp.send(null);    timer = 6000;    counter();}function update(){    xmlhttp.open("GET", "chat.php?random="+Math.round(9000*Math.random()),true);//method, target, async (set always true!)        xmlhttp.onreadystatechange=function() {        if (xmlhttp.readyState==4) {            document.getElementById('chatwindow').innerHTML = xmlhttp.responseText;        }    }        xmlhttp.send(null);    timer = 6000;    counter();}function counter(){    if(timer == 0)    {        update();    }    else    {        timer = timer - 1000;        setTimeout("counter()", 1000);    }}function check_enter(eventobjekt){   //Bedankt Cees!   var var_key;   if (navigator.appName == "Microsoft Internet Explorer") {      var_key = window.event.keyCode;   } else {      var_key = eventobjekt.which;   }   if (var_key==13) {//{alert(var_key);      Shout(value);      document.getElementById('chattext').value = "";   }}function hasvalue(value){    if(value != "")    {        document.getElementById('submitbutton').disabled = false;    }    else    {        document.getElementById('submitbutton').disabled = true;    }}</script><input type="text" id="name" name="name" style="width: 950px;" maxlength="256" value="Annoniem"/><div id="chatwindow" style="display:block; width: 950px; height: 400px; overflow: scroll;">    Welkom in de chat. Schrijf hier aub u bericht.</div><br/><input type="text" id="chattext" name="chattext" onKeyPress="check_enter(event);hasvalue(this.value);" onChange="hasvalue(this.value);" maxlength="256" style="width: 600px; "/><input type="submit" id="submitbutton" onMouseDown="javascript: say(document.getElementById('chattext').value);document.getElementById('chattext').value = '';" value="Shout!" style="width:150px; " disabled /><script>    update()</script>

 

 

(text.txt)

Code:
Dit is een voorbeeld van de chat.
Link naar reactie
Delen op andere sites


Verander dit:

Code:
$already[] = htmlentities($_GET['name']).":\t".htmlentities($_GET['text'])."\n";

 

Naar:

Code:
$already[] = date("Y-m-d H:i:s : " . htmlentities($_GET['name']).":\t".htmlentities($_GET['text'])."\n";

Op deze manier gebruik je de servertijd. Dat is "slimmer" aangezien je anders in de problemen kan komen als er mensen uit een andere tijdzone posten. Dan lijkt het alsof de tijdsaanduiding niet klopt.

Als je server niet in NL staat dan zal je eerst even de tijdzone goed moeten zetten in je script. Indien dat het geval is laat het maar weten.

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

Hoi Big fellow,

 

Dank voor je tip!

Ik heb het aangepast in de chat.php en de file op de server gezet.

Daarna heeft het de rechten 777 gekregen en heb ik getest.

Echter reageert de shout het nu niet meer.

Het beeld is er wel, maar wat ik onderin typ komt niet in het scherm erboven. (dus ook geen tijd aanduiding)

 

Waar ga ik de fout in?

ps. ik heb de link van de chat in een pb naar je toe gestuurd.

Link naar reactie
Delen op andere sites

Oops blush , wat vergeten.... Zie de verbeterde versie;

Code:
$already[] = date("Y-m-d H:i:s") . " : " . htmlentities($_GET['name']).":\t".htmlentities($_GET['text'])."\n";

 

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

De chat aan zich loopt prima, hoe simpel de code ook is.

Echter loop ik nu na een tijdje wel tegen een paar dingetjes aan.

 

- Internet Explorer, het beeld blijft soms knipperen //Ligt dat aan deze functie: function counter()

- Enter toets werkt niet (niet in IE en niet in FF)

 

Wie kan mij hiermee helpen en welke dingen moeten hiervoor aangepast worden?

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...