Розробка веб-ресурсу з використанням технології асинхронного обміну даних (AJAX)

Переваги технології асинхронного обміну даних (AJAX), огляд створених на її основі Інтернет-проектів. Алгоритм роботи веб-ресурсу, що надає можливість обміну повідомленнями між користувачами за допомогою AJAX-технології. Програмна реалізація веб-додатку.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 18.12.2013
Размер файла 398,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ ТА ДЖЕРЕЛ

1. [Електронний ресурс].- адреса: www.uk.wikipedia.org/wiki/інтернет.

2. [Електронний ресурс].- адреса: www.ukrarticles.pp.ua/pk-internet/7206-primenenie-texnologii-ajax.html

3.Оригінальна назва: Pro PHP and jQuery. Автор: Джейсон Ленгсторф. Видавництво: Вильямс. Рік 2011. ISBN 978-5-8459-1693-8.

4.[Електронний ресурс].- адреса: www.ganzh.blog.net.ua/2008/03/15/ajax-tehnolohiya-velycheznyh-mozhlyvostej/

5.[Електронний ресурс]. - адреса www.ua.wikipedia.org/wiki/Google_Suggest

6.[Електронний ресурс]. - адреса www.protopage.com/

7.[Електронний ресурс].- адреса http://ua.wikipedia.org/wiki/EyeOS

8. [Електронний ресурс].- адреса http://ua.wikipedia.org/wiki/EyeOS

9. [Електронний ресурс].- адреса http://uk.wikipedia.org/wiki/AJAX

10. [Електронний ресурс].- адреса http://phpbbex.com/forum/ viewtopic.php?t=41

11. Теория систем и системный анализ в управлении организациями: Справочник. / Под ред. В.Н. Волковой и А.А. Емельянова. - М.: Финансы и статистика, 2006 - 848 с.

12 [Електронний ресурс].- адреса www.javascript.ru/Аjax/transport/ xmlhttprequest

13.[Електронний ресурс].- адреса www.ua.wikipedia.org/wiki/JSON

14.[Електронний ресурс].- адреса http://www.w3.org/DOM/

15. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера, Автор: Николай Прохоренок, Год: 2010 ISBN: 978-5-9775-0540-6

16. [Електронний ресурс].- адреса http://easywebscripts.net/ajax/

17. MySQL 5.0. Библиотека программиста, Виктор Иосифович Гольцман, рік випуску 2010, ISBN: 978-5-49807-135-0.

18. Джордж Шлосснейгл. Профессиональное программирование на PHP, 2006

19.Уильям Стейнмец, Брайан Вард. 75 готовых решений для вашего web-сайта на РНР, 2009

20.Мишель Е. Дэвис и Джон А. Филипс. Изучаем PHP и MySQL, 2008

21. Николай Прохоренок. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера, 2010

22. [Електронний ресурс].- адреса http://php.net/manual/ru/reserved. variables.session.php

23. HTML & XHTML: The Definitive Guide. Авторы: Чак Маскиано, Бил Кеннеди. Переводчик: Сергей Иноземцев, Издательство: Символ-Плюс, ISBN 978-5-93286-104-2, 5-93286-104-5, 0-596-52732-2; 2011 г.

24. PHP and MySQL Web Development, Авторы: Люк Веллинг, Лаура Томсон, Переводчик: А. Моргунов, Языки: Русский, Издательство: Вильямс, Серия: Landmark, ISBN 978-5-8459-1574-0, 978-0-672-32916-6; 2010 г.

25. HTML и XHTML. Подробное руководство ISBN: 5-93286-104-5 752 страницы 752, декабрь 2012 Символ-Плюс

ДОДАТОК

Лістинг 1. Програмний код створення таблиць бази даних.

Create database exchange,

Use exchange,

CREATE TABLE `mesage` (

`id` INT(5) NOT NULL AUTO_INCREMENT,

`to_mes` INT(5) NOT NULL,

`from_mes` INT(5) NOT NULL,

`text` VARCHAR(50) NOT NULL,

`status` INT(11) NOT NULL,

`data` VARCHAR(50) NULL DEFAULT NULL,

`delete_to` INT(10) NOT NULL,

`delete_from` INT(10) NOT NULL,

PRIMARY KEY (`id`)

)ENGINE=InnoDB;

CREATE TABLE `register` (

`id` INT(5) NOT NULL AUTO_INCREMENT,

`username` VARCHAR(40) NOT NULL,

`password` VARCHAR(40) NOT NULL,

`status` INT(5) NOT NULL,

PRIMARY KEY (`id`)

)

ENGINE=InnoDB;

Лістинг 2.Програмний код файлу add_user.php

<?require_once('function.php');

$name=$_POST['name'];

$password=$_POST['password'];

session_start();

if(!$name || !$password){echo "Не введені обовязкові поля.";exit;}

if(strlen($name)>16){echo "Імя містить забагато символів. Мак 16.";exit;}

if(strlen($password)>16){echo "Пароль містить забагато символів. Мак 16.";exit;}

if(strlen($password)<6){echo "Пароль містить недостатньо символів. Мін 6.";exit;}register($name,$password);

$_SESSION['valid_user']=$name;do_html_header();

echo "Ви успішно зареєстровані у ситемі.Перейдіть на сторінку для зареєстрованих користувачів.";

do_html_url('member.php','Перейти.'); do_html_footer();?>

Лістинг 3. Функція javascript для функції відправки повідомлення.

$("#send_to").click(function(){

var id_rewrite_message=$("#id_rewrite_message").text();

$("#id_rewrite_message").remove();

$("#message_send").show();

if($("#text").val()==""){$("#message_send").text("Введіть текст повідомлення!");}

else{

sendMess(to,youText.val(),id_rewrite_message);

$("#message_send").text("Повідомлення відправлено!");

$("#message_send").hide(700);

$("#text").each(function () {

$(this).val($(this).data('defvalue'));

});}});

function sendMess(to,text,id_rewrite_message){

$.post("send_mess.php",{text: text,to: to,id_rewrite_message:id_rewrite_message});

}

Лістинг 4. Файл send_mess.php відповідає за збереження повідомлення у базі даних.

<?require_once('function.php');

session_start();

db_connect();

$mesage=$_POST["text"];

$to=$_POST["to"];

$id_rewrite_message=$_POST['id_rewrite_message'];

if(isset($id_rewrite_message))

{$from=user_id($_SESSION["valid_user"]);

send_mess($from,$to,$mesage,$id_rewrite_message);

}else{

$from=user_id($_SESSION["valid_user"]);

$id_rewrite_message=0;

send_mess($from,$to,$mesage,$id_rewrite_message);}?>

Лістинг 5. Функція оновлення статусу користувачів output_user_to_messages.

function output_users_to_messages($log_user)

{db_connect();

mysql_select_db("user");

$zaput="select username,id,status from register where username !='$log_user' " ;

$result=mysql_query($zaput);

while ($row = mysql_fetch_assoc($result)) {

$user=$row['id'];

$user2=user_id($log_user);

$zaput2="select id from mesage where status=0 and to_mes='$user2' and from_mes='$user' ";

$result2=mysql_query($zaput2);

$i=0;

while ($row2 = mysql_fetch_assoc($result2))

{$i=$i+1;}

if($row['status']==1){ ?>

<font color=blue>

<?echo "Online ";

?>

</font>

<?}else{echo "Ofline ";}

echo"<a href='send.php?to=".$row["id"]."'>".$row['username']."</a>";

if($i==0){echo " 0";echo "<br>";}

else{

echo "+".$i;echo "<br>";

}}}

Головні частини програмного коду веб ужитку.

Файл output.js який відповідає за динаміку інтерфесу користувача.

$(document).ready(function(){

var youText=$("#text");

var to=$("#to").text();

$(function () {

$("#text").each(function () {

$(this).data('defvalue', this.value);});

});$("#send_to").click(function(){

var id_rewrite_message=$("#id_rewrite_message").text();

$("#id_rewrite_message").remove();

$("#message_send").show();

if($("#text").val()==""){$("#message_send").text("Введіть текст повідомлення!");}

else{sendMess(to,youText.val(),id_rewrite_message);

$("#message_send").text("Повідомлення відправлено!");

$("#message_send").hide(700);

$("#text").each(function () {$(this).val($(this).data('defvalue'));});}});

function sendMess(to,text,id_rewrite_message){

$.post("send_mess.php",{text: text,to: to,id_rewrite_message:id_rewrite_message});

setInterval('$("#message_my").load("mess.php",{user:$("#my_user").text()});',1000);

setInterval('$("#vsi_korustuvachi").load("update.php",{user1:$("#user1").text()});',3000);

setInterval('$(".get_text").load("message_user.php",{to:$("#to").text(),my_user:$("#my_user").text()});',1000); });

Файл user_message.js, який відповідає за видалення та редагування повідомлень користувачів.

$(document).ready(function(){

$(".delete").click(function(){

var id=$(this).parent().find(".id_message").text();

var delete_from=$("#delete_from").text();

$.post("delete.php",{id:id,delete_from:delete_from});

});

$(".rewrite").live('click',function(){

var text=$(this).parent().find(".rewrite_2").text();

var id=$(this).parent().find(".id_message").text();

$("#text").text(text);

$("#id_rewrite_message").text(id);

});

});

Файл member.php що відповідає за роботу профільної частини користувача.

<?

require_once('function.php');

session_start();

@$username=$_POST['username'];

@$password=$_POST['password'];

if($username && $password)

{

try {login($username,$password);$_SESSION['valid_user']=$username;

}catch(Exception $e)

{do_html_header();

echo "Вхід неможливий невірний логін та пароль.";

do_html_url('login.php','Вхід');

do_html_footer();

exit;}}//далі має бути система спілкування.

@$user=user_id($_SESSION["valid_user"]);

if(reg_user()){

do_html_header();

?><div id="content">

<div id="header"></div>

<div id="vnesh">

<div id="vnutr">

<div id="left">

<div id=user></div>

</div>

<div id="right">

<div id=menu>

<p style="display:none;" id=my_user><?echo $user;?></p>

</div>

</div>

<div id="center">

<div id=alluser>

<span>Написати повідомлення:</span><br>

<?

output_users_to_messages($_SESSION["valid_user"]);

?>

</div>

</div>

<div id=podporka></div>

</div>

</div>

<div id="footer"></div>

</div>

<?

do_html_footer();

}

?>

Файл data_valid.php який містить в собі головні функції роботи веб ужитку.

<?

function db_connect()

{

@ $result=mysql_pconnect('localhost','user','password');

//mysql_query ("set character_set_client='cp1251'");

//mysql_query ("set character_set_results='cp1251'");

//mysql_query ("set collation_connection='cp1251_general_ci'");

if(!$result){echo "Не вдалось зэднатись ыз базою даних";exit;}

}

function register($name,$password)

{db_connect();

mysql_select_db("user");

$zaput="select * from register where username='$name' " ;

$result=mysql_query($zaput);

if(mysql_num_rows($result)>0){echo "Немає даних";exit; }

$zaput="insert into register (username,password,status) values('".$name."','".$password."','0')";

$result=mysql_query($zaput);

if(!$result){echo"Невдалий результат.";}

}

function login($username, $password)

{

db_connect();mysql_select_db("user");

$zaput="select * from register where username='$username' and password='$password'";

$result=mysql_query($zaput);

if(!$result)throw new Exception('Помилка');

if(mysql_num_rows($result)>0)return ;

else throw new Exception(' Помилка');

};function reg_user()

{global $valid_user;

if(isset($_SESSION['valid_user']))

{echo '-'.($_SESSION['valid_user']).'.';

$status=1;

$username=$_SESSION['valid_user'];

status_user($status,$username);

?>

<a href="logout.php">Вийти<a/><br><hr><?return true;

}else

{do_html_heading();echo "Поверніться та введіть обовязкові поля.";do_html_url('login.php','Вхід');do_html_footer();return false;}}function status_user($status,$username){

db_connect();mysql_select_db("user");$zaput="update register set status='$status' where username='$username'";mysql_query($zaput);}

function user_id($username){db_connect();

mysql_select_db("user");

$zaput="select id from register where username='$username'";

$result=mysql_query($zaput);

$row=mysql_fetch_assoc($result);

return $row['id'];

}function user_log($id)

{db_connect();

mysql_select_db("user");

$zaput="select username from register where id='$id'"; $result=mysql_query($zaput);$row=mysql_fetch_assoc($result);return $row['username'];}

function output_users_to_messages($log_user)

{db_connect();

mysql_select_db("user");

$zaput="select username,id,status from register where username !='$log_user' " ;

$result=mysql_query($zaput);

while ($row = mysql_fetch_assoc($result)) {

$user=$row['id'];

$user2=user_id($log_user);

$zaput2="select id from mesage where status=0 and to_mes='$user2' and from_mes='$user' ";

$result2=mysql_query($zaput2);

$i=0;while ($row2 = mysql_fetch_assoc($result2))

{

$i=$i+1;

}

if($row['status']==1){

?><font color=blue>

<?

echo "Online ";

?>

</font>

<?

}else{echo "Ofline ";}

echo"<a href='send.php?to=".$row["id"]."'>".$row['username']."</a>";

if($i==0){echo " 0";echo "<br>";}else{echo"+".$i;echo "<br>";}}}

function send_mess($from,$to,$mesage,$id_rewrite_message)

{db_connect();

mysql_select_db("user");

$data=date('m.d.y');

if($id_rewrite_message==false){

$zaput="insert into mesage (to_mes,from_mes,text,status,data, delete_to,delete_from) values ('".$to."','".$from."','".$mesage."','0','".$ data."','0','0')";

$result=mysql_query($zaput);

$zaput1="update mesage set status=1 where to_mes='$from' and from_mes='$to'";

$result=mysql_query($zaput1);

}else {$zaput="update mesage set text='$mesage', status=0 where id='$id_rewrite_message'";

$result=mysql_query($zaput);}}?>

Файл add_user.php слугує додаванням нового користувача у базу даних.

<?

require_once('function.php');

$name=$_POST['name'];

$password=$_POST['password'];

session_start();

if(!$name || !$password){echo "Не введені обовязкові поля.";exit;}

if(strlen($name)>16){echo "Імя містить забагато символів. Мак 16.";exit;}

if(strlen($password)>16){echo "Пароль містить забагато символів. Мак 16.";exit;}

if(strlen($password)<6){echo "Пароль містить недостатньо символів. Мін 6.";exit;}

register($name,$password);

$_SESSION['valid_user']=$name;

do_html_header();

echo "Ви успішно зареєстровані у ситемі.Перейдіть на сторінку для зареєстрованих користувачів.";

do_html_url('member.php','Перейти.');

do_html_footer();

?>

Файл delete.php видаляєкоористувацькі повідомлення.

<?

require_once('function.php');

$id=$_POST['id'];//повідомлення

$delete_from=$_POST['delete_from'];//користувач який видаляє

db_connect();

mysql_select_db("user");

$zaput="select delete_from from mesage where id = '$id'";

$result1=mysql_query($zaput);

while ($row = mysql_fetch_array($result1))

{if($row['delete_from']>0)

{$zaput="update mesage set delete_to ='$delete_from' where id = '$id'";

mysql_query($zaput);

$zaput1="update mesage set status=1 where id='$id'";

mysql_query($zaput1);

$zaput2="delete from mesage where id = '$id'";

mysql_query($zaput2);

}else

{$zaput="update mesage set delete_from='$delete_from' where id = '$id'";

mysql_query($zaput);

}}?>

Файл function.php підключає головні функціональні файли роботи веб-додатку.

<?

require_once('output.php');

require_once('data_valid.php');

?>

Файл login.php Головний стартовий файл роботи веб додатку.

<?

require_once('function.php');

do_html_header();

login_form();

do_html_footer();

?>

Файл test.php існує для тестової перевірки роботи системи видале

<script src=jquery-1.6.4.min.js type=text/javascript></script>

<script type=text/javascript>

$(document).ready(function(){

$(".del").click(function(){

alert($(this).attr('value'));});})</script>

<?

require_once('function.php');

$to=1;

$my=2;

db_connect();

mysql_select_db("mesage");

$zaput="select text,to_mes,status,id from mesage where to_mes='$to' and from_mes='$my' || to_mes='$my' and from_mes='$to' " ;

$result=mysql_query($zaput);

while($row = mysql_fetch_assoc($result))

{echo user_log($to).":".$row['text']." <br>";

?>

<input type=submit id="delete" class="del" value=Видалити /><br>

<?}?>

Размещено на Allbest.ru


Подобные документы

  • Підхід до побудови користувацького інтерфейсу об’єкту проектування. Інтернет-проекти на основі AJAX технології. Побудова діаграми сценаріїв користування. Оцінка програмного забезпечення веб-сервера. Програмування авторизації та реєстрації користувачів.

    дипломная работа [290,1 K], добавлен 15.12.2013

  • Вивчення технологій програмування Internet-сайтів. Розробка інтерактивного інтерфейсу Web-додатків засобами бібліотеки Codeigniter. Інтернет-проекти на основі Ajax-технології. Обробка запиту засобами Codeigniter. Асинхронний обмін даними способами Ajax.

    курсовая работа [1,3 M], добавлен 12.06.2014

  • Основы и характеристика технологии Ajax, ее преимущества и применение. Системы, созданные с использованием Ajax, базовые технологии. Файловый веб менеджер на основе технологии Ajax, его основные возможности и принцип реализации программного кода.

    курсовая работа [25,6 K], добавлен 23.12.2009

  • Структура и устройство метода AJAX, а также история его возникновения и развития. Инструментарий разработки AJAX-приложений. Безопасность AJAX-приложений и способы их решения. Разработка дизайна оформления клиентской и администраторской частей портала.

    дипломная работа [2,9 M], добавлен 22.07.2011

  • Структура и история развития технологии AJAX. Устройство метода AJAX. Инструментарий разработки веб-приложений. Разработка и создание информационного портала по языкам программирования с использованием технологии AJAX. Информационное содержание портала.

    дипломная работа [3,2 M], добавлен 05.06.2011

  • Види секретної інформації та методи захисту. Тип і об’єм вхідних даних. Програмна реалізація системи алгоритму шифрування зі стисненням. Призначення та опис програмного продукту Export. Алгоритми захисту зберігання та обміну секретною інформацією.

    дипломная работа [1,1 M], добавлен 19.09.2012

  • Загальна характеристика існуючих методів обміну даними між компонентами MS Office, їх властивості та напрямки використання. Формат даних, що вставляються з буфера обміну. Відмінності у властивостях створених, впроваджених та вставлених даних.

    курсовая работа [190,2 K], добавлен 07.02.2003

  • Проектування web-ресурсу міста для інформування про цілі, пріоритети, програмні напрямки, конкурси та підтримані проекти організації. Найменування та область застосування сайту; організація зв'язку із соціальними мережами. Розробка структури web-ресурсу.

    дипломная работа [1,0 M], добавлен 02.07.2015

  • Функции технологии Ajax разработки Web-приложений: выполнение HTTP-запросов в клиентской части и анализ ответа XML-сервера. Создание данных объекта XMLHttpRequest для разных браузеров. Обработка с помощью сервлета. Функциональность задач в Ajax.

    лабораторная работа [54,8 K], добавлен 06.06.2009

  • Серверна мова програмування PHP. База даних MySQL. Мова та стандарти XML. Рівні та способи взаємодії засобів розробки. Засоби трансформації XML. Розробка інтернет-додатку з використанням PHP, MYSQL, XML. Розрахунок трудомісткості створення системи.

    дипломная работа [1,8 M], добавлен 19.08.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.