Результаты поиска
| |
maker-rus | Дата: Вторник, 08 Июня 2010, 22:59 | Сообщение # 381 | Тема: Чат на PHP |
Гений
Сейчас нет на сайте
| Assasin, всё! Извините забыл добавить!
Сообщение отредактировал maker-rus - Вторник, 08 Июня 2010, 23:06 |
|
| |
maker-rus | Дата: Вторник, 08 Июня 2010, 16:53 | Сообщение # 382 | Тема: Чат на PHP |
Гений
Сейчас нет на сайте
| Lucasito, во первых здравствуйте. Во вторых - я предложил исходник, а вы делайте с ним что хотите! Хотите вставляйте js, хотите нет. Надеюсь я вам объяснил всё подробно!
|
|
| |
maker-rus | Дата: Вторник, 08 Июня 2010, 15:59 | Сообщение # 383 | Тема: Чат на PHP |
Гений
Сейчас нет на сайте
| Quote (MaTRoSkin) maker-rus, Во! Умный человек, ajax для чата использует.... Не то что некоторые. Хотя я с аяксом не в ладах..... ну ниче, + заслужил Спасибо!
|
|
| |
maker-rus | Дата: Вторник, 08 Июня 2010, 15:20 | Сообщение # 384 | Тема: Чат на PHP |
Гений
Сейчас нет на сайте
| Вот что я могу предложить. Создаём Бд Quote CREATE TABLE `messages` ( `id` int(5) NOT NULL AUTO_INCREMENT, `name` char(255) character SET utf8 NOT NULL, `text` text character SET utf8, PRIMARY KEY (`id`) ); Потом файл index.php Quote <!-- Указываем DOCTYPE --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Php Ajax chat</title> <!-- У нас всё работает в UTF-8 --> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!-- Загружаем стили для чата --> <link rel="stylesheet" type="text/css" media="screen" href="css.css" /> <!-- Подключаем jQuery --> <script type="text/javascript" src="jquery.js"></script> <!-- Сам код нашего чата --> <script type="text/javascript"> $(document).ready(function () { $("#pac_form").submit(Send); // вешаем на форму с именем и сообщением событие которое срабатывает кодга нажата кнопка "Отправить" или "Enter" $("#pac_text").focus(); // по поле ввода сообщения ставим фокус setInterval("Load();", 2000); // создаём таймер который будет вызывать загрузку сообщений каждые 2 секунды (2000 миллисекунд) }); // Функция для отправки сообщения function Send() { // Выполняем запрос к серверу с помощью jquery ajax: $.post(адрес, {параметры запроса}, функция которая вызывается по завершению запроса) $.post("ajax.php", { act: "send", // указываем скрипту, что мы отправляем новое сообщение и его нужно записать name: $("#pac_name").val(), // имя пользователя text: $("#pac_text").val() // сам текст сообщения }, Load ); // по завершению отправки вызываем функцию загрузки новых сообщений Load() $("#pac_text").val(""); // очистим поле ввода сообщения $("#pac_text").focus(); // и поставим на него фокус return false; // очень важно из Send() вернуть false. Если этого не сделать то произойдёт отправка нашей формы, те страница перезагрузится } var last_message_id = 0; // номер последнего сообщения, что получил пользователь var load_in_process = false; // можем ли мы выполнять сейчас загрузку сообщений. Сначала стоит false, что значит - да, можем // Функция для загрузки сообщений function Load() { // Проверяем можем ли мы загружать сообщения. Это сделано для того, чтобы мы не начали загрузку заново, если старая загрузка ещё не закончилась. if(!load_in_process) { load_in_process = true; // загрузка началась // отсылаем запрос серверу, который вернёт нам javascript $.post("ajax.php", { act: "load", // указываем на то что это загрузка сообщений last: last_message_id, // передаём номер последнего сообщения который получил пользователь в прошлую загрузку rand: (new Date()).getTime() }, function (result) { // в эту функцию в качестве параметра передаётся javascript код, который мы должны выполнить eval(result); // выполняем скрипт полученный от сервера $(".chat").scrollTop($(".chat").get(0).scrollHeight); // прокручиваем сообщения вниз load_in_process = false; // говорим что загрузка закончилась, можем теперь начать новую загрузку }); } } </script> <body> <div style="padding: 100px;"> <h1>Php Ajax Chat</h1> <!-- Вот в этих 2-х div-ах будут идти наши сообщения из чата --> <div class="chat r4"> <div id="chat_area"><!-- Сюда мы будем добавлять новые сообщения --></div> </div> <form id="pac_form" action=""><!-- Наша форма с именем, сообщением и кнопкой для отправки --> <table style="width: 100%;"> <tr> <td>Имя:</td> <td>Сообщение:</td> <td></td> </tr> <tr> <!-- Поле ввода имени --> <td><input type="text" id="pac_name" class="r4" value="Гость"></td> <!-- Поле ввода сообщения --> <td style="width: 80%;"><input type="text" id="pac_text" class="r4" value=""></td> <!-- Кнопка "Отправить" --> <td><input type="submit" value="Отправить"></td> </tr> </table> </form> </div> </body> </html> Создаем файл ajax.php Quote <?php // настройки для подключения к MySQl $config = array( 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'dbname' => 'pacdb' ); // подключаемся к MySQL, если не вышло то выходим if( !mysql_connect($config['hostname'], $config['username'], $config['password']) ) { exit(); } // Выбираем базу данных, если не вышло то выходим if( !mysql_select_db($config['dbname']) ) { exit(); } mysql_query("SET NAMES 'utf8'"); // говорим MySQl'у то что мы будем работать с UTF-8 Header("Cache-Control: no-cache, must-revalidate"); // говорим браузеру что-бы он не кешировал эту страницу Header("Pragma: no-cache"); Header("Content-Type: text/javascript; charset=utf-8"); // говорим браузеру что это javascript в кодировке UTF-8 // проверяем есть ли переменная act (send или load), которая указываем нам что делать if( isset($_POST['act']) ) { // $_POST['act'] - существует switch ($_POST['act']) { case "send" : // если она равняется send, вызываем функцию Send() Send(); break; case "load" : // если она равняется load, вызываем функцию Load() Load(); break; default : // если ни тому и не другому - выходим exit(); } } // Функция выполняем сохранение сообщения в базе данных function Send() { // тут мы получили две переменные переданные нашим java-скриптом при помощи ajax // это: $_POST['name'] - имя пользователя // и $_POST['text'] - сообщение $name = substr($_POST['name'], 0, 200); // обрезаем до 200 символов $name = htmlspecialchars($name); // заменяем опасные теги (<h1>,<br>, и прочие) на безопасные $name = mysql_real_escape_string($name); // функция экранирует все спец-символы в unescaped_string , вследствие чего, её можно безопасно использовать в mysql_query() $text = substr($_POST['text'], 0, 200); // обрезаем до 200 символов $text = htmlspecialchars($text); // заменяем опасные теги (<h1>,<br>, и прочие) на безопасные $text = mysql_real_escape_string($text); // функция экранирует все спец-символы в unescaped_string , вследствие чего, её можно безопасно использовать в mysql_query() // добавляем новую запись в таблицу messages mysql_query("INSERT INTO messages (name,text) VALUES ('" . $name . "', '" . $text . "')"); } // функция выполняем загрузку сообщений из базы данных и отправку их пользователю через ajax виде java-скрипта function Load() { // тут мы получили переменную переданную нашим java-скриптом при помощи ajax // это: $_POST['last'] - номер последнего сообщения которое загрузилось у пользователя $last_message_id = intval($_POST['last']); // возвращает целое значение переменной // выполняем запрос к базе данных для получения 10 сообщений последних сообщений с номером большим чем $last_message_id $query = mysql_query("SELECT * FROM messages WHERE ( id > $last_message_id ) ORDER BY id DESC LIMIT 10"); // проверяем есть ли какие-нибудь новые сообщения if( mysql_num_rows($query) > 0 ) { // начинаем формировать javascript который мы передадим клиенту $js = 'var chat = $("#chat_area");'; // получаем "указатель" на div, в который мы добавим новые сообщения // следующий конструкцией мы получаем массив сообщений из нашего запроса $messages = array(); while ( $row = mysql_fetch_array($query) ) { $messages[] = $row; } // записываем номер последнего сообщения // [0] - это вернёт нам первый элемент в массиве $messages, но так как мы выполнили запрос с параметром "DESC" (в обратном порядке), // то это получается номер последнего сообщения в базе данных $last_message_id = $messages[0]['id']; // переворачиваем массив (теперь он в правильном порядке) $messages = array_reverse($messages); // идём по всем элементам массива $messages foreach ( $messages as $value ) { // продолжаем формировать скрипт для отправки пользователю $js .= 'chat.append("<span>' . $value['name'] . '» ' . $value['text'] . '</span>");'; // добавить сообщние (<span>Имя » текст сообщения</span>) в наш div } $js .= "last_message_id = $last_message_id;"; // запишем номер последнего полученного сообщения, что бы в следующий раз начать загрузку с этого сообщения // отправляем полученный код пользователю, где он будет выполнен при помощи функции eval() echo $js; } } ?> создаем таблицу стилей css.css Quote * { margin: 0; padding: 0; } body { font: normal normal normal 16px "Trebuchet MS", Arial, Times; color: #000000; } /* Важное свойство */ .chat { height: 500px; overflow: auto; /* Это позволяет отображать полосу прокрутки */ position: relative; /* Это позволяет съезжать тексту в слое, не растягивая страницу */ text-align: left; border: solid #818181 1px; } .chat div { position: absolute; /* Страница остаётся того же размера */ } .chat span { display: block; } input[type=text],textarea { width: 100%; font: normal normal normal 16px "Trebuchet MS", Arial, Times; border: solid #818181 1px; } /* Для CSS 3 */ .r4 { -moz-border-radius: 4px; -khtml-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; } потом скачиваем файл jquery.js Скачать И всё ваш чат работает Можно плюсиГ за помощь © журнал phpinside.ru
Сообщение отредактировал maker-rus - Вторник, 08 Июня 2010, 23:05 |
|
| |
maker-rus | Дата: Понедельник, 07 Июня 2010, 18:55 | Сообщение # 385 | Тема: Для тех кто хочет создать свой травиан |
Гений
Сейчас нет на сайте
| Я перевел полностью этот двиг, но местами там английский язык. Вот посмотрите что у меня получилось! http://southklub.1free.ws/ Если хотите могу пхп скинуть перевода
|
|
| |
maker-rus | Дата: Понедельник, 07 Июня 2010, 12:58 | Сообщение # 386 | Тема: Оцените мою работу |
Гений
Сейчас нет на сайте
| А почему у меня не открывается пишет Quote Index of / [ICO] Name Last modified Size Description Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 Server at doubleworld.ru Port 80
|
|
| |
maker-rus | Дата: Четверг, 03 Июня 2010, 14:46 | Сообщение # 387 | Тема: Урок по созданию браузерной игры № 2 |
Гений
Сейчас нет на сайте
| помогите. вот такая у меня ошибка! Quote Ошибка Ответ MySQL: Документация #1130 - Host 'localhost' is not allowed to connect to this MySQL server --- Решение Quote Проблему решил Я переписал файл config.inc.php там была строчка "пользователь = "root". Вот я её удалил и всё заработало!
Сообщение отредактировал maker-rus - Четверг, 03 Июня 2010, 20:00 |
|
| |
maker-rus | Дата: Четверг, 03 Июня 2010, 14:33 | Сообщение # 388 | Тема: Давайте придумаем свой жанр игр! |
Гений
Сейчас нет на сайте
| Стиль: MPS (Music Photo-Strategy) на рус. (Музыкальная Фото-Стратегия) Где применялась: нигде Описание:Игра на 2.Загружаете свою фотку в игру, игра дает задание что надо сделать с фоткой, пока играет музыка надо решить головоломку с фотографией которую загрузили в игру. как только музыка заканчивается, кто из двоих больше очков при разгадывании головоломки решил, тот и выиграл.
Сообщение отредактировал maker-rus - Четверг, 03 Июня 2010, 14:35 |
|
| |
maker-rus | Дата: Среда, 02 Июня 2010, 14:14 | Сообщение # 389 | Тема: Урок по созданию браузерной игры № 2 |
Гений
Сейчас нет на сайте
| А шо это такое??? Quote Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in T:\home\virtual\games\reg.php on line 7 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in T:\home\virtual\games\reg.php on line 8 Access denied for user 'root'@'localhost' (using password: YES)
|
|
| | |
maker-rus | Дата: Среда, 02 Июня 2010, 13:38 | Сообщение # 391 | Тема: Уроки по созданию браузерной игры |
Гений
Сейчас нет на сайте
| Спасибо исправил А теперь вот что Quote SQL-запрос: CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci Ответ MySQL: Документация #1007 - Can't create database 'testgame'; database exists Тут же кодировку надо менять???
|
|
| |
maker-rus | Дата: Среда, 02 Июня 2010, 13:29 | Сообщение # 392 | Тема: Уроки по созданию браузерной игры |
Гений
Сейчас нет на сайте
| блин вот что у меня пишет MySQL Quote Ошибка SQL-запрос: /* */ CREATE TABLE `enemy` ( id_enm bigint( 20 ) unsigned NOT NULL AUTO_INCREMENT , name_enm CHAR( 32 ) , atk_enm INT, life_enm INT, def_enm INT, lov_enm INT, exp_enm INT, path_enm CH AR( 32 ) , PRIMARY KEY ( `id_enm` ) ) TYPE = MYISAM Ответ MySQL: Документация #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CH AR(32), PRIMARY KEY (`id_enm`) ) TYPE=MyISAM' at line 10
|
|
| |
maker-rus | Дата: Суббота, 29 Мая 2010, 16:19 | Сообщение # 393 | Тема: Нужна программка для рисования зданий |
Гений
Сейчас нет на сайте
| Для построения замков,хибар и т.п старинного стиля. Лучший для этого редактор Core Draw, из за того что он с векторными изображениями работает. PhotoShop в этом не помощник ИМХО, он годиться для растровых изображений. Quote (ПрофЭссор) просто для любопытства и сократить время на рисование я ищу такие программки-рисовалки зданий - если сократить время, то Минуса сокращения времени - Получиться (абы как), то есть где то косяк программа не дорисовала линию, ошибка в программе и все насмарку. - Не профессионально, то есть, когда сам рисуешь красивей получиться, из готового такое не сделаешь. Плюсы сокращении времени + сократишь время Это мое мнение. ИМХО.
|
|
| |
maker-rus | Дата: Суббота, 29 Мая 2010, 13:01 | Сообщение # 394 | Тема: FlashDevelop |
Гений
Сейчас нет на сайте
| Инфро, Спасибо за совет, у меня без дублирование всё отлично работает плюсиГ в репу
|
|
| |
maker-rus | Дата: Суббота, 29 Мая 2010, 12:26 | Сообщение # 395 | Тема: FlashDevelop |
Гений
Сейчас нет на сайте
| У меня нету этих вкладок! Почему? Я всё сделал так, как написанно!
Сообщение отредактировал maker-rus - Суббота, 29 Мая 2010, 12:30 |
|
| |
maker-rus | Дата: Вторник, 25 Мая 2010, 18:11 | Сообщение # 396 | Тема: Java vs ActionScript3 (Flash) |
Гений
Сейчас нет на сайте
| Я прочитал ваш разговор, игра довольно хорошая, если она в действительности будет такая. Я отдаю голос в пользу java SE ИМХО. Так как для серверных приложений лучше всего использовать java SE, так как они быстрее (например: бот в icq) быстрая работоспособность, ответ с сервера приходит через 4-5 сек. Это +. Этот язык можно использовать в интерпретаторах VB C/C++. К нему можно так же подключить библиотеки и т.п - AC3 1) медленный 2) AC3 на данный момент уязвимый herbst2005, AC3 на данный момент бета, если не так значить я отстал от жизни. Большое кол-во знает Java больше чем JS или AC3. И что вы им скажете что бы они из за какого-то плюса в AC 3 начали его учить??? Неет. Я отдаю предпочтение более языку java чем AC3
|
|
| |
maker-rus | Дата: Вторник, 25 Мая 2010, 17:34 | Сообщение # 397 | Тема: Использование XML в Java |
Гений
Сейчас нет на сайте
| Quote (Мерен) Пожалуйста, расскажите как это работает и где применяется? Quote XML это доступная технология для виртуозного (ленивого) программиста. Простой парсер делает всю работу за програмиста, распознавая маркеры, транслируя кодировку символов, исполняя правила структуры XML файла, проверяя правильность некоторых значений, вызывая где требуется нужный программный код. На самом деле, ранняя стандартизация, комбинированная с жесткой рыночной конкуренцией вызвали появление множества свободных реализаций стандартных парсеров на многих языках, включая C, C++, Tcl, Perl, Python, и, конечно, Java. Тут все написано...
|
|
| | |
maker-rus | Дата: Суббота, 27 Февраля 2010, 14:21 | Сообщение # 399 | Тема: MMORPG Gcup |
Гений
Сейчас нет на сайте
| Название: Gcup team online Жанр: MMORPG [2D] Описание проекта: ~20 уровней. Графика стандартная. Если будит дизайнер или умелый мастер по графике, то графика будит своя. Аналогично и с музыкой. Сюжет: жизнь сайта Gcup.ru . Там будут комнаты модераторов уровни, где модераторы и супер модераторы будут «тусоваться». Аналогично и с администраторами. Так же будут уровни, где можно будит хорошо «подраться». Отвлечься от всех забот и поиграть или подраться. Так же будет уровень «Городская площадь» там администраторы или модераторы будут выступать с речью. Спасибо за внимание. Просьба без оскорблений и оффтопов! dry smile Здесь обсуждаем какая должна выйти игра, а также все дополнения к ней (Изображения, музыка, уровни и т.п)
|
|
| |
maker-rus | Дата: Понедельник, 22 Февраля 2010, 14:40 | Сообщение # 400 | Тема: Gcup team online |
Гений
Сейчас нет на сайте
| Quote (Scorpio) maker-rus, дело в том, что я обнаружил множество ошибок в тексте первого поста. Причем тут я? По твоему Microsoft Word "Глупцы делали "Quote (Yuriy) У меня стоит Genesis возможностей гораздо больше чем у эклипса, да и проблем с запуском не было, просто нужно больше действий для начала. Есть видео гайды по запуску у них на сайте. Я посмотрю спасибо за помощь. Может на Genesis 2D перейдём
Сообщение отредактировал maker-rus - Суббота, 27 Февраля 2010, 14:14 |
|
| |
|