Mam pewien skrypt czatu, niestety jestem początkujący więc nie wiem jak to zrobić aby po zalogowaniu na stronę w miejscu gdzie wpisałem ID i LOGIN pojawiały się dane zalogowanej osoby. Dzięki temu czat działał by automatycznie.
Skrypt Czatu:
<?php
$_SESSION['chatuser'] = 'ID';
$_SESSION['chatuser_name'] = 'LOGIN'; //; Must be already set
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<title>Live Demo | Simulating gmail, facebook type simple chat application using css, jQuery and PHP free @ blog.afriend.in with space and special character support</title>
<style>
body {
background-color: #eeeeee;
padding:0;
margin:0 auto;
font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;
font-size:11px;
}
</style>
<link type="text/css" rel="stylesheet" media="all" href="css/chat.css" />
<link type="text/css" rel="stylesheet" media="all" href="css/screen.css" />
<!--[if lte IE 7]>
<link type="text/css" rel="stylesheet" media="all" href="css/screen_ie.css" />
<![endif]-->
</head>
<body>
<div id="main_container" align="center">
<div style="background-color:#f2f2f2">
<a href="http://blog.afriend.in"><img src="http://blog.afriend.in/blog.afriend.in.png"/></a>
</div>
<H1>Live Demo | Free gmail, facebook type chat application using CSS, jQuery and PHP @ <a href="http://blog.afriend.in">blog.afriend.in</a></H1>
-> Supports both space and special characters <-
<h2><a style='color:green' href="java script:void(0)" onclick="java script:chatWith('1','Swadesh')">Chat with Swadesh</a></h2>
<h2><a style='color:green' href="java script:void(0)" onclick="java script:chatWith('3','Vimla')">Chat with Vimla</a></h2>
<!-- YOUR BODY HERE -->
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<h2>Current User Session</h2> <?=$_SESSION['chatuser_name']?> (ID = <?=$_SESSION['chatuser']?> )
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<h2> <a href="http://itswadesh.wordpress.com/2011/05/07/gmail-facebook-style-jquery-chat/">Back to tutorial</a></h2>
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/chat.js"></script>
</body>
</html>
<?php
define('DB_SERVER', 'mysql.cba.pl');
if ($_GET['action'] == "chatheartbeat") { chatHeartbeat(); }
if ($_GET['action'] == "sendchat") { sendChat(); }
if ($_GET['action'] == "closechat") { closeChat(); }
if ($_GET['action'] == "startchatsession") { startChatSession(); }
if ($_GET['action'] == "chatname") { chatName(); }
if ($_GET['login'] == "login") { login(); }
if (!isset($_SESSION['chatHistory'])) { $_SESSION['chatHistory'] = array(); }
if (!isset($_SESSION['openChatBoxes'])) { $_SESSION['openChatBoxes'] = array(); }
function chatHeartbeat() {
$sql = "select rejestracja.login,chat.from,chat.message,chat.to,chat.id,chat.sent,chat.recd from chat,rejestracja where (chat.to = '".mysql_real_escape_string($_SESSION['chatuser'])."' AND recd = 0) and chat.from=rejestracja.uid order by id ASC";
$items = '';
if (!isset($_SESSION['openChatBoxes'][$chat['from']]) && isset($_SESSION['chatHistory'][$chat['from']])) { $items = $_SESSION['chatHistory'][$chat['from']];
}
$chat['message'] = sanitize($chat['message']);
$items .= <<<EOD
{
"s": "0",
"u": "{$chat['login']}",
"f": "{$chat['from']}",
"m": "{$chat['message']}"
},
EOD;
if (!isset($_SESSION['chatHistory'][$chat['from']])) { $_SESSION['chatHistory'][$chat['from']] = '';
}
$_SESSION['chatHistory'][$chat['from']] .= <<<EOD
{
"s": "0",
"u": "{$chat['login']}",
"f": "{$chat['from']}",
"m": "{$chat['message']}"
},
EOD;
unset($_SESSION['tsChatBoxes'][$chat['from']]); $_SESSION['openChatBoxes'][$chat['from']] = $chat['sent'];
}
if (!empty($_SESSION['openChatBoxes'])) { foreach ($_SESSION['openChatBoxes'] as $chatbox => $time) {
if (!isset($_SESSION['tsChatBoxes'][$chatbox])) {
$message = "Sent at $time";
if ($now > 180) {
$items .= <<<EOD
{
"s": "2",
"f": "$chatbox",
"m": "{$message}"
},
EOD;
if (!isset($_SESSION['chatHistory'][$chatbox])) { $_SESSION['chatHistory'][$chatbox] = '';
}
$_SESSION['chatHistory'][$chatbox] .= <<<EOD
{
"s": "2",
"f": "$chatbox",
"m": "{$message}"
},
EOD;
$_SESSION['tsChatBoxes'][$chatbox] = 1;
}
}
}
}
if ($items != '') {
$items = substr($items, 0
, -1
); }
header('Content-type: application/json'); ?>
{
"items": [
]
}
<?php
}
function chatBoxSession($chatbox) {
$items = '';
if (isset($_SESSION['chatHistory'][$chatbox])) { $items = $_SESSION['chatHistory'][$chatbox];
}
return $items;
}
function startChatSession() {
$items = '';
if (!empty($_SESSION['openChatBoxes'])) { foreach ($_SESSION['openChatBoxes'] as $chatbox => $void) {
$items .= chatBoxSession($chatbox);
}
}
if ($items != '') {
$items = substr($items, 0
, -1
); }
header('Content-type: application/json'); /*
$suser=$_SESSION['chatuser'];
$sc=mysql_query("select login from rejestracja where login='$su'");
while($row_sc=mysql_fetch_array($sc))
{
$_SESSION['current_chat_username']=$row_sc['login'];
}*/
?>
{
"username": "
<?php echo $_SESSION['chatuser'];?>",
"items": [
]
}
<?php
}
function chatName() {
$un = '';
$su=$_GET['usw'];
$sc2=mysql_query("select login from rejestracja where uid='$su' limit 1"); {
$un=$row_sc2["login"];
}
?>
{
"unm": ["
<?php echo $un;?>"]
}
<?php
}
function sendChat() {
$from = $_SESSION['chatuser'];
$to = $_POST['to'];
$message = $_POST['message'];
$sql = "select rejestracja.login from rejestracja where rejestracja.uid='$from' limit 1";
$from_user='';
$from_user=$un['login'];
}
$_SESSION['openChatBoxes'][$_POST['to']] = date('Y-m-d H:i:s', time());
$messagesan = sanitize($message);
if (!isset($_SESSION['chatHistory'][$_POST['to']])) { $_SESSION['chatHistory'][$_POST['to']] = '';
}
$_SESSION['chatHistory'][$_POST['to']] .= <<<EOD
{
"s": "1",
"u": "{$from_user}",
"f": "{$to}",
"m": "{$messagesan}"
},
EOD;
unset($_SESSION['tsChatBoxes'][$_POST['to']]);
}
function closeChat() {
unset($_SESSION['openChatBoxes'][$_POST['chatbox']]);
}
function sanitize($text) {
return $text;
}
Dodatkowo zauważyłem że jak napisze cos na tym czacie do innej osoby to się jej to nie wyświetla (trzeba odświeżyć stronę)
Ten post edytował rozkosz2514 6.08.2012, 13:30:34