Help With PHP Chat(SOLVED!)

Need help with an engine or coding not on the list? Need help with a game or the website and forums here? Direct all questions here.
Post Reply
User avatar
Zak Zillion
Posts: 112
Joined: Thu Apr 07, 2011 12:55 am

Help With PHP Chat(SOLVED!)

Post by Zak Zillion »

I am currently having two problems with my code; 1) I would like it to go threw my db and check if the message was posted longer then 20 minutes ago and if so then have that line of chat deleted, 2) I want it to check the type of post, if the type=5 then have it be a system broadcast so it shows up in everybody's chat in every area.

Any help or thoughts are appreciated.

chat.php

Code: Select all

<?php session_start(); ?>
<html>
<head>
<style type="text/css">
#chatdiv {background-color:#000;}
#chatdiv {color:#FFF;}
</style>
<link rel="stylesheet" type="text/css" href="main.css" />
<script type="text/javascript" src="df.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<title>Chat</title>
</head>
<body id="chatdiv" class="div" onLoad="Move()">
<?php
////////////////////////////////////////////////////////////////////

// our database settings
require('database.php');
require 'q.php';
require 'login-check.php';


$query = sprintf("SELECT id FROM chat WHERE area='$user[curarea]'", mysql_real_escape_string($user[curarea]));
$result = mysql_query($query) or die('Error:3 Chat');
$chatid = mysql_fetch_assoc($result);

/* $query = sprintf("DELETE FROM chat WHERE time-stamp>$time_check", mysql_real_escape_string($time_check));
mysql_query($query); */


if($chatid != '')
{
	$query  = sprintf("SELECT COUNT(chatcount) FROM chat WHERE area = '$user[curarea]'", mysql_real_escape_string($user[curarea]));
	$result = mysql_query($query);
	list($chatnumber) = mysql_fetch_row($result);

}
?>
<!--<table width="100%"> -->
<?php /*
 	
		$query  = sprintf("SELECT COUNT(broadcast) FROM chat where type=5");
	$result = mysql_query($query);
	list($chat6) = mysql_fetch_row($result);
 

for($i=0; $i<= $chat6; $i++)
{
	if($chat6 != '')
	{
		$query  = sprintf("SELECT * FROM chat WHERE broadcast='$i'", mysql_real_escape_string($i));
	$result = mysql_query($query);
	$chat1  = mysql_fetch_assoc($result);
	
	$query  = sprintf("SELECT * FROM characters WHERE user_id='$chat1[user_id]' && id='$chat1[charid]'", mysql_real_escape_string($chat1[user_id]), mysql_real_escape_string($chat1[charid]));
	$result = mysql_query($query) or die ('Character Error: '.mysql_error ());
	$userchat1   = mysql_fetch_assoc($result); */
		?>
  <!--
        	<tr>

		<td width=20% align=center>
<p id='chatecho' class="chatecho"><a target="_parent" href="inventory.php?id=<?php /* echo $userchat1[id] */ ?>"><?php /* echo $userchat1[name] */ ?> <?php /* echo $userchat1[title] */ ?></a></p>
								</td>

		<td align=left>
<?php  /* echo $chat1[text]  */?>
		</td>

	</tr>

	<tr class=chatdivider>

		<td colspan=2></td>

	</tr>
     -->
        <?php
 	/* }
	} */ 
	?>
<p id='chat'>
<table width=100%>
<?php
for($i=1; $i<= $chatnumber; $i++)
{
	$query  = sprintf("SELECT * FROM chat WHERE area = '$user[curarea]' && chatcount='$i' ", mysql_real_escape_string($user[curarea]), mysql_real_escape_string($i));
	$result = mysql_query($query);
	$chat  = mysql_fetch_assoc($result);

	$query  = sprintf("SELECT * FROM characters WHERE user_id='$chat[user_id]' && id='$chat[charid]'", mysql_real_escape_string($chat[user_id]), mysql_real_escape_string($chat[charid]));
	$result = mysql_query($query) or die ('Character Error: '.mysql_error ());
	$userchat   = mysql_fetch_assoc($result);
	if($chat[type] == '1')
	{
	?>
    
	<tr>

		<td width=20% align=center>

											<p id='chatecho' class="chatecho"><a target="_parent" href="inventory.php?id=<?php echo $userchat[id] ?>"><?php echo $userchat[name] ?> <?php echo $userchat[title] ?></a></p>
								</td>

		<td align=left>

			<?php echo $chat[text] ?>

		</td>

	</tr>

	<tr class=chatdivider>

		<td colspan=2></td>

	</tr>

    <?php
	}
	elseif($chat[type] == '2')
	{
		?>
        
        	<tr>

		<td width=20% align=center>

								</td>

		<td align=left>

			<p id='chatecho'>**<?php echo $userchat[name] ?> <?php echo $userchat[title] ?> <?php echo $chat[text] ?>**</p>
		</td>

	</tr>

	<tr class=chatdivider>

		<td colspan=2></td>

	</tr>
    
        <?php
	}
}
?>
</table>
</p>
</div>
</body>
</html>
postchat.php

Code: Select all

<?php session_start();
////////////////////////////////////////////////////////////////////

// our database settings
require('database.php');
require 'q.php';
if($_POST)
{
/* 	if($_POST[type]=='5')
	{
		$query  = sprintf("SELECT COUNT(broadcast) FROM chat");
$result = mysql_query($query);
list($chatnumber) = mysql_fetch_row($result);

$chatnumber += 1;

$query = sprintf("ALTER TABLE  `chat` AUTO_INCREMENT =1");
mysql_query($query) or die('Error:5 AI CHAT');

$query = sprintf("INSERT INTO chat (`id` ,`time-stamp` ,`type` ,`area` ,`user_id` ,`text` ,`charid` ,`broadcast`) VALUES (NULL , NOW() , $_POST[type] , $user[curarea] , $users[id] , '$_POST[text]' , $user[id] , $chatnumber)", 
																																																		mysql_real_escape_string($users[id]), mysql_real_escape_string($user[curarea]), mysql_real_escape_string($_POST['type']), mysql_real_escape_string($_POST['text']), mysql_real_escape_string($user[id]), mysql_real_escape_string($chatnumber));

mysql_query($query) or die('Error:4 POST CHAT');

header('Location: chat.php');
	}
	else
	{ */
$query  = sprintf("SELECT COUNT(chatcount) FROM chat WHERE area = '$user[curarea]'", mysql_real_escape_string($user[curarea]));
$result = mysql_query($query);
list($chatnumber) = mysql_fetch_row($result);

$chatnumber = $chatnumber + 1;
$a=filter_var($_POST['text'], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
$query = sprintf("ALTER TABLE  `chat` AUTO_INCREMENT =1");
mysql_query($query) or die('Error:5 AI CHAT');

$query = sprintf("INSERT INTO chat (`id` ,`time-stamp` ,`type` ,`area` ,`user_id` ,`text` ,`charid` ,`chatcount`) VALUES (NULL , NOW() , $_POST[type] , $user[curarea] , $users[id] , '$a' , $user[id] , $chatnumber)", 
																																																		mysql_real_escape_string($users[id]), mysql_real_escape_string($user[curarea]), mysql_real_escape_string($_POST['type']), mysql_real_escape_string($a), mysql_real_escape_string($user[id]), mysql_real_escape_string($chatnumber));

mysql_query($query) or die('Error:4 POST CHAT');

header('Location: chat.php');
}
?>
chatdelete.php

Code: Select all

<?php
require 'database.php';
require 'login-check.php';
require 'q.php';

$time = time();
$time_check = $time - 1200;

$query = sprintf("DELETE FROM chat WHERE time-stamp<$time_check", mysql_real_escape_string($time_check));
mysql_query($query) or die("Delete Chat Error: 6");
?>
play.php (only the part that shows chat)

Code: Select all

<form target=chatframe action=postchat.php method=post name=chat><span class=headertext>Chat:<br>
</span> <select name=type><option value=1>Say</option><option value=2>Emote</option><?php
if ($users[upgrade] == '1')
  {
?>
	<option value=3>Guild-Say</option><option value=4>Guild-Emote</option><?php
  }
  if($users['is_admin'])
  {
	  ?>
      <option value="5">World Broad Cast</option>
      <?php
  }
?></select><input name="text" type="text" size="50" maxlength="250"><input type=reset value="Clear"></form>
    <div id=chat><div align="center"><iframe width=99% height=250px src=chat.php name=chatframe border=1></iframe></div></div><br>
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." - Albert Einstein

Old Project(s):
The Dark Flame
Post Reply

Return to “Advanced Help and Support”