Код:
<form action="" method="post">
<font color="#00b2ee">Nick:</font>
<br /><input type="text" name="nick" />
<br />
<font color="#00b2ee">Съобщение:</font>
<br /><input type="text" name="message" />
<br />
<font color="#00b2ee">Въведете кода:</font> <a href="#" onclick="document.getElementById('captcha').src = 'chat/img.php?' + Math.random(); return false" style="vertical-align: top"><img id="captcha" src="chat/img.php" alt="" border="0" /></a>
<br /><input type="text" name="kod" /><br /><br />
<input type="submit" name="submit" value="Добави" />
</form><br />
<?php
if (isset($_POST["submit"])) {
define('IN_VALID', true);
include('config.php');
mysql_query("SET NAMES utf8");
if (!empty($_POST["nick"])) $nick = htmlspecialchars($_POST["nick"]);
else $errMsg = "<font color=\"#00b2ee\">Моля въведете линк!</font><br />";
if (!empty($_POST["message"])) $message = htmlspecialchars($_POST["message"]);
else $errMsg = "<font color=\"#00b2ee\">Моля въведете съобщение!</font><br>";
$kod = htmlspecialchars($_POST[kod]);//взимаме текста
if($kod!=$_COOKIE[imgcodepage])
$errMsg = "<font color=\"#00b2ee\">Не сте въвели правилно кода!</font><br>";
if (empty($errMsg))
{
$insert = mysql_query("INSERT INTO chatbox(nick, message) VALUES('$nick', '$message')")or die(mysql_error());
echo 'Съобщението е добавено!';
} else echo $errMsg;
mysql_close();
}
?>
<div style="color:#00b2ee">
<?php
define('IN_VALID', true);
include('config.php');
mysql_query("SET NAMES utf8");
$query="SELECT id,nick,message FROM chatbox ORDER BY id DESC limit 10";
$result=mysql_query($query);
echo '<table>';
while ($row=@mysql_fetch_row($result)) {
if (strlen($row['1'])>49)
{$points='...';}
else
{$points='';}
$row['1'] = substr($row['1'],0,49);
$row['1']=substr($row['1'],0 , 49);
echo"<tr><td><b><img src=\"chat/chat.png\" alt=\"\" /> $row[1]$points:</b> $row[2] <div class=\"hr\"></div></td></tr>";
}
echo "</table>";
?>
</div>
[ <font color="#ff4c00"><a href="allmessages.php">Всички съобщения</a></font> ]
1.Това е чата, някой може ли да го направи така, че ако потребител не е регистриран във форума (phpbb3) да не може да пише в чата (сайта е интегриран с форума)
-
if ($user->data['user_id'] == ANONYMOUS) - това е проверката и съответно ако не е регистриран да му изписва, че трябва да се регистрира.
- if($user->data['is_registered']) - това е проверката за регистрирани.
2.Другото нещо е когато е регистриран човек, за Nick да е ника му във форума, примерно има input поле и там да се изписва nicka му, но да не може да го трие само да седи ника му и съответно той да излиза при пост.
проверката е - $user->data['username']
3.Когато натисне submit бутона съобщението да се показва без рефреш, примерно с някакъв javascript за презареждане, защото е доста досадно да те препраща най-отгоре на страницата и да местиш надолу за да видиш какво си написал.
Благодаря на всички които ще помогнат и естествено +1 за този който е оказал най-голяма помощ.