Розробка веб-ресурсу з використанням технології асинхронного обміну даних (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