X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

4 страниц V   1 2 3 4 >
Открыть тему
Тема закрыта
> Онлайн чат и еже с ним!
Panich
Panich
Topic Starter сообщение 19.7.2011, 17:00; Ответить: Panich
Сообщение #1


Это файл который выводит поля чата в браузер пользователя! PHP:
[PHP]<?php
include ("bd_chat.php");
include ("bd.php");
$sql = "SELECT `chat`.*, `users`.`name`, `users`.`fupload` FROM `chat`, `users` WHERE `chat`.`user_id` = `users`.`id` ORDER BY `idchat` DESC";
$result8 = mysql_query($sql, $dbchat)or die("Ошибка в запросе: " . mysql_error());
$result9 = mysql_query($sql, $db)or die("Ошибка в запросе: " . mysql_error());
if ((!$result8) or (!$result9))
{
echo "ошибка - ".mysql_error()."<br>";
echo $sql;
exit();
}
$myrow8 = mysql_fetch_array($result8);
$myrow9 = mysql_fetch_array($result9);
if (!empty($myrow8['idchat']))
{
$massage = $myrow8['massage'];
if (empty($myrow9['fupload']))
{
$avachat = "../file/avatars/net-avatara.jpg";
}
else
{
$avachat = $myrow9['fupload'];
}
$w_chat = 30;
$w_src_chat = imagesx($avachat);
$h_src_chat = imagesy($avachat);
$dest_chat = imagecreatetruecolor($w_chat,$w_chat);
if ($w_src_chat>$h_src_chat)
{
imagecopyresampled($dest_chat, $avachat, 0, 0, round((max($w_src_chat,$h_src_chat)-min($w_src_chat,$h_src_chat))/2), 0, $w_chat, $w_chat, min($w_src_chat,$h_src_chat), min($w_src_chat,$h_src_chat));
if ($w_src_chat<$h_src_chat)
{
imagecopyresampled($dest_chat, $avachat, 0, 0, 0, 0, $w_chat, $w_chat, min($w_src_chat,$h_src_chat), min($w_src_chat,$h_src_chat));
if ($w_src_chat == $h_src_chat)
{
imagecopyresampled($dest_chat, $avachat, 0, 0, 0, 0, $w_chat, $w_chat,$w_src_chat, $w_src_chat);
}
}
}
}
while ($myrow8 = mysql_fetch_array($result8))
{
if (!empty($myrow9['id']))
{
printf("<table class='' border='1'>
<tr>
<td>
<div class='avachat'>%s</div><div class=''>%s</div><div class=''>%s</div>
</td>
<tr>
</table>", $avachat, $myrow9['name'], $massage);
}
else
{
echo("Напиши сообщение !");
}
}
?>[/PHP]


Это обработчик введённых данных: PHP:
[PHP] <?php
session_start();
include ("bd_chat.php");
if(isset($_POST['massage']))
{
$massage = mysql_real_escape_string($_POST['massage']);
$massage = stripslashes($massage);
$massage = htmlspecialchars($massage);
$message=str_replace("<", "&lt;", $message);
$message=str_replace(">", "&gt;", $message);
$message=str_replace("\r\n", " ", $message);
$message=str_replace("\r", "", $message);
$message=str_replace("\n", "", $message);
$message=str_replace("|", "_", $message);
if (($massage == '') or empty($massage))
{
unset($massage);
}
}
if (strlen($massage) > 70)
{
die ("Текст не должен превышать 70 символов!");
}
if (!empty($_SESSION['login']) and !empty($_SESSION['pass']))
{
$login = mysql_real_escape_string($_SESSION['login']);
$pass = mysql_real_escape_string($_SESSION['pass']);
include ("bd.php");
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND pass='$pass'",$db);
$myrow2 = mysql_fetch_array ($result2);
if (empty($myrow2['id']))
{
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
}
if (!preg_match("|^[\d]+$|", $id))
{
exit("<p>Неверный формат запроса! Проверьте URL</p>");
}
}
else
{
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
}
$user_id = $id;
}
$result4 = sprintf("INSERT INTO chat (massage, user_id) VALUES ('%s','$s');", mysql_real_escape_string(strip_tags($massage)), $user_id);
$res = @mysql_query($result4);
if(!$res)
{
die("Error: ".mysql_error());
}
else
{
return $res;
}
if ($result4 == 'TRUE')
{
header("Location: http://localhost/znakomstva/page_user.php");
}
else
{
exit ("При отправке Вашего сообщения возникли проблемы.Обратитесь в службу поддержки по адресу bvstrechi@list.ru");
}
?>[/PHP]


Не обессудте-я только учусь! :oops:
Вопросы:
1. Выдаёт такие ошибки: Код:
Warning: imagesx(): supplied argument is not a valid Image resource in Z:\home\localhost\www\......
Warning: imagesy(): supplied argument is not a valid Image resource in Z:\home\localhost\www\......



Понимаю в чём смысл (примерно!!!),но поделать ничего не могу!Гугл спросил,но он в конкретеке молчит как партизан(даже иголки под ногти и раскалённый утюг на грудь не помогли) :D !
2.Хочу сделать так,что бы выводились только десять очередных сообщений на страницу,потом проходит пять минут и происходит рефреш страницы.При этом уже показанные сообщения удаляются на всегда,а выводятся очередные десять!Помогите в этом плане-как реализовать!?Не прошу написать код (заранее перестраховываюсь от гневных сообщений более опытных товарищей по цеху),а хоть натолкните,пару строчик кода (может быть), а дальше сам додумаю (надеюсь)! :roll:
3.Прошу натолкнуть по какому принцыпу осуществлять выборку из базы?Как будет php понимать что мне нужны очередные 10 строк сообщений с выборкой из базы юзеров,по их конкретным id?
4.Думаю реализовать таким образом,что бы эти десять сообщений выводились в окошке определённого размера (с прокруткой оно должно быть).Это с помощью CSS делать,какие свойства?
П.С.alexdrob,пламенный привет!!! :lol:
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.7.2011, 17:02; Ответить: alexdrob
Сообщение #2


ты когда копипастил, стёр бы хоть
(Panich @ 19.7.2011, 20:00) *
П.С.alexdrob,пламенный привет!!! :lol:


перенёс тему в пхп
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Panich
Panich
Topic Starter сообщение 19.7.2011, 17:14; Ответить: Panich
Сообщение #3


(alexdrob @ 19.7.2011, 20:02) *
стёр бы хоть

А почему это так плохо!?
Тут можно долго ответа ждать-чувствую состарюсь быстрее...)))Врят ли сюда добираются пользователи!!!)))
alexdrob,опять Вам опмогать!)))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.7.2011, 17:35; Ответить: alexdrob
Сообщение #4


Panich, я тебе там уже дал идёю, повторю тут, учи ajax :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.7.2011, 17:40; Ответить: alexdrob
Сообщение #5


при создании страницы выводить последние 10 сообщений из базы
напрмиер сортируешь по id с desc и выбираешь limit 10
так же в скрипт сохраняешь максимальный id
потом в странице запускается таймер, например 20 секунд, и он отправляет этот id php скрипту
скрпит выбирает все записи с бд с такой же сортировкой но без лимита, что бы не пропустить сообщения
и выводит JSON объект c новым максимальным ID и всеми сообщениями
в JS в аякс это всё вернётся, обновляешь значение переменной id в js
прикрепляешь новые чилды в свой чат сформированные из полученного json
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Panich
Panich
Topic Starter сообщение 19.7.2011, 18:10; Ответить: Panich
Сообщение #6


Последние три стори примерно так понял:
sdfhhsidhfsohdfiusdgfogjsjdfo sdfhyisduhygfodfdsgdfg\/fd\g/df\g\/dfg
dfgdgh/df\gh/d\hf/d\h\gd\h\df\hg/ds\h/edg\/fd\g\/df\g/df\g.fg\.df.g\df.g
dfgsdfg\e/gf\/df\g\d/fg\34\5\34/\6\35/6\r/gfsd/\gdf\/g\df/g\df/g\df/g
)))))
А что если Вы мне за денюшку напишите-ведь,что бы нормально выучить это пол годика надо,а от куда у нас-военных,столько времени!?)))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.7.2011, 18:33; Ответить: alexdrob
Сообщение #7


у тебя как добавляются сообщения? или это уже реализовано и не нужно делать?
какая структура таблиц? та же что и была, или ты изменил так как я советовал?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Panich
Panich
Topic Starter сообщение 19.7.2011, 18:46; Ответить: Panich
Сообщение #8


Вот сама форма:
<table class="rama_chat">
<tr>
<td>
<table class="chat">
<tr class="massage">
<td colspan="3">
<!-- внимательно просмотреть подключение с базой. Прописать,что бы сообщения выводились из отдельной базы,а заносилисьс данными пользователя,взятыми из сессий страницы. Прописать ограничение вывода сообщений-например раз в пять секунд! Рефреш страницы предусмотреть (или как ещё сделать, что бы сообщения постоянно обновлялись). Прописать что бы сообщения выводились в зависимости от выбранного пользователем города! -->
<?php
include
("bd_chat.php");
//в самом начале кода подключил-нужно ещё раз базу подключать?
include ("bd.php");
//Прописать:автоматическую замену матерных слов на "бип-примено", автоматическое удаление или замену ссылок (с url на ссылку), замена отдельных символов на смайлы (сделать комплект стандартных!), вырезание всех тегов, Антифлуд - после отправления сообщения, вы должны подождать одну минуту(можно изменить), прежде чем отправить ещё одно, Возможность смены дизайна (или не загружать сайт этой фигнёй),
$sql = "SELECT `chat`.*, `users`.`name`, `users`.`fupload` FROM `chat`, `users` WHERE `chat`.`user_id` = `users`.`id` ORDER BY `idchat` DESC";
$result8 = mysql_query($sql, $dbchat)or die("Ошибка в запросе: " . mysql_error());
$result9 = mysql_query($sql, $db)or die("Ошибка в запросе: " . mysql_error());
if ((!$result8) or (!$result9))
{
echo "ошибка - ".mysql_error()."<br>";
echo $sql;
exit();
}
$myrow8 = mysql_fetch_array($result8);
$myrow9 = mysql_fetch_array($result9);
if (!empty($myrow8['idchat']))
{
$massage = $myrow8['massage'];
if (empty($myrow9['fupload']))
{
$avachat = "../files/avatars/net-avatara.jpg";
}
else
{
$avachat = $myrow9['fupload'];
}
$w_chat = 30;
$w_src_chat = imagesx($avachat);
$h_src_chat = imagesy($avachat);
$dest_chat = imagecreatetruecolor($w_chat,$w_chat);
if ($w_src_chat>$h_src_chat)
{
imagecopyresampled($dest_chat, $avachat, 0, 0, round((max($w_src_chat,$h_src_chat)-min($w_src_chat,$h_src_chat))/2), 0, $w_chat, $w_chat, min($w_src_chat,$h_src_chat), min($w_src_chat,$h_src_chat));
if ($w_src_chat<$h_src_chat)
{
imagecopyresampled($dest_chat, $avachat, 0, 0, 0, 0, $w_chat, $w_chat, min($w_src_chat,$h_src_chat), min($w_src_chat,$h_src_chat));
if ($w_src_chat == $h_src_chat)
{
imagecopyresampled($dest_chat, $avachat, 0, 0, 0, 0, $w_chat, $w_chat,$w_src_chat, $w_src_chat);
}
}
}
}
while ($myrow8 = mysql_fetch_array($result8))
{
if (!empty($myrow9['id']))
{
printf("<table class='' border='1'>
<tr>
<td>
<div class='avachat'>%s</div><div class=''>%s</div><div class=''>%s</div>
</td>
<tr>
</table>", $avachat, $myrow9['name'], $massage);
}
else
{
echo("Напиши сообщение!");
}
}
?>
</td>
</tr>
<tr>
<div class="form_send">
<form class="" id="" action="../php/chat.php" method="POST" name="limitForm" onClick="chek()">
<td>

<input type="submit" id="btn_send" name="" value="">
</td>
<td>
70
</td>
<td>
<input type="text" name="massage" id="comment" value="" />
</td>
</form>
</div>
</tr>
</table>
</td>
</tr>
</table>
[attachment=38031:1.png]
В правом верхнем углу то самое окно находится!
И вот над счётчиком введённых символов мучаюсь,но тут уже ранее описанная мной проблема с работой яваскрипта в различных браузерах!

И ещё (что ОЧЕНЬ важно),давайте сразу обговорим ценовой вопрос,а то у нас в армии только хлебом и сыты (от чего я взялся за программирование) и могу не расчитать свои силы за Ваш немалый труд!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Panich
Panich
Topic Starter сообщение 19.7.2011, 19:01; Ответить: Panich
Сообщение #9


Поеду за коляской для ребёнка!Но жду ответа-прочту вечером!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 19.7.2011, 19:41; Ответить: alexdrob
Сообщение #10


Да я сделаю бесплатно, как будет нечего делать) дело не в деньгах, а в том что тут много букоф :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
4 страниц V   1 2 3 4 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
52 arendator 34148 26.3.2024, 4:43
автор: arendator
Открытая тема (нет новых ответов) Подключить онлайн оплату к WP+Woocommerce
Через API напрямую с банком
0 ARsHi 421 13.3.2024, 18:19
автор: ARsHi
Горячая тема (нет новых ответов) Онлайн магазин качественных аккаунтов
Продажа аккаунтов - соц сети, почтовые, фрихостинг, популярных служб
117 Alanamana 72585 12.3.2024, 19:54
автор: Alanamana
Открытая тема (нет новых ответов) barry24.com - онлайн обменник без AML и верификации, полностью анонимные обмены
16 barry24 4871 27.1.2024, 0:48
автор: barry24
Открытая тема (нет новых ответов) Ссылки для сайта онлайн игр (Только Украина)
2 errorrs 4606 25.1.2024, 14:17
автор: Ladyofpinup


 



RSS Текстовая версия Сейчас: 29.3.2024, 13:51
Дизайн