Розробка соціальної мережі "Social network Artput" - Программирование, компьютеры и кибернетика дипломная работа

Розробка соціальної мережі "Social network Artput" - Программирование, компьютеры и кибернетика дипломная работа




































Главная

Программирование, компьютеры и кибернетика
Розробка соціальної мережі "Social network Artput"

Опис механізмів передачі даних між сторінками. Розробка доступного та зручного інтерфейсу веб-сайту компанії "Artput" для відвідувачів сайту і для адміністратора. Установка Apache 1.3.29 та PHP 4.3.4 під Windows XP. Структура веб-сервера та веб-сайту.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

Для реалізації даного проекту було обрано архітектуру «клієнт-сервер».
Архітектура «клієнт-сервер» сьогодні являє собою домінуючу концепцію у створенні мережевих розробок і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:
· набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них;
· набір клієнтів, які використовують сервіси, що надаються серверами;
· мережа, яка забезпечує взаємодію між клієнтами та серверами.
Сервери є незалежними один від одного. Клієнти також функціонують паралельно і незалежно один від одного. Немає жорсткої прив'язки клієнтів до серверів. Більш ніж типовою є ситуація, коли один сервер одночасно обробляє запити від різних клієнтів; з іншого боку, клієнт може звертатися то до одного сервера, то до іншого. Клієнти мають знати про доступні сервери, але можуть не мати жодного уявлення про існування інших клієнтів.
Клієнти та сервери - це програмні модулі. Найчастіше вони знаходяться на різних комп'ютерах, але бувають ситуації, коли обидві програми - і клієнтська, і серверна, фізично розміщуються на одній машині; в такій ситуації сервер часто називається локальним.
Типовим прикладом клієнт-серверної взаємодії є WWW. Існує величезна кількість веб-серверів, на яких розміщується та або інша інформація. У найпростішому випадку ця інформація являє собою набір веб-сторінок, які можуть зберігатися на сервері у вигляді файлів, розмічених за допомогою мови розмітки HTML. Але ситуація, як правило, є більш складною; значна частина веб-ресурсів на сучасному етапі є динамічними, тобто вони не існують в заздалегідь підготовленому вигляді, а створюються безпосередньо в процесі обробки запиту від користувача.
Для запиту до веб-сервера клієнтська програма повинна задати місцезнаходження комп'ютера, на якому розміщується серверна програма; назву потрібного документа і, можливо, інші дані, які специфікують запит. Мережа забезпечує знаходження сервера і передачу йому клієнтського запиту. Серверні програми обробляють цей запит; відповідь пересилається по мережі клієнтові.
Модель клієнт-серверної взаємодії визначається перш за все розподілом обов'язків між клієнтом та сервером. Логічно можна виокремити три рівні операцій:
· рівень представлення даних, який по суті являє собою інтерфейс користувача і відповідає за представлення даних користувачеві і введення від нього керуючих команд;
· прикладний рівень, який реалізує основну логіку застосування і на якому здійснюється необхідна обробка інформації;
· рівень управління даними, який забезпечує зберігання даних та доступ до них.
Для роботи з системою користувач використовує стандартне програмне забезпечення - звичайний браузер. Це позбавляє його необхідності завантажувати та інсталювати спеціальні програми (хоча інколи така необхідність все-таки виникає). Але користувачеві слід надати в розпорядженні інтерфейс, який дозволяв би йому взаємодіяти з системою і формувати запити до неї; форми, що визначають цей інтерфейс, розміщуються на веб-сторінках та завантажуються разом з ними.
Браузер формує запит та пересилає його до сервера, який здійснює обробку. При необхідності сервер викликає серверні програмні модулі, які забезпечують обробку запиту і в разі потреби звертаються до сервера даних. Сервер даних здійснює операції з даними, що зберігаються в системі та складають її інформаційну основу. Зокрема, він може здійснити вибірку з інформаційної бази відповідно до запиту та передати її модулю проміжного рівня для подальшої обробки. Дані, з якими працює сервер даних, організовані як реляційна база даних MySQL.
1. Функціональність - РНР дає Web-програмістам покращену функціональність з можливостями вставки РНР-коду безпосередньо в HTML.
2. Ціна - РНР вільно розповсюджується, причому абсолютно безкоштовно.
3. Синтаксис РНР дуже схожий на синтаксис С або Perl.
4. В мові програмування РНР немає типізації даних і нема необхідності в діях по виділенню/звільненню ОП.
5. Програми на РНР мають кращу читабельність, ніж аналогічні програми на інших мовах. РНР код значно легше прочитати і зрозуміти.
Зв'язок РНР-MySQL є кросплатформенним. Це означає, що можна працюючи в Windows розроблювати програми, що призначені для роботи в UNIX. Крім того, РНР може працювати як зовнішній CGI-процес, або як звичайний інтерпретатор скриптів, або як модуль, що підключається до Web серверу Apache або IIS.
6. Вільний дисковий простір - 120 Мб (для встановлення серверів Apache та MySQL).
Рис. 3. Основна інформація про сервер
Після того, як було введено дані у вищенаведену форму, потрібно вибрати тип установки: повна (встановлюються всі компоненти серверу) або визначувана користувачем (можна вибрати компоненти для установки) (рис. 4). сайт інтерфейс apache дані
Вибір компонентів серверу не дуже великий - це інструменти, необхідні для роботи серверу і документація до нього (рис. 5).
Рис. 5. Вибір компонентів користувацької установки
Виберемо повну установку. Тоді на наступному кроці програма запропонує вибрати папку, в яку буде встановлений сервер. За умовчанням сервер встановлюється у папку C:\Program Files\Apache Group\ (рис. 6).
Рис. 6. Папка, в яку буде встановлений сервер
На наступному екрані (рис. 7) буде потрібно підтвердити правильність введених даних і почати установку. З будь-якого вікна установки, включаючи і це, можна повернутися назад і змінити введені раніше дані.
Після натиснення кнопки Install почнеться безпосередня установка серверу. Від користувача ніяких додаткових дій більше не потрібен. З одного боку, це добре, але є у такої автоматизованої установки і деякі недоліки. Наприклад, домашні директорії користувачів виявляються там же, де і файли настройок серверу (С:\Program Files\Apache Group\Apache\users\). Це небезпечно, якщо на комп'ютері працює декілька користувачів, що не є адміністраторами серверу. Але спершу можна нічого не міняти. Припустимо, ми запустили установник, ввели всі необхідні дані, він виконав всі операції успішно і говорить, що сервер встановлений. Як перевірити, чи дійсно сервер встановлений? Набираємо у вікні браузера http://localhost/. Якщо все встановилося правильно, ми отримаємо сторіночку вітання серверу Apache (рис. 8).
Отже, сервер встановлений. Файли, які повинні бути оброблені сервером, можна зберігати або в корені серверу (в нашому випадку це С:\Program Files\Apache Group\Apache\htdocs), або в директоріях користувачів (в нашому випадку це С:\Program Files\Apache Group\Apache\users\). Місцеположення кореня серверу і директорій користувачів прописано в настройках серверу, а точніше, у файлі конфігурації httpd.conf (знайти його можна в С:\Program Files\Apache Group\Apache\conf). Для зміни цих шляхів потрібно змінити відповідні змінні у файлі конфігурації серверу. Змінна у файлі конфігурації ServerRoot відповідає за кореневу директорію серверу, а змінна UserDir - за директорію, де розташовуватимуться файли користувачів серверу (для більш безпечної роботи радимо змінити змінну UserDir на що-небудь типу c:\users\). Щоб отримати доступ до файлу test.html, що знаходиться в корені серверу, потрібно набрати в браузере http://localhost/test.html (тобто ім'я хоста, ім'я файлу). Якщо ж файл test.html знаходиться в директорії користувача user, то для його перегляду потрібно набрати в браузере http://localhost/~user/test.html.
Один WEB-сервер може управлят и роботою декількох сайтів (або веб-додатків). Розпізнавати їх Apache буде по доменному імені -- и кожному із цих імен назначить у відповідності з WEB-папку (в котрій будуть зберігатися файли сайта). Створимо папку, в котрій будуть зберігатись WEB-папки.
Наприклад: c:\www . Тепер у файл httpd.conf добавляемо опис цієї папки: ми дамо доступ до цієї папки по протоколу http. После опису загальних умов (починаючи приблизно зі строки 197) додамо наступний блок:
Вмикаемо механізм віртуальних хостов
В першу чергу необхідно наладити Windows на «розпізнання» ціх доменних імен. Тобто задати відповідність ім'я > IP-адрес Для цього звернемося до файлу %System32%\drivers\etc\hosts ( %System32% -- C:\Windows\System32 або C:\Winnt\System32)
В ньому ми знайдемо список відповідних імен та IP-адрес. Додамо одне нове ім'я -- tm . Отредактований файл буде мати вигляд:
# Copyright (c) 1993-1999 Microsoft Corp.
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
Тепер звернемося до папки extra , котра знаходиться в тій же папці, що і файл httpd.conf. В ній ми знайдем файл httpd-vhosts.conf
Відкрием його та внесемо наш новий віртуальний хост:
# If you want to maintain multiple domains/hostnames on your
# machine you can setup Virtual Host containers for them.
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any block.
Тепер шукаемо у httpd.conf строку #Include conf/extra/httpd-vhosts.conf (номер ціеї строки приблизно 472-й) і видяляемо знак коментарію (#) з початку строки.
Ця директива знаходиться в 249-й строці файла h ttpd.conf . Включаємо в список пошуку файла за умовчанням в WEB-папке файл index.php :
DirectoryIndex index.html index.htm index.php
Змінюемо ім'я С :\php\php.ini-production на php.ini .
Подвійним кліком запускаємо його та натискаємо Restart .
Створюємо файл C:\www\tm\index.php , який має наступний вміст: та запускаємо в браузері адресу http://tm/
У випадку успіху Ви побачите таблицю php.
Редагування файла php.ini . Ціль: підключити корісні нам бібліотеки функцій. В строці 809 ми повинні подкорегувати директиву extension_dir: вона повинна мати вигляд extension_dir = "c:/php/ext" (без точки із запятою в початку!). Розділ розширень ( Dynamic Extensions ) починається приблизно з 946-ї строки. Список розширень з описом Ви можете знайти за адресою: http://www.php.net/manual/en/install.windows.extensions.php
Ми вмикнемо три розширення, які нам знадобляться в роботі:
php_gd2.dll -- функції для роботи з графікой (952-а строка файла php.ini)
php_mysql.dll -- функції для роботи з MySQL (962 строка файла php.ini)
php_mysqli.dll -- функції для роботи з MySQL (963 строка файла php.ini)
Для того, щоб почати роботу із сайтом, необхідно відкрити вікно будь-якого встановленого браузера (Internet Explorer, Opera, Mozilla Firefox або інший) і у рядку адреси ввести адресу комп'ютера, який використовується в якості сервера: http://artput.jp
Після цього у вікні браузера з'явиться головна сторінка сайту, яка містить загальну кількість проектів користувачів та фільтри для них.
Верхня частина сайту представляє собою меню та пошук. Меню дозволяє здійснювати перехід на головні сторінки сайту. Тобто, з будь-якої сторінки сайту користувач може перейти на будь-яку іншу сторінку сайту.
В правому верхньому кутку розміщується форма для пошуку інформації на сторінках сайту.
Для того, щоб знайти, наприклад, усі сторінки, на яких міститься інформація про групи, треба ввести назву чи відповідні теми, які вас цікавлять у пошукову форму і натиснути на кнопку «Шукати». Після цього з'явиться список усіх знайдених груп. Також пошук працює по користувачам сайта та проектам.
Для незареєстрованого користувача доступно декілька сторінок для ознайомлення з сайтом.
Для того, щоб з'явилася можливість переглядати будь-які сторінки на сайті, залишати повідомлення, завантажувати свої проекти потрібно зареєструватися. Для цього натиснемо на посилання «Sign In», яке знаходиться у головному меню сайту. Після наведення на ссилку «Sign In»
Під нею випливе дві наступні ссилки, це Login i Registration.
Після виконання логіну чи реєстрації переходимо на сторінку профайлу. На цій сторінці користувач може завантажити власну фотокартку, заповнити поля власними даними, завантажити або видалити свої проекти, видалити доданих друзів, змінити пароль, поштову скриньку. Все це реалізовується за допомогою Аякс запитів. Зліва можна побачити меню швидкого переходу по сторінкам.
Натиснувши на ссилку перейдемо на сторінку загального перегляду усіх друзів. На цій сторінці користувач може видалити чи перейти на сторінку профайлу свого друга. Також реалізован перехід по сторінкам, якщо друзів більше 12(реалізовано Аякс запитом).
Рис. 14. Сторінка відображення друзів
Для того, щоб користувач міг запросити своїх товаришів зареєструватися на сайті, була створена наступна сторінка.
Рис. 15. Запрошення друзів через пошту.
Якщо натиснути в лівому меню на ссилку Message - користувач перейде на сторінку повідомлень, де користувач може отримувати та надсилати повідомлення іншим користувачам сайту. Цю сторінку наведено нижче.
Користувач може додавати свої проекти та креативні ідеї для реклами свого таланту. Для того, щоб додати свій проект, потрібно перейти в лівому меню по ссилці My Work. Після переходу, користувач побачить наступну сторінку.
На цій сторінці користувач може виправляти інформацію про свій проект, бачити скільки людей оцінили проект і коментарі, які залишили. Користувач може видаляти коментарі. Перехід по проектам відбувається за структурою степ корусіль. Для того, щоб завантажити новий проект, користувачу необхідно перейти по ссилці, яка знаходиться в правому кутку - Add new project.
Рис. 18. Додавання нового проекту користувачем.
За такою ж самою схемою відбувається додавання креативних ідей користувачем.
На сайті користувачі можуть створювати свої групи, де будуть ділитися спільними ідеями, обмінюватися досвідом, проектами та знаннями.
Коли користувач хоче вступити в групу, то користувач переходить по ссилці Groups, яка знаходиться у верхньому меню. Після переходу, перед користувачем з'явиться наступна сторінка.
Якщо користувач зацікавився якоюсь конкретною групою, він може переглянути її, натиснувши на ссилку View Group. Якщо користувач хоче вступити в групу і вона не є приватною, то користувачу слідує натиснути на силку Join Group. Якщо група є приватною, то користувач може надіслати запит на вступ у групу, прикріпивши до нього повідомлення, якщо забажає.
Якщо користувач вступає до групи, він переходить на її сторінку, яку ми бачимо нижче.
Рис. 20. Вигляд групи із середини(адміністратор).
Якщо натиснути влкадку Our Projects побачимо наступну сторінку:
Рис. 21. Довільні 4 проекти людей, що знаходяться в групі.
Як ми бачимо, в групі існують медіа файли. На даний момент - це картинки. Користувач може додавати їх до групи, перейшовши по ссилці Add/Edit Media.
Рис. 22. Додавання картинок до групи.
Перегляд картинок відбувається за принципом степ каруселі. Тобто відповідно до нажатої стрілочки с такої сторони виїжджає картинка разом з описом та коментарями користувачів.
Також користувач може запросити своїх друзів приєднатися до групи на сайті, перейшовши по ссилці Invite people to this group.
Рис. 24. Запрошення друзів на вступ до групи
Не маловажною частиною групи є форум, де учасники групи можуть спілкуватися один з одним. На форумі користувачі можуть створювати теми на обговорювати їх. Створити тему користувач може заходячись на головній сторінці групи та натиснувши на посилання Start New Topic.
Рис. 25. Створення нової теми на форумі.
Користувач може давати відповіді на тему натиснувши на кнопку Post Your Reply.
Рис. 26. Давання відповіді на тему форума.
Якщо користувач зробив помилку в своїй відповіді, він може виправити її, натиснувши Edit Post,або видалити її зовсім, натиснувши Delete Post.
Рис. 27. Правка відповіді на форумі.
Адміністратор групи може виправляти чи оновляти дані групи з легкістю та найменшою затратою часу. Для цього лише треба натиснути голубого кольору ссилку Edit … Та вписати туди нове значення. Все робиться без перезавантаження сторінки, за допомогою Аякс запитів.
Рис. 28. Адміністрування сторінки групи.
Адміністратор сайту має всі права на видалення груп, всіх складових груп, користувачів, коментарів, проектів. Для цього потрібно лише зайти на сайт під адміністратором і для нього з'являються ссилки на видалення. Як можемо бачити на верхніх скріншотах. Адміністратор додається вручну. І'мя прописується у файлу db\db_connect.php.
(якщо проект - work_id, ідея - creative_id)
Тема - 0, повідомлення - ідентифікатор теми
Контактна інформація адміністратора
Інтереси, які обговорюються в групі

$db_link=mysql_connect('localhost','root','123456') or die('Could not connect to mysql server.');
mysql_select_db('art_put',$db_link) or die('Could not select database.');
$_cfgSuperModers = "qwe"; // Here you can add people in the moderator's list. Example: "qwe,super_mod1,super_mod2,super_mod3"
$tmp = explode(",",$_cfgSuperModers);
$isSuperModerator = in_array($_COOKIE['username'],$tmp);
У програмному коді використано такі функції бібліотеки MySql:
1. mysql_connect - встановлює з'єднання з сервером баз даних MySQL. Функція приймає три параметри: перший - адреса сервера, другий - логін користувача MySQL і третій - пароль користувача MySQL.
2. mysql_select_db - вибирає базу даних MySQL.
3. mysql_affected_rows - повертає кількість рядків, що були використані попередньою операцією MySQL.
4. mysql_num_rows - повертає кількість рядків, які є чи були вібрані з таблиці.
5. mysql_insert_id - повертає останній ідентифікатор який було внесено в таблицю.
6. mysql_db_query - виконує запит MySQL
7. mysql_fetch_array - отримати результат виконання запиту як асоціативний масив.
8. mysql_query - відправляє SQL-запит до серверу MySQL.
9. mysql_close - закриває MySQL- з'єднання.
function getGroups( $pageno = '', $items = '' ){ //
функція приймає на вхід 2 параметри номер сторінки і кількість груп на 1 сторінці.
$sql = "SELECT * FROM `soc_groups` WHERE 1";//
будуємо запит де, вибираемо с бази данних усі групи користувачів
якщо змінна існує, то додаємо до запиту LIMIT
$sql .= " LIMIT ". ($pageno - 1) * $items. ",$items";
while ($fgroup = mysql_fetch_array( $grp ) ) //
прокручуємо в циклі стількі разів, скільки у нас повернулося різних даних
функція яка відповідає за вступ до групи
$user = @mysql_fetch_array( mysql_query("SELECT * FROM `soc_users` WHERE `username`='{$_COOKIE['username']}'") ); //
$userIn = @mysql_fetch_array( mysql_query("SELECT * FROM `soc_users_groups` WHERE `user`='{$user['id']}' AND `group`='{$_GET['groupname']}'") ); //
перевіряємо чи вона вже існує в группі
якщо існує записуємо текст в змінну.
в іншому випадку робимо запит на вставку нової строки у таблицю
mysql_query ( "INSERT INTO `soc_users_groups` (`user`,`group`,`admin`) VALUES ('{$user['id']}', '{$_GET['groupname']}', 0)");
mysql_query ("UPDATE `soc_groups` SET `size`=`size`+1 WHERE `id`={$_GET['groupname']}") or die(mysql_error()); //
функція відповідає за вихід з группи
$user = mysql_fetch_array( mysql_query("SELECT * FROM `soc_users` WHERE `username`='{$_COOKIE['username']}'") ); //
mysql_query("DELETE FROM `soc_users_groups` WHERE `user`='{$user['id']}' AND `group`='{$_GET['groupname']}'"); //
видаляємо її з таблиці, яка показує, хто існує в группі.
mysql_query ("UPDATE `soc_groups` SET `size`=(`size`-1) WHERE `id`={$_GET['groupname']}"); //
function MyGroups( $pageno = '', $items = '' ){ //
функція яка показує в яких группах користувач є.
$user = @mysql_fetch_array( mysql_query("SELECT * FROM `soc_users` WHERE `username`='{$_COOKIE['username']}'") ); //
$sql = "SELECT `group` FROM `soc_users_groups` WHERE `user`='{$user['id']}'"; //
$sql .= " LIMIT ". ($pageno - 1) * $items. ",$items"; // додаємо до запиту ліміт.
while ( $row = mysql_fetch_array( $res ) )
$groups[] = @mysql_fetch_array( mysql_query( "SELECT * FROM `soc_groups` WHERE `id`='{$row['group']}'" ) );//
вибираємо с таблиці, яка показує в яких групах вже перебуває користувач та записуємо дані у змінну, яку и повертаємо нижче.
function UsersInfo(pageno = '', $items = ''){ //
за допомогою функції дізнаємося інформацію про користувачів які існують в группі для виводу на екран.
$sql = "SELECT `soc_users`.* FROM `soc_users`,`soc_users_groups` WHERE `soc_users`.`id`=`soc_users_groups`.`user` AND `soc_users_groups`.`group` = '{$_REQUEST['groupname']}'"; //
будуємо запит, де вибираємо усі данні про користувача с таблиці де ідентифікатор відповідає полю user і ідентифікатор групи дорівнює змінній, яку ми отримаємо.
$sql .= " LIMIT ". ($pageno - 1) * $items. ",$items";
$res_users = mysql_query( $sql ); //
while ( $row = @mysql_fetch_assoc( $res_users ) )
функція допомагає дізнатись загальну кількість проектів у групі.
$sql = "SELECT `soc_works`.* FROM `soc_works`,`soc_users_groups` WHERE `soc_works`.`author_id`=`soc_users_groups`.`user` AND `soc_users_groups`.`group` = '{$_GET['groupname']}'";
$res_users = mysql_query( $sql ); //
будуємо запит, де вибираємо проекти користувачів які існують в групі.
$count = @mysql_num_rows($res_users); //
function ShowProject( $pageno = '', $items = '' ){ //
вибір усіх проектів користувачів які існують у групі.
$sql = "SELECT `soc_works`.* FROM `soc_works`,`soc_users_groups` WHERE `soc_works`.`author_id`=`soc_users_groups`.`user` AND `soc_users_groups`.`group` = '{$_GET['groupname']}'"; //
будуємо запит де вибираємо проекти за умови виконання усіх умов які вказані в запиті.
$sql .= " LIMIT ". ($pageno - 1) * $items. ",$items"; // додаємо ліміт, якщо змінна передається.
while ( $row = @mysql_fetch_assoc( $res_users ) )
function Randomize( $projects ){ //
функція яка вибирає 4 проекта із загальної кількості в повертає в довільному порядку.
записуємо кількість проектів які треба відображати в довільному порядку
if ( count( $projects ) > $num){ //
якщо загальна кількість проектів більша за 4 то робимо цикл
$randr = rand( 0,count( $projects )-1 ); //
генеруємо довільне число від 0 до загальної кількості проектів.
for($q = 0; $qDelete Group";
elseif($admin_group['admin'] AND $option == 'outer')
return "Delete Group";
return "Leave Group";
return "Leave Group";
return "Join Group";
return "Join Group";
if( $admin_group['admin'] AND $option == 'inner' )
return "Delete Group";
elseif($admin_group['admin'] AND $option == 'outer')
return "Delete Group";
return "Leave Group";
return "Leave Group";
from_top = $(document).scrollTop();
window_height = $(window).height();
element_height = window_height/2 - 75;
$('#alert_join_private_group').css('top',element_height+'px');
element_width = $(window).width()/2 - 165;
$('#alert_join_private_group').css('left',element_width+'px');
$('#alert_join_private_group').show();
$('#event_admin_id').val('{$group['admin']}');
$('#event_user_id').val('{$_COOKIE['username']}');
style=\"color:#626667;font-size:11px;padding-left:6px;\">Join Group";
from_top = $(document).scrollTop();
window_height = $(window).height();
element_height = window_height/2 - 75;
$('#alert_join_private_group').css('top',element_height+'px');
element_width = $(window).width()/2 - 165;
$('#alert_join_private_group').css('left',element_width+'px');
$('#alert_join_private_group').show();
$('#event_admin_id').val('{$group['admin']}');
$('#event_user_id').val('{$_COOKIE['username']}');
style=\"color:#6D94FF;font-size:11px;font-weight:bold;font-family:Arial,sans-serif;cursor:pointer;\">Join Group";
return "Leave Group";
return "Leave Group";
return "Join Group";
return "Join Group";
функція видалення групи. Видаляємо з усіх таблиць де зустрічаються записи про таблиці, видаляємо іх, потім видаляємо усі картинки що були загружені користувачами на сервер у цю групу.
mysql_query("DELETE FROM `soc_disc` WHERE `group_id`='{$_GET['groupname']}'");
mysql_query("DELETE FROM `soc_media_comments` WHERE `group_id`='{$_GET['groupname']}'");
mysql_query("DELETE FROM `soc_users_groups` WHERE `group`='{$_GET['groupname']}'");
$res = mysql_query("SELECT * FROM `soc_upload_files` WHERE `group_id`='{$_GET['groupname']}'");
while ( $row = mysql_fetch_array( $res ) ){
mysql_query("DELETE FROM `soc_upload_files` WHERE `group_id`='{$_GET['groupname']}'") or die(mysql_error());
$res_main = mysql_query("SELECT * FROM `soc_groups` WHERE `id`='{$_GET['groupname']}'") or die(mysql_error());
while ( $row_main = mysql_fetch_array( $res_main ) ){
mysql_query("DELETE FROM `soc_groups` WHERE `id`='{$_GET['groupname']}'") or die(mysql_error());
header("Location:index.php?page=mygroup");
за допомогою функції вибираємо останню завантажену картинку користувача.
$user = @mysql_fetch_array( mysql_query( "SELECT * FROM `soc_users` WHERE `username`='{$_COOKIE['username']}'" ) );
$res = mysql_query( "SELECT * FROM `soc_upload_files` WHERE author_id='{$user['id']}' ORDER BY `time` DESC LIMIT 1" );
$result = @mysql_fetch_array($res);
вибираємо усі коментарі для даної картинки.Якщо коментарів немає, то повертаємо відповідний напис
Розробка соціальної мережі "Social network Artput" дипломная работа. Программирование, компьютеры и кибернетика.
Дневник Производственной Практики Котельной
Курсовая Работа На Тему Социально-Экономические Последствия Безработицы И Методы Ее Преодоления
Реферат: Системы электронных платежей
Сочинение На Тему Ученик Превзошел Учителя
Контрольная Работа По Литературе 10 Класс Гоголь
Реферат: Брюс, Яков Вилимович
Законодательный процесс и его стадии.
Доклад по теме Андинцы
Реферат по теме Диагностика и восстановительное лечение больных с заболеваниями периферической нервной системы
Речевое Поведение В Бытовом Общении Эссе
Реферат По Технологии 5 Класс Здоровое Питание
Лучевая Диагностика Легких Реферат
Реферат: Методы расчета в цепи синусоидального тока
Курсовая работа по теме Технико-экономические расчеты к проекту отделения по получению оксида европия
Литературные Взгляды Тургенева Реферат
Реферат: Анализ экономической эффективности природоохранной деятельности Фонда социально-экономической
Реферат На Тему Применение Иммуноанализа В Ветеринарии
Курсовая работа по теме Государственные закупки, их роль и значение для частного бизнеса
Реферат: Знаменитые Фавориты русских императриц и их влияние на судьбу Российского государства
Сочинение по теме Гобсек. Оноре де Бальзак
Порівняний аналіз двох романів "Американський психопат" Брет Істон Елліс і "Раби Майкрософта" Дуглас Коупленд - Литература реферат
Понятие организованной группы в уголовном законодательстве - Государство и право доклад
Функции менеджмента - Менеджмент и трудовые отношения курсовая работа


Report Page