Спустя 2 часа, 13 минут, 50 секунд (10.11.2009 - 17:00) jetistyum написал(а):
1. имя пользователя, которому пишешь нужно выделять например с помощью какого-нибудь символа, чтобы потом искать проще было
\Dron19: блаблабла
это сообщение для Dron19
тогда тебе нужно составить паттерн регулярного выражения, искать вохождения паттерна и если имя совпадает с именем текущего юзера - убирать подстановочные символы, выделять цветом, и показывать юзеру.
Может у кого-нибудь будет другой вариант
\Dron19: блаблабла
это сообщение для Dron19
тогда тебе нужно составить паттерн регулярного выражения, искать вохождения паттерна и если имя совпадает с именем текущего юзера - убирать подстановочные символы, выделять цветом, и показывать юзеру.
Может у кого-нибудь будет другой вариант
Спустя 6 часов, 52 минуты, 59 секунд (10.11.2009 - 23:53) Семён написал(а):
jetistyum
Сделал бы также, но на JS, чтобы не нагружать сервер
Сделал бы также, но на JS, чтобы не нагружать сервер

Спустя 2 часа, 16 минут, 23 секунды (11.11.2009 - 02:10) Dron19 написал(а):
Я javascript вообще не знаю!

Спустя 4 минуты, 34 секунды (11.11.2009 - 02:14) Dron19 написал(а):
Я понимаю на счет регулярных выражений, но куда вставить написанный мною код, если функция printf() выводит все файлы как один?
Спустя 4 минуты, 48 секунд (11.11.2009 - 02:19) Dron19 написал(а):
Вот код который выводит все сообщения в комнате
Помогите пожалуйста
if(isset($viewroom))
{
@$id = $_GET['id'];
if(!preg_match("|^[\d]+$|",$id)){exit("<p style='color:red;'>Неверный формат запроса! Проверьте URL!</p>");}
$idpr = mysql_query("SELECT id FROM rooms WHERE id='$id'");
if(mysql_num_rows($idpr) == 0)
{exit("<div class='maintitle'>Такой комнаты не существует!</div>");}
if(isset($sub10))
{
$sub = $_POST['sub10']; $id = $_GET['id']; $text = $_POST['text'];
if(empty($text)) {die("<div class='maintitle'>Поле с текстом пустое, вернитесь и заполните его.</div>");}
if(strlen($text) > 5000){$strlen = strlen($text); $sum = $strlen - 5000; die( "<div class='maintitle'>Ваше сообщение превышает 5000 символов на $sum символов!</div>" );}
$text = trim($text); $text = stripslashes($text);
$text = htmlspecialchars($text); $text = wordwrap($text,85," ",1);
$text = str_replace(":roll:",$s1,$text);
$text = str_replace("8-o",$s2,$text);
$text = str_replace(";-)",$s3,$text);
$text = str_replace(":-P",$s4,$text);
$text = str_replace(":rf:",$s5,$text);
$text = str_replace(":-)",$s6,$text);
$text = str_replace(":-((",$s7,$text);
$text = str_replace(":-(",$s8,$text);
$text = str_replace("8-)",$s9,$text);
$text = str_replace(":conf:",$s10,$text);
$text = str_replace(":bg:",$s11,$text);
$text = str_replace(":-O",$s12,$text);
$text = str_replace(":((",$s13,$text);
$text = str_replace(";-(",$s14,$text);
$text = str_replace(":-boom:",$s15,$text);
$text = str_replace(":-!)",$s16,$text);
$text = str_replace(":boom:",$s17,$text);
$text = str_replace(":-$$)",$s18,$text);
$text = str_replace(":surprize:",$s19,$text);
$text = str_replace(":skelet:",$s20,$text);
$text = str_replace(":cat:",$s21,$text);
$text = str_replace(":)(:",$s22,$text);
$text = str_replace(":chert:",$s23,$text);
$text = str_replace("'-",$s24,$text);
$text = str_replace(":voin:",$s25,$text);
$text = str_replace(":lamp:",$s26,$text);
$text = str_replace("","<strong>",$text);
$text = str_replace("","</strong>",$text);
$text = str_replace("[rb]","<font color=\"red\" style=\"font-style:italic;\"><strong>",$text);
$text = str_replace("[/rb]","</strong></font>",$text);
$text = str_replace("'","\'",$text);
$nikname = $_SESSION['nik'];
$insert = mysql_query("INSERT INTO text (nik,text,post) VALUES ('$nikname','$text','$id')");
if($insert) {die("<head><meta http-equiv='refresh' content='0; url=admin.php?viewroom&id=$id'></head>");}
}
if(isset($id))
{
@$id = $_GET['id'];
if(isset($dropposttable)){$dropposttable = $_GET['dropposttable'];
$delete = mysql_query("DELETE FROM text WHERE post='$id'");
if($delete)
{
die("<br><div class='maintitle'>Комната очищена!</div><head><meta http-equiv='refresh' content='2; URL=admin.php?viewroom&id=$id'></head>");
}
else {die("<br><div class='maintitle'>Комната не может быть очищена по поводу ошибки : ".mysql_error()."</div>");}}
if(isset($droppost)){$droppost = $_GET['droppost']; if(!preg_match("|^[\d]+$|",$droppost))
{die("<br><div class='maintitle'>Эта функция удаляет письма и запрос на удаление надо подавать именно через ссылку которая прилагается к функциям только администратору чата!</div>");}
$MySQL = mysql_query("SELECT id FROM text WHERE id='$droppost'");
if(mysql_num_rows($MySQL) > 0)
{
$delete = mysql_query("DELETE FROM text WHERE id='$droppost'");
if($delete)
{die("<div class='maintitle'>Сообщение удалено!</div><head><meta http-equiv='refresh' content='0; URL=admin.php?viewroom&id=$id'></head>");}
else
{die("<div class='maintitle'>Сообщение не может быть удалено! ".mysql_error()."</div>");}
}
else
{die("<br><div class='maintitle'>Вы обновили страницу с тем же параметром, тем самым пошел 2ой запрос на удаление письма! Это не желательно делать!</div><head><meta http-equiv='refresh' content='2; URL=admin.php?viewroom&id=$id'></head>");}
}
if(isset($sbut)){$select = $_POST['select']; print "<head><meta http-equiv='refresh' content='0; url=admin.php?viewroom&id=$select'></head>";}
// Первый блок навигации
$options = mysql_query("SELECT str1 FROM options");
$opt = mysql_fetch_array($options);
$num = $opt['str1'];
// Теперь у нас в page лежит цифра 20
@$page = $_GET['page'];
// Пока не существует переменная page не выводи ошибок!
$schet = mysql_query("SELECT id FROM text WHERE post='$id'");
$posts = mysql_num_rows($schet);
$total = (($posts - 1) / $num) + 1;
// Посчитали сколько всего записей и сколько должно быть страниц
$total = floor($total);
$page = floor($page);
// Выделили целое число из двух переменных
// Если page пустая или меньше или равно 0
// То присваевай ей значение 1
if(empty($page) or $page <= 0) $page=1;
// Если page больше чем все страницы, то присваевай ей последнее значение
if($page > $total) $page=$total;
// Считаем с какой заметке нужно выводить
$start = $page * $num - $num;
$result = mysql_query("SELECT * FROM text WHERE post='$id' ORDER BY id DESC LIMIT $start,$num");
if(!$result)
{print "<p>Ошибка в запросе!</p>"; exit (mysql_error());}
// Проверяем закрыта ли комната
$locked2 = mysql_query("SELECT status FROM rooms WHERE id='$id'");
$lock = mysql_fetch_assoc($locked2);
if($lock['status'] == 0)
{
print "<p>Вы находитесь в закрытой комнате!<br>Доступ сюда разрешен только администраторам!</p>";
}
// Если записей больше чем 0, то выводим, иначе выдаем картинку с добавлением письма
if (mysql_num_rows($result) > 0)
{
$nameroom = mysql_query("SELECT id,title FROM rooms WHERE id='$id'");
$nr = mysql_fetch_row($nameroom);
$per = mysql_query("SELECT id,title FROM rooms ORDER BY id DESC");
$myper = mysql_fetch_row($per);
print "<form method='POST'><p>Выбирете комнату <select name='select'>";
do
{
printf("<option value='%s'>%s</option>",$myper['0'],$myper['1']);
}
while($myper = mysql_fetch_row($per));
print "</select> <input class='mainoption' type='submit' name='sbut' value='Перейти'></form>
<hr>";
print "<p>Вы находитесь в комнате: $nr[1]</p>";
print "
<form action=admin.php?viewroom&id=$id method=POST>
<div class='maintitle'>Сообщение:</div>
<textarea cols='58' class='sinput' rows='10' name='text'>
</textarea><br><br>
<input type='submit' class='sbutton' name='sub10' value='Написать'></p>
</form>
";
$myrow = mysql_fetch_array($result);
print "<div class='maintitle'>Вы можете \"<a href='admin.php?viewroom&id=$id&dropposttable' style='color:#FFF;'
title='Запускать эту функцию желательнее всего тогда, когда комната закрыта! Тем самым вы сохраните службу поддержки более чистой!'>
Очистить комнату!</a>\"</div><br>";
do
{
printf("
<table cellpadding='0' bgcolor='#CCCCCC' border='0' cellspacing='0' class='lesson'>
<tr>
<td align='left'><img src='img/lt.gif'></td>
<td align='right'><img src='img/rt.gif'></td>
</tr>
<tr>
<td>
<p class='lesson_adds'>Добавил: %s <a style='font-size:12px;
margin-left:10px; font-weight:500; color:black; font-family:verdana;' href='admin.php?viewroom&droppost=%s&id=$id'>
Удалить письмо</a></p><hr>
</td>
</tr>
<tr>
<td>
<div class='lesson_name'>%s</div>
</td>
</tr>
<tr>
<td align='left'><img src='img/lb.gif'></td>
<td align='right'><img src='img/rb.gif'></td>
</tr>
</table>
<br>
",$myrow['nik'],$myrow['id'],$myrow['text']);
}
while($myrow = mysql_fetch_array($result));
# ссылки которые видны слева
$page1leftt = @$page - 1;
$page2leftt = @$page - 2;
$page3leftt = @$page - 3;
$page4leftt = @$page - 4;
$page5leftt = @$page - 5;
# ссылки которые видны справа
$page1rightt = @$page + 1;
$page2rightt = @$page + 2;
$page3rightt = @$page + 3;
$page4rightt = @$page + 4;
$page5rightt = @$page + 5;
// Выделяем левый блок
if ($page != 1) $pervpage = "<a href='admin.php?viewroom&id=$id&page=1'>Первая</a> <a href='admin.php?viewroom&id=$id&page=$page1leftt'>Предыдущая</a>";
// Выделяем правый блок
if ($page < $total) $nextpage = " <a href='admin.php?viewroom&id=$id&page=$page1rightt'>Следующая</a> <a href='admin.php?viewroom&id=$id&page=$total'>Последняя</a>";
// Вычисление левых ссылок
if ($page - 1 > 0) $page1left = " <a href='admin.php?viewroom&id=$id&page=$page1leftt'>$page1leftt</a>";
if ($page - 2 > 0) $page2left = " <a href='admin.php?viewroom&id=$id&page=$page2leftt'>$page2leftt</a>";
if ($page - 3 > 0) $page3left = " <a href='admin.php?viewroom&id=$id&page=$page3leftt'>$page3leftt</a>";
if ($page - 4 > 0) $page4left = " <a href='admin.php?viewroom&id=$id&page=$page4leftt'>$page4leftt</a>";
if ($page - 5 > 0) $page5left = " <a href='admin.php?viewroom&id=$id&page=$page5leftt'>$page5leftt</a>";
// Вычисление правых ссылок
if ($page + 1 <= $total) $page1right = " <a href='admin.php?viewroom&id=$id&page=$page1rightt'>$page1rightt</a>";
if ($page + 2 <= $total) $page2right = " <a href='admin.php?viewroom&id=$id&page=$page2rightt'>$page2rightt</a>";
if ($page + 3 <= $total) $page3right = " <a href='admin.php?viewroom&id=$id&page=$page3rightt'>$page3rightt</a>";
if ($page + 4 <= $total) $page4right = " <a href='admin.php?viewroom&id=$id&page=$page4rightt'>$page4rightt</a>";
if ($page + 5 <= $total) $page5right = " <a href='admin.php?viewroom&id=$id&page=$page5rightt'>$page5rightt</a>";
// Вывоб навигации
if ($total > 1)
{
error_reporting(E_ALL & ~ E_NOTICE);
print "<br><div class=\"pstrnav\">";
print $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left." <strong>".$page."</strong> ".$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
print "</div>";
}
}
else
{
$nameroom = mysql_query("SELECT title FROM rooms WHERE id='$id'");
$nr = mysql_fetch_row($nameroom);
$per = mysql_query("SELECT id,title FROM rooms");
$myper = mysql_fetch_row($per);
print "<form method='POST'><p>Выбирете комнату <select name='select'>";
do
{
printf("<option value='%s'>%s</option>",$myper['0'],$myper['1']);
}
while($myper = mysql_fetch_row($per));
print "</select> <input class='mainoption' type='submit' name='sbut' value='Перейти'></form><hr>";
print "<p>Вы находитесь в комнате: \" $nr[0] \" </p>";
print "<div class='maintitle'>В этой комнате еще никто не общался - она пусая!</div>
<form action='admin.php?viewroom&id=$id' method='POST'>
<div class='maintitle'>Сообщение:</div>
<textarea cols='58' class='sinput' maxlenght='1000' rows='10' size='1500' name='text'>
</textarea><br><br>
<input type='submit' class='sbutton' name='sub10' value='Написать'>
</form>
";
}
}
}
Помогите пожалуйста
_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все