Revision: 69443
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 23, 2015 04:12 by olesla
Initial Code
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
header("Content-Type: text/html; charset=utf-8");
session_start();
require_once("functions.php");
if ($_POST['action']=='update')
{
$result = $slaattene_db->query("SELECT * FROM chat ORDER BY time DESC LIMIT 10");
$return = '<table>';
while ($row = $result->fetch_assoc())
{
$message[]=$row;
}
$message=array_reverse($message);
foreach($message as $msg)
{
if(substr($msg['message'], 0, 4 ) === "http" || substr( $msg['message'], 0, 3 ) === "www") // <a href="www.google.com">google.com</a>
{
$return .= '<tr><td><font color="#32cd32">' . substr($msg['time'], -8) . '</font></td><td><strong>' . $msg['handle'] . ':</strong></td><td> <a href="'.$msg['message'].'">'.$msg['message'].'</a></td></tr>';
}
else
{
$return .= '<tr><td><font color="#32cd32">' . substr($msg['time'], -8) . '</font></td><td><strong>' . $msg['handle'] . ':</strong></td><td> ' . $msg['message'] . '</td></tr>';
}
}
$return .= '</table>';
die($return);
}
if ($_POST['action']=='send')
{
$time = date("Y-m-d H:i:s");
$handle=$_POST['handle'];
$message=$_POST['message'];
$slaattene_db->query("INSERT INTO chat (handle, message, time) VALUES ('$handle','$message','$time')");
die();
}
if ($_POST['action']=='updateusers')
{
$handle=$_POST['handle'];
$activeUsers=$slaattene_db->query("SELECT * FROM chat_current_users WHERE lastseen > NOW() - INTERVAL 2 MINUTE");
$time = date("Y-m-d H:i:s");
$slaattene_db->query("UPDATE chat_current_users SET lastseen='$time' WHERE handle='$handle'");
$return='<table><tr><strong>Online:</strong></tr>';
while($row=$activeUsers->fetch_assoc())
{
$return.='<tr><td>'.$row['handle'].'</td></tr>';
}
$return.='</table>';
die($return);
}
if($_POST['action']=='sethandle')
{
$handle=$_POST['handle'];
$checkHandle=$slaattene_db->query("SELECT * FROM chat_current_users WHERE handle='$handle'");
if($checkHandle->num_rows == 0)
{
$time = date("Y-m-d H:i:s");
$slaattene_db->query("INSERT INTO chat_current_users (handle, lastseen) VALUES ('$handle','$time')");
}
else
{
$slaattene_db->query("UPDATE chat_current_users SET lastseen='$time' WHERE handle='$handle'");
}
}
die();
}
echo '<head><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script></head>';
if (!isset($_GET['p']))
{
echo '
<table width=1024>
<tr>
<td width=800><div id=chatwindow style="margin: 10px 0 10px 0;"></div></td><td valign="top"><div id=showusers style="margin: 10px 0 10px 0;"></div></td></tr>
<tr>
<td><input type="text" id="message" size=50 placeholder="message">
<input type="button" value="Send" onclick="send_message();" />
</td><td><input type="text" name="handle" id="handle" placeholder="Type a name"><input type="button" value="Set" onclick="set_handle();" /></td>
</td>
<td>
</td>
</tr>
</table>
<script>
function update_chat() {
$.post("index.php", {
action:"update"
},
function(data) {
$("#chatwindow").html(data);
}
);
}
function update_users() {
$.post("index.php", {
action:"updateusers",
handle:$("#handle").val()
},
function(data) {
$("#showusers").html(data);
}
);
}
function set_handle()
{
$.post("index.php", {
action:"sethandle",
handle:$("#handle").val()
},
function(data) {
$("#showusers").html(data);
}
);
}
function send_message() {
if($("#handle").val())
{
$.post("index.php", {
action:"send",
handle:$("#handle").val(),
message:$("#message").val()
},
function(data) {
$("#message").val("");
update_chat();
}
);
}
else
{
alert("You need a handle before chatting!");
}
}
$("#message").keydown(function(e){
if (e.keyCode == 13)
{
send_message();
}
});
setInterval(function(){
update_chat();
update_users();
}, 3500);
</script>';
}
?>
Initial URL
Initial Description
durr
Initial Title
php + jquery chat
Initial Tags
php, jquery
Initial Language
jQuery