SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij računarstva IZRAD
|
|
- Almir Milojević
- пре 5 година
- Прикази:
Транскрипт
1 SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij računarstva IZRADA DRUŠTVENE MREŽE Završni rad Marko Huljak Osijek, 2017.
2 SADRŽAJ 1. UVOD Zadatak završnog rada FRONT-END TEHNOLOGIJE HTML CSS BACK-END TEHNOLOGIJE PHP MySQL PhpMyAdmin IZRADA DRUŠTVENE MREŽE Baza podataka Korisnička sučelja Poruke Korisničke objave Korisnički profil Opis koda ZAKLJUČAK...30 LITERATURA...31 SAŽETAK...32 ABSTRACT...33 ŽIVOTOPIS...34 PRILOZI
3 1. UVOD U ovom završnom radu usredotočiti ćemo se na izradu sustava za dijeljenje sadržaja sa drugim korisnicima. Temeljna ideja je napraviti društvenu mrežu pristojnog dizajna i jednostavnu za korištenje, sa svim osnovnim funkcijama i mogućnostima. Vidljivi dio mreže opisan i dizajniran je front-end tehnologijama, točnije, markup programskim jezikom HTML i stilskim jezikom CSS. Za programski, nevidljivi dio korišten je PHP programski jezik, dok je za izradu baze podataka korišten MySQL i sve to uz pomoć XAMPP programskog paketa. U poglavlju Društvene mreže, prije svega, opisana je definicija, uporaba, te uloga društvenih mreža, zatim se spominje njihov utjecaj na društvo i poslovanje, te pozitivne i negativne strane istih. Pojašnjeni su i pojmovi privatnost i sigurnost korištenja društvenih mreža, te su ukratko opisane najpopularnije društvene mreže današnjice. U nastavku je uz jednostavne primjere opisan skup tehnologija korištenih u razvoju mreže, te je zatim detaljno opisana izrada društvene mreže. 1.1 Zadatak završnog rada Izraditi društvenu mrežu u kojoj korisnik sa svojim prijateljima može dijeliti objave, slike i sadržaje. Sadržaj na profilu korisnika može biti javan ili podijeljen samo sa pojedincima i grupama. Korisnici mogu komunicirati putem chat-a. 2
4 2. FRONT-END TEHNOLOGIJE Front-end odnosno prednji, vidljivi je dio web stranice s kojim korisnici izravno stupaju u interakciju. Front-end je sve ono što je vidljivo prilikom surfanja Internetom, od fontova i boja do padajućih izbornika i klizača. Stručnije rečeno, to je mješavina HTML, CSS i Javascript kôda u prozoru web pretraživača u vizualnom obliku. Za raliku od back-end tehnologije koja se izvodi na serveru (PHP, MySQL), front-end tehnologija se izvodi na korisnikovom računalu, tzv. client-side. Pokretanje bilo koje internet stranice zahtjeva minimalne hardverske zahtjeve jer se radi o malom zauzeću radne memorije i snage CPU-a, osim ako se radi o Flash animacijama. No, Flash animacije se više ne koriste zbog velikog interesa za Javascript-om ili točnije jquery-jem, koji za razliku od Flasha radi na svakom uređaju i kojemu je potrebno manje vrijeme učitavanja sadržaja i zahtjeva manje hardverske zahtjeve. 2.1 HTML HTML (engl. HyperText Markup Language) je najznačajniji jezik svakog internet preglednika koji služi za oblikovanje i uređenje sadržaja internet stranica. Činjenica da se njime ne može izvršiti nikakva zadaća niti logika, govori nam da HTML zapravo nije programski jezik. Odnosno, to je prezentacijski jezik za označavanje kojim se određuje sadržaj, struktura i funkcija HTML dokumenta. Kao i bilo koji drugi dokument, HTML dokument ima određenu strukturu. HTML oznaka (engl. tag) je oznaka kojom se definira početak i kraj sadržaja svakog HTML elementa. HTML oznake se na neki način ponašaju poput spremnika, kontejnera (engl. container) koji govore koja se vrsta informacije nalazi u istom. Svaka HTML oznaka se sastoji od identifikatora i od dvije šiljaste zagrade (znakovi < i >). Identifikator koji se nalazi unutar navedenih zagrada nam govori o kojem se točno HTML elementu radi. Početni HTML element unutar zagrada sadrži identifikator, dok završni element pored identifikatora, sadrži i kosu crtu, odnosno oznaku koja pokazuje da je riječ o završnom, a ne početnom elementu. Unutar početne oznake nekih HTML elemenata mogu se nalaziti dodatna svojstva, atributi koji većim brojem informacija definiraju sadržaj elementa. Atributi se sastoje od dva dijela, imena i vrijednosti koji su odvojeni znakom jednakosti. Svaki HTML dokument bi trebao započeti sa DOCTYPE deklaracijom verzije koja opisuje koja se inačica HTML-a jezika koristi u dokumentu. DOCTYPE deklaracija nije HTML 3
5 element, već instrukcija pregledniku koja se nalazi na samom početku svakog HTML dokumenta. Sav sadržaj svake web stranice se nalazi unutar elementa koji počinje oznakom <html>, a završava </html>. Obavezno ga je navesti unutar svakog HTML dokumenta kako bi web preglednik znao prepoznati da je riječ o HTML dokumentu. Unutar <html> elementa, prvo što se navodi je element koji sadrži informacije o stranici. Govorimo o <head> elementu koji se zapravo ne prikazuje kao dio sadržaja stranice, već predstavlja zaglavlje HTML dokumenta. Naslov web stranice se nalazi u elementu <title> koji se smješta unutar zaglavlja. Kao što je već navedeno, naslov stranice se ne prikazuje kao dio sadržaja, već se prikazuje na naslovnoj traci preglednika. Nakon <head> elementa navodi se element <body> koji prikazuje sav sadržaj koji je prikazan u web pregledniku. HTML podržava i pisanje komentara koji se otvaraju sa oznakom <!--, a zatvaraju sa -->. HTML dokument pohranjuje se lokalno na računalu kao datoteka s ekstenzijom.html [1]. U nastavku možemo vidjeti najjednostavniji primjer HTML dokumenta. <!DOCTYPE html> <html> <head> <title>naziv stranice</title> </head> <body> <p>dobrodošli na stranicu</p> </body> </html> U izradi društvene mreže je korišten HTML5 radi semantičkih elemenata zbog lakšeg pisanja i razumijevanja koda. 4
6 2.2 CSS CSS (engl. Cascading Style Sheets), odnosno kaskadni stilovi, jednostavan su mehanizam za dodavanje stilova. Riječ cascading odnosi se na kaskadnu primjenu CSS pravila koja mogu biti primijenjena na sve elemente, samo na neke elemente ili samo na točno određeni element. Oblikovanje izgleda web stranice moguće je bilo ostvariti i prije pojave CSS-a, pomoću HTML-a, odnosno unutar <style> elementa. No, tada se stvara problem miješanja strukture i sadržaja što narušava preglednost HTML koda čija je jedina svrha opisati, prezentirati web stranicu. Još jedna mana toga je ta da bi se HTML kod morao ponavljati iznova na svakom elementu i na svakoj stranici, što otežava posao programera. CSS nastoji ukloniti upravo te probleme, odvajanjem stilova od prezentacijskog koda u "Style Sheets", eksterne datoteke sa.css extenzijom. Kao što je već navedeno, style sheet u CSS-u sastoji se od nekoliko pravila. Svako pravilo sastoji se od selektora i deklaracijskog bloka. Selektor određuje element na koji se stilsko pravilo odnosi dok deklaracija određuje kako izgleda sadržaj opisan CSS-om. Sintaksa za stilska pravila uvijek slijedi sljedeći uzorak: selektor {deklaracija;. Deklaracija se dijeli na dvije stavke: Properties (aspekti kako da računalo prikaže tekst i grafiku) i Values (podaci koji određuju kao želimo da tekst i slike izgledaju na našoj stranici). Properties se od vrijednosti (value) u deklaraciji odvaja dvotočkom, a svaka deklaracija završava s točkom-zarez: selector {property: value; [2]. Za primjer ćemo uzeti p element (paragraf) kojim ćemo pomoću CSS-a definirati boju i veličinu fonta. HTML dokument <p class= pozdrav > Hello World </p> CSS dokument.pozdrav { color:red; font-size:32px; U navedenom CSS kodu smo koristili selektor.pozdrav, te mu dodali crvenu boju i veličinu fonta 32px. Kao selektor smo mogli koristiti i p element, te bismo dobili isti rezultat, s razlikom da bi to utjecalo na sve p elemente. CSS dokument P { color:red; font-size:32px; 5
7 3. BACK-END TEHNOLOGIJE Back-end predstavlja razvoj svega onoga što se nalazi u pozadini web stranice, web aplikacije i odvija se bez uvida krajnjeg korisnika, posjetioca stranice. Odnosno to je nevidljivi dio web stranice koji kontrolira tok podataka između aplikacija i preglednika. U ovoj tehnologiji, pristup web stranici imaju samo administratori i služi im za upravljanje web serverom, korisnicima i sadržajem nekog web sjedišta. Pristup u back-end nekog web servisa je najčešće osiguran korisničkim imenom i lozinkom. Kao što je već rečeno, back-end je usmjeren samo prema serverskoj strani (engl. server-side), što znači da se svi poslovi odvijaju na serveru a podaci se šalju u preglednik, koji prikazuje te podatke. Uvjet da se na osobnom računalu razvijaju web stranice sa back-end internet tehnologijama je instalirati programsko sučelje XAMPP koje simulira internet server, točnije Apache HTTP server. U izradi društvene mreže, od back-end tehnologije, koristiti ćemo PHP programski jezik i MySQL baze podataka. 3.1 PHP PHP svoj naziv temelji na rekurzivnoj definiciji, Hypertext preprocessor. Skriptni je jezik koji izvršava skripte na serverskoj strani (engl. server-side scripting). Uzimajući PHP kod kao ulaz, kreira logiku dinamičkih web stranica kao izlaz. PHP ima razne načine korištenja. Moguće ga je koristiti kao podršku web aplikacija, kao konzolnu aplikaciju za pisanje skripti sa komandne linije, te ga je moguće koristiti za pisanje aplikacija u PHP-u koristeći OpenGL biblioteke za trodimenzionalnu vizualizaciju i sl. Zbog svoje sintakse koju je naslijedio od programskog jezika C i zbog svoje jednostavnosti, stekao je veliku popularnost. Ima mogućnost za čisto proceduralno programiranje, ali isto tako omogućava i korištenje klasa i drugih koncepata objektno orijentiranog programiranja. Budući da je besplatan, neovisan o operacijskim sustavima, te ima podršku za korištenje širokom paletom baza podataka, PHP se smatra prvim izborom kompanija za kreiranje vlastitih mrežnih sustava. Izuzetno je jednostavno nadograditi web aplikaciju korištenjem specifičnih ekstenzija poput mysqli, apstraktnog PDO (PHP Data Objects) sloja ili spajanjem na bilo koju bazu koja podržava ODBC (Open Database Connection) standard [3]. 6
8 PHP se izvršava u dokumentu unutar svojih oznaka, a primjeri ispisa teksta su prikazani u nastavku. <?php echo 'Pozdrav svima';?> i <?php printr ('Pozdrav svima');?> Rezultat ovih primjera je isti, s time da smo koristili različite funkcije za prikaz teksta. 3.2 MySQL MySQL je sustav za upravljanje relacijskim bazama podataka, odnosno client/server sustav koji se sastoji od multi-threaded SQL servera, nekoliko dodatnih utility programa koji služe za olakšavanje administracije BP. Također sadrži i dodatne programe koji su potrebni za rad servera. Srce sistema naravno čini MySQL server, on je ustvari menadžer sustava BP. Kroz njega prolaze sve instrukcije korisnika koje vrše upravljanje nad bazom podataka. MySQL nam dozvoljava kreiranje većeg broja baza podataka, te upravljanje podacima iz više baza podataka unutar jednog projekta. Na serveru je svakom korisničkom računu moguće dodijeliti određena prava pristupa na cijeli server ili pojedine baze. Tako imamo prava pristupa postojećim bazama, prava za stvaranje novih baza, te pravo uređivanja postojećih baza, odnosno pravo izmjene i unosa podataka. Relacijska baza podataka je baza podataka koja podatke radije sprema u odvojene tablice nego sve u jedno. Ovo daje brzinu i fleksibilnost bazama podataka. Tablice su povezane definiranim relacijama što omogućuje kombiniranje podataka iz nekoliko tablica u slučaju da postoji zahtjev za to. MySQL kao sustav može raditi na mnogo različitih operacijskih sustava, a najčešće se koristi na Apache web-serverima u kombinaciji sa PHP-om. Radi se o software-u kojem se na sličan način pristupanja web, HTTP serverima pristupa preko mreže, sa jedinom razlikom da se prilikom pristupa MySQL-u zahtjeva unošenje korisničkog imena i lozinke. Prilikom instalacije MySQL-a, stvara superadministrator (engl. root) kojem su dozvoljena sva administracijska prava. Konfiguracijska datoteka MySQL-a je /etc/mysql/my.cnf. U njoj se mogu podesiti osnovni parametri MySQL sustava. MySQL je također stekao veliku popularnost upravo radi toga što podržava sve operacijske 7
9 sustave, i zbog toga što se izdaje pod GPL licencom, što znači da je besplatan za kućnu upotrebu [4]. Primjer izrade baze podataka se nalazi u nastavku. CREATE DATABASE baza_podataka; CREATE TABLE korisnici( id_korisnika INT(5), korisnicko_ime VARCHAR(20), lozinka VARCHAR(20) ); Navedene naredbe predstavljaju bazu podataka pod nazivom ''baza_podataka'' koja sadrži tablicu ''korisnici''. Tablica ''korisnici'' sadrži 3 kolone: ''id_korisnika'', ''korisnicko_ime'' i ''lozinka'' PhpMyAdmin PhpMyAdmin je besplatno, open-source grafičko korisničko sučelje napisano u PHP programskom jeziku. Koristi se za upravljanje podacima i administraciju unutar MySQL baze podataka izravno u Internet pregledniku. Znači, omogućeno je jednostavno, bez poznavanja kôda, upravljanje bazama podataka, tablicama, poljima, indeksima, korisnicima, dozvolama pristupa samim bazama, izvršavati vlastite upite na bazu i još mnogo drugih stvari. Phpmyadmin se pokreće na serverskoj strani, što znači da dolazi unutar programskog paketa XAMPP. Sl.3.1. Izgled Phpmyadmin aplikacije 8
10 4. IZRADA DRUŠTVENE MREŽE Prije samoga početka izrade društvene mreže, najbitniji parametar je imati dobar plan za izradu, odnosno dijagram toka. Dijagram započinje sa zahtjevom da se korisnik registrira, unese svoje podatke, te da se sa istom adresom i lozinkom prijavi. Nakon uspješne autentifikacije, pokazuje se naslovnica (engl. home page) na kojoj se prikazuje objavljeni sadržaj, te sa koje se može pristupiti raznim mogućnostima kao što su uređivanje profila, čitanje i slanje poruka, dodavanje kao i uklanjanje prijatelja, itd. Sl.4.1. Dijagram toka društvene mreže 9
11 4.1 Baza podataka Sljedeći korak je izrada baze podataka. Baza podataka se sastoji od 6 tablica koje imaju funkcijsku ulogu u izradi mreže. Tako, u tablici users se nalazi popis svih korisnika koji imaju mogućnost upravljanja sadržaja na stranici, u tablici posts se nalaze svi objavljeni sadržaji podijeljeni od strane korisnika, a mogu biti javni ili privatni, ovisno o želji korisnika. U tablici comments se nalaze komentari svih objava koji su stranim ključevima povezani sa glavnim ključevima prethodno spomenutim tablicama. Zatim, imamo tablicu topics koja sadrži teme kojima pripadaju određene objave. Tablica friend_requests pomoću stranog ključa koji je ujedno primarni ključ tablice users prikazuje zahtjeve za prijateljstvo između korisnika u kojima se točno vidi koji korisnik kojem šalje zahtjev. Također imamo i tablicu messages u kojoj se spremaju poruke na isti način kao i u tablici friend_requests pomoću stranih ključeva tablice korisnika, dakle zna se koji korisnik kojem korisniku šalje poruku i to pod točno određeno vrijeme. Sl.4.2 UML dijagram društvene mreže Nakon izrade baze podataka u programskom paketu XAMPP pomoću sučelja za upravljanje podacima, točnije PhpMyAdmin, imamo uvid koji nam podaci trebaju za izradu mreže [5]. 10
12 4.2 Korisnička sučelja Nakon baze podataka, prvo je potrebno izraditi, tj. dizajnirati pojedino korisničko sučelje. Za izradu sučelja koristit ćemo HTML i CSS te front-end okvir (engl. framework) Bootstrap [6]. Izgled početne stranice se vidi na sl.4.3. Sl.4.3 Izgled početne stranice Na stranici su označeni dijelovi stranice sa rednim brojevima. U nastavku se nalazi opis pojedinog bloka: 1. Zaglavlje stranice (engl. header), 2. Registracijska forma, 3. Podnožje stranice (engl. footer) Zaglavlje stranice sadrži Login formu u koju korisnik, ako je već registriran, unosi svoju adresu i odgovarajuću lozinku te nakon uspješne prijave ima pristup društvenoj mreži. Registracijska forma nalazi se u glavnom sadržajnom bloku (engl. container). Ona omogućuje registriranje korisnika tako što korisnik unosi svoje podatke kao što su ime, adresa, lozinka, spol, itd. Footer, odnosno donji dio stranice sadrži obično dodatne i manje važne sadržaje i/ili 11
13 linkove, npr. informacije o privatnosti, autorskim pravima, odricanju, itd. Nakon uspješne autentifikacije, korisniku se prikazuje profil stranica. Izgled naslovnice je prikazan na slici 4.4. Sl.4.4 Izgled profil stranice Na stranici su označeni dijelovi stranice sa rednim brojevima. U nastavku se nalazi opis pojedinog bloka: 1. Navigacijska traka (engl. navigation bar) 2. Bočna traka (engl. side bar), 3. Forma za objavljivanje sadržaja 4. Blok za prikazivanje objavljenog sadržaja Navigacijska traka sadrži popis tema koju korisnik ako odabere, prikazat će mu se samo objave koje pripadaju odabranoj temi. Zatim sadrži Home link koji prilikom klika, vraća korisnika na profil stranicu na kojoj su prikazane objave svih tema, te Members link koji prikazuje sve registrirane korisnike kao što je prikazano na sl
14 Sl.4.5 Prikaz svih registriranih korisnika Pored linkova, navigacijska traka sadrži formu za pretraživanje korisnika. Nakon što korisnik unese ime korisnika pojavit će mu se popis svih korisnika koji sadrže uneseno ime. Za primjer je u formu uneseno ime Petra, te je dobiven rezultat kao što je prikazano na sl.4.6. Sl.4.6 Prikaz traženih korisnika Bočna traka prikazuje informacije prijavljenog, ulogiranog korisnika, njegovu profilnu sliku, te opcije za prikazivanje poruka, vlastitih objava, zahtjeva za prijateljstvo (sl.4.7) i svih prijatelja (sl.4.8). Sl.4.7 Prikaz zahtjeva za prijateljstvo 13
15 Sl.4.8 Prikaz svih prijatelja Tu je i opcija za uređivanje profila pomoću koje korisnik može promijeniti svoje podatke kao i profilnu sliku (sl.4.9). Prilikom promjene lozinke, od korisnika se traži da prvo unese staru lozinku, pa zatim novu koja mora biti različita od stare lozinke. Nakon toga ponovno upisuje novu lozinku kako bi potvrdio da nije zabunom unio krivu lozinku u odnosu na željenu. Da bi se spremile promjene, korisnik mora kliknuti na gumb Update. Sl.4.9 Prikaz forme za uređivanje profila 14
16 Zatim, tu je i link koji odjavljuje korisnika i vraća nazad na početnu stranicu. U glavnom, sadržajnom bloku, nalazi se forma za objavljivanje sadržaja, a ispod nje blok za prikazivanje objavljenog sadržaja. Prilikom objavljivanja sadržaja, od korisnika se traži da unese naslov objave, opis objave, da odabere temu pod kojom će se željeni sadržaj prikazati, te da odabere da li će sadržaj biti javan ili prikazan samo prijateljima. Korisnik ima i mogućnost objavljivanja slike koja dolazi u opis objave. U bloku za prikazivanje objava, prikazane su sve javne objave i objave prijatelja. Svaka objava prikazuje ime korisnika koji ju objavljuje, njegovu profilnu sliku, naslov objave, tema pod kojom se prikazuje, vrijeme objavljivanja, i naravno sadržaj objave. Ispod sadržaja, nalazi se gumb za prikazivanje komentara kao i komentiranje objava kao što je prikazano na sl Sl.4.10 Prikaz objave i komentara Korisnicima je omogućeno i brisanje vlastitih komentara na tuđim objavama i svih komentara na vlastitim objavama. Na gore prikazanoj slici, vidi se da je trenutno prijavljeni korisnik Petra Anic, te da je prikazan gumb za brisanje samo vlastitog komentara, pošto se nalazi na tuđoj objavi. 15
17 4.2.1 Poruke Ukoliko korisnik odabere opciju My messages, prikazat će se blok sa pristiglim porukama kao što je prikazano na slici Sl.4.11 Prikaz pristiglih poruka Korisniku je poznato od koga dobiva poruke, naslov poruka, te točan datum i vrijeme dospijeća poruka. Klikom na naslov poruke ili na Reply link, proširuje se blok sa naslovom poruke, prikazanim sadržajem poruke, te formom za odgovaranje na poruku (sl.4.12). Sl.4.12 Prikaz poruka sa formom za odgovaranje 16
18 Klikom na link Sent Items otvara se novi blok koji sadrži sve poslane poruke u istom formatu kao što je prikazano u bloku dospjelih poruka sa jedinom razlikom u prvom stupcu tablice, odnosno umjesto pošiljatelja prikazan je primatelj. Sl.4.13 Prikaz poslanih poruka Sadržaj poslane poruke se prikazuje na isti način kao i kod primljenih poruka, klikom na naslov poruke ili link View Reply. Klikom na link My Inbox se vraća na primljene poruke. Sl.4.14 Prikaz sadržaja poslane poruke Korisničke objave Kako bi korisnik vidio sve svoje objave, potrebno je kliknuti na link My Posts koji se nalazi na bočnoj traci. Nakon toga, sve dohvaćene vlastite objave iz baze podataka, pored opcija za prikaz svih komentara i komentiranja (gumb View comments) sada imaju još i mogućnosti brisanja (gumb Delete) i uređivanja (gumb Edit) što je prikazano na sl
19 Sl.4.15 Prikaz svih vlastitih objava Prilikom brisanja objave, briše se kompletno iz baze podataka, naravno, zajedno sa svim komentarima koje sadrži. Ako se želi izmijeniti objavljeni sadržaj, naslov, čak i tema pod kojom se prikazuje, klikom na gumb Edit otvara se novi blok u kojem je to moguće ostvariti. Klikom na Update Post u bazu podataka se pod istim indeksom sprema izmijenjena objava. Sl.4.16 Prikaz opcije uređivanja objave 18
20 4.2.3 Korisnički profil Blok korisničkog profila se prikazuje kada korisnik klikne na profilnu sliku ili ime drugog korisnika. Profil sadrži opće informacije o korisniku (ime, spol, država prebivanja, datum učlanjenja na društvenu mrežu), profilnu sliku u većem formatu, te gumb za slanje nove poruke i gumb za prijateljstvo. Ukoliko je korisnik prijatelj, u našem slučaju jest, bit će prikazan gumb Unfriend koji uklanja korisnika kao prijatelja. U protivnom bio bi gumb Add friend koji služi za dodavanje korisnika kao prijatelja. U slučaju da korisnici međusobno nisu prijatelji, a korisnik čiji je profil, je poslao zahtjev za prijateljstvo ulogiranom korisniku, bili bi prikazani gumbovi kao što smo vidjeli u bloku za zahtjeve prijateljstva, odnosno gumbovi Accept i Ignore. Profil sadrži i popis svih korisnikovih prijatelja, kao i nove članove društvene mreže. Sl.5.17 Prikaz korisničkog profila Za pristupanje formi za slanje nove poruke, potrebno je kliknuti na gumb Send him a message. Tada se forma prikazuje u novom bloku kao što to vidimo na sl
21 Sl.4.18 Prikaz forme za slanje poruke Forma je slična formi za odgovaranje na poruke s razlikom da ovdje, osim sadržaja poruke unosimo i naslov poruke. Nakon uspješno poslane poruke, korisnik se preusmjerava nazad na korisnički profil. 4.3 Opis koda Kao što je to već ranije spomenuto, za izradu društvene mreže koristiti ćemo HTML i CSS za front-end, dok za back-end koristimo PHP i MySQL programske jezike. Izrada počinje sa kreiranjem mape proizvoljnog naziva unutar korijenske, root mape, naziva htdocs koja se nalazi unutar instalacijske mape XAMPP programskog okruženja. U kreiranu mapu spremamo sve datoteke potrebne za rad projekta. Da bismo povezali naše datoteke sa kreiranom bazom podataka, potrebno je unutar.php datoteke napraviti konekciju sa bazom kao što je prikazano u sljedećem kodu. <?php $con = mysqli_connect("localhost","root","","social_network") or die ("Connection wasn t established");?> Vidimo da se varijabli con dodjeljuje rezultat funkcije mysqli_connect koja prima četiri parametara, a to su server, korisnik, lozinka i baza podataka s kojom se korisnik povezuje. Ukoliko se ne ostvari konekcija, pojaviti će se poruka Connection wasn t established. 20
22 Budući da ima mnogo linija koda, u nastavku će biti prikazani samo bitniji dijelovi koda. Kod za registraciju korisnika: if(isset($_post['sign_up'])){ // spremanje unesenih podataka u varijable $name = mysqli_real_escape_string($con, $_POST['u_name']); // ime $pass = mysqli_real_escape_string($con, $_POST['u_pass']); // lozinka $c_pass = mysqli_real_escape_string($con, $_POST['c_pass']); // potvrdna lozinka $ = mysqli_real_escape_string($con, $_POST['u_ ']); // adresa $country = mysqli_real_escape_string($con, $_POST['u_country']); //država $gender = mysqli_real_escape_string($con, $_POST['u_gender']); // spol $b_day = mysqli_real_escape_string($con, $_POST['u_birthday']); // datum rođenja $status = "unverified"; // da li je korisnički račun ovjeren $posts = "No"; // zadano ne za objave, prikazuje da li korisnik ima objavu $get_ = "select * from users where user_ ='$ '"; $run_ = mysqli_query($con, $get_ ); $check = mysqli_num_rows($run_ ); // provjeravanje postojeće adrese if($check==1){ echo "<script>alert(' is already registered, please try another one!')</script>"; exit(); // postavljanje uvjeta dužine lozinke if(strlen($pass) && strlen($c_pass) < 8){ echo "<script>alert('password should contain minimum 8 characters!')</script>"; exit(); if($pass == $c_pass){ // provjeravanje identičnosti lozinke i potvrdne lozinke // unošenje podataka u bazu $insert = "insert into users (user_name, user_pass, user_ , user_country, user_gender, user_b_day, user_image, register_date, status, posts) values ('$name', '$pass', '$ ', '$country', '$gender', '$b_day', 'default.jpg', NOW(), '$status', '$posts')"; $run_insert = mysqli_query($con, $insert); // provjera uspješnosti ažuriranja baze if($run_insert){ $_SESSION['user_name']= $name; echo "<script>alert('registration Successful!')</script>"; echo "<script>window.open('home.php', '_self')</script>"; else{ // ako je neispravno, izbaci upozorenje echo "<h4>password does not match the confirm password!</h4>"; Kod se izvršava tek kada korisnik klikne na gumb sign up. Prvo se provjerava da li je adresa zauzeta, odnosno, da li postoji ista u tablici users. Ako postoji, izbaciti će skriptni prozor upozorenja. U protivnom kod nastavlja dalje sa izvršavanjem. Od korisnika se očekuje da unese lozinku koja minimalno sadrži osam znakova. Lozinka se zatim mora unijeti još jednom radi 21
23 provjere što se provjerava uvjetom if. Kada su svi uvjeti ispunjeni i sve forme popunjene, uneseni podaci se upitom spremaju u bazu podataka i time stvaraju novi redak u tablici korisnika. Kod za prijavu korisnika: if(isset($_post['login'])){ // spremanje unesene adrese i lozinke u varijable $ = mysqli_real_escape_string($con, $_POST[' ']); $pass = mysqli_real_escape_string($con, $_POST['pass']); // uspoređivanje unesenih podataka sa onima u bazi $get_user = "select * from users where user_ ='$ ' AND user_pass='$pass'"; $run_user = mysqli_query($con, $get_user); $check = mysqli_num_rows($run_user); // provjera ispravnosti adrese i lozinke if($check==1){ $_SESSION['user_ ']=$ ; $user_id_query = "SELECT user_id FROM users WHERE user_ ='$ ' AND user_pass='$pass'"; $run_topics = mysqli_query($con, $user_id_query); while($row = mysqli_fetch_array($run_topics)){ $user_id = $row['user_id']; $_SESSION['user_id'] = $user_id; echo "<script>window.open('home.php', '_self')</script>"; // ako je neispravno, izbaci upozorenje else{ echo "<script>alert('password or is not correct!')</script>"; Gumbom Login se prvo uspoređuje par podataka ( i lozinka) login forme sa svim parovima takvih podataka u tablici users. Ako postoji isti, stvara se nova sesija preko adrese pomoću koje se dohvaća korisnikov indeks iz tablice. Nakon toga, stvara se sesija preko indeksa što znači da je ostvaren pristup društvenoj mreži. Kod funkcije za objavljivanje sadržaja: function insertpost(){ if(isset($_post['sub'])){ global $con; // globalna varijabla konekcije baze podataka global $user_id; // indeks korisnika $title = addslashes($_post['title']); // naslov objave $content = addslashes($_post['content']); // sadržaj objave $topic = $_POST['topic']; // tema pod kojom se objava pokazuje $is_public = $_POST['visibly']; // vidljivost objave; samo prijatelji ili javna // dohvaćanje slike $post_image = $_FILES['post_image']['name']; // slika $image_tmp = $_FILES['post_image']['tmp_name']; // privremena slika 22
24 // spremanje slike u mapu post_images move_uploaded_file($image_tmp, "user/post_images/$post_image"); // postavljanje uvjeta dužine naslova objave if(strlen($title)>35){ echo "<script>alert('title can contain maximum 35 characters!')</script>"; echo "<script>window.open('home.php','_self')</script>"; exit(); // ako je ispunjen uvjet, unesi podatke u bazu else { $insert = "insert into posts(user_id, topic_id, post_title, post_content, image, post_date, is_public) values('$user_id','$topic','$title','$content','$post_image', NOW(), $is_public)"; $run = mysqli_query($con, $insert); // nakon prve objave korisnika, stavlja se aktivan status objava, tj. posts=yes if($run){ $update = "update users set posts='yes' where user_id = '$user_id'"; $run_update = mysqli_query($con, $update); echo "<script>window.open('home.php','_self')</script>"; Funkcija započinje uvjetom if koji od korisnika zahtjeva da klikne na gumb Post to Timeline. Ukoliko klikne nakon što unese željeni sadržaj u formu, postavlja se uvjet da naslov ne smije sadržavati više od 35 znakova. Forma ima mogućnost objavljivanja slike, što zahtjeva da se u formu doda atribut enctype='multipart/form-data'. Slika koju korisnik objavljuje se za razliku od ostalih podataka, koji su spremljeni samo u bazi podataka, sprema i u mapu post_images. Po zadanom, novim korisnicima u tablici piše da nemaju niti jednu objavu. Nakon prve objave stvara se upit koji ažurira tablicu postavljanjem statusa objavljivanja aktivnim (posts = 'yes'). Kod funkcije za dohvaćanje objavljenog sadržaja iz baze podataka: function get_posts(){ global $con; $smyfriends = ''; // deklariranje string varijable prijatelja $my_friends_res = mysqli_fetch_assoc(mysqli_query($con, "SELECT friend_array FROM users WHERE user_id = ".$_SESSION['user_id'])); // dohvaćanje prijatelja, ako ih ima $smyfriends = $my_friends_res['friend_array']; $sfriendsfilter = ' '; // filter prijatelja, produžetak upita u bazu if($smyfriends!= '') // ako imamo prijatelje, filteru se dodaju indeksi prijatelja { $sfriendsfilter = "OR USER_ID IN (".$smyfriends.")"; $user_id = $_SESSION['user_id']; // dohvaćanje vlastitih, javnih objava, te objava prijatelja $get_posts = "select * from posts WHERE is_public = 1 ".$sfriendsfilter." or user_id='$user_id' ORDER by 1 DESC"; 23
25 $run_posts = mysqli_query($con, $get_posts); // petlja koja sprema dohvaćene podatke objava u varijable while($row_posts = mysqli_fetch_array($run_posts)){ $post_id = $row_posts['post_id']; $user_id = $row_posts['user_id']; $post_title = $row_posts['post_title']; $content = $row_posts['post_content']; $post_date = $row_posts['post_date']; $post_image = $row_posts['image']; $topic_id = $row_posts['topic_id']; // dohvaćanje teme pod kojom se objava prikazuje $topic ="select * from topics where topic_id='$topic_id'"; $run_topic = mysqli_query($con, $topic); $row_topic = mysqli_fetch_array($run_topic); $topic_title = $row_topic['topic_title']; //dohvaćanje korisnika koji je objavio sadržaj $user = "select * from users where user_id='$user_id' AND posts='yes'"; $run_user = mysqli_query($con, $user); $row_user = mysqli_fetch_array($run_user); $user_name = $row_user['user_name']; $user_image = $row_user['user_image']; // dohvaćanje komentara koji pripadaju objavi $get_com = "select * from comments where post_id='$post_id'"; $run_com = mysqli_query($con, $get_com); $count_com = mysqli_num_rows($run_com); // brojač komentara // prikazivanje sveg sadržaja odjednom echo "<div id='posts'> <p><img id='profile_pic' src='user/user_images/$user_image'/></p> <h3><a href='user_profile.php?u_id=$user_id'>$user_name</a></h3> <h3>$post_title <i style='font-size:12px;' color:black; value='$topic_id'>$topic_title</i></h3> <i style='font-size:12px;'>$post_date</i><br> <p id='post_content'>$content</p>"; if($post_image!= ""){ echo "<a href='user/post_images/".$post_image."' target='_blank'><img id='content_pic' style='width:100%' src='user/post_images/".$post_image."'></a>"; if($count_com==0){ // ako nema komentara prikaži gumb bez brojke komentara echo "<a class='btn btn-default' href='single.php?post_id=$post_id' style='float:right; padding:1px 5px; display:block;'><i class='fa fa-comments' ariahidden='true'></i> View comments</a></div><br>"; else{ // ako ima komentara, pored gumba prikaži koliko ih ima echo "<a class='btn btn-default' href='single.php?post_id=$post_id' style='float:right; padding:1px 5px; display:block;'><i class='fa fa-comments' ariahidden='true'></i> View comments ($count_com)</a></div><br>"; Funkcija prvo provjerava da li korisnik ima prijatelje. Ako ima, varijabli sfriendsfilter se dodjeljuje produžetak upita u bazu koji dohvaća objave prijatelja. Zatim se upitom dohvaćaju sve vlastite, javne objave i objave prijatelja. Podaci dohvaćenih objava se uz pomoć while petlje spremaju u varijable koje se koriste da bi objava bila prikazana. 24
26 Kod funkcije za dohvaćanje rezultata tražilice: function GetResults(){ global $con; if(isset($_get['user_query'])){ $search_term = $_GET['user_query']; // spremanje traženog stringa u varijablu // traženje korisnika koji sadrži traženi string $get_user = "select * from users where user_name LIKE '%$search_term%' ORDER by 1 DESC"; $run_user = mysqli_query($con, $get_user); $count_result = mysqli_num_rows($run_user); // brojač rezultata // ako nema rezultata, izbaci upozorenje if($count_result == 0){ echo "<h3>sorry, we don't have results for that user!</h3>"; exit(); // petlja koja sprema dohvaćene podatke korisnika u varijable while($row_user = mysqli_fetch_array($run_user)){ $user_id = $row_user['user_id']; $user_name = $row_user['user_name']; $user_image = $row_user['user_image']; // prikazivanje nađenih korisnika echo "<div class='container-fluid'> <p><img id='imgg' src='user/user_images/$user_image' width='50' height='50'/></p> <a href='user_profile.php?u_id=$user_id'>$user_name</a></div><hr>"; Funkcija GetResults prvo sprema traženi string u novu varijablu koja se zatim uspoređuje sa svim korisničkim imenima u bazi. Ako ne postoji takav string, pojaviti će se heading sa tekstom da nema nađenih rezultata. Ukoliko postoji, pomoću while petlje se osim imena, dohvaća profilna slika i indeks koji služi u adresi linka da nas prilikom klika na ime nađenih korisnika odvede na njihov profil. Kod funkcije za slanje zahtjeva za prijateljstvo: function AddFriend($user_id) { global $con; // unošenje zahtjeva u bazu sa vrijednostima korisničkih indeksa $friend_request_query = "INSERT INTO friend_requests (user_id_from, user_id_to) VALUES (".$_SESSION['user_id'].", ".$user_id.")"; $res = mysqli_query($con, $friend_request_query); echo "<script>window.open('user_profile.php?u_id=$user_id','_self')</script>"; Za razliku od prethodnih funkcija, ova funkcija prima jedan parametar, odnosno indeks korisnika koji prima zahtjev. Tom indeksu pristupamo pomoću varijable $_GET varijable (dodijeljena je 25
27 varijabli $user_id izvan funkcije), dok indeksu korisnika koji šalje zahtjev pristupamo pomoću sesije. Funkcija se sastoji od samo jednog upita u bazu koji u tablicu unosi prethodno navedene indekse. Kod funkcije za prihvaćanje zahtjeva za prijateljstvo: function AcceptFriend($user_id) { global $con; $amyfriends = array(); // polje vlastitih prijatelja $ahisfriends = array(); // polje prijatelja korisnika od kojeg dobivamo zahtjev $smyfriends = ""; // string vlastitih prijatelja $shisfriends = ""; // string prijatelja korisnika od kojeg dobivamo zahtjev $delete_request = "DELETE FROM friend_requests WHERE user_id_from = ".$user_id." AND user_id_to = ".$_SESSION['user_id']; // brisanje zahtjeva iz baze $res = mysqli_query($con, $delete_request); $my_friends_res = mysqli_fetch_assoc(mysqli_query($con, "SELECT friend_array FROM users WHERE user_id = ".$_SESSION['user_id'])); // dohvaćanje vlastitih prijatelja if($my_friends_res['friend_array']!= '') { // ako imamo prijatelje, zanemari znak zarez poslije indeksa u polju prijatelja $amyfriends = explode(",", $my_friends_res['friend_array']); $his_friends_res = mysqli_fetch_assoc(mysqli_query($con, "SELECT friend_array FROM users WHERE user_id = ".$user_id)); // dohvaćanje prijatelja od korisnika koji šalje zahtjev if($his_friends_res['friend_array']!= '') { // ako imamo prijatelje, zanemari znak zarez poslije indeksa u polju prijatelja $ahisfriends = explode(",", $his_friends_res['friend_array']); array_push($amyfriends, $user_id); // unošenje indeksa korisnika u polje prijatelja array_push($ahisfriends, $_SESSION['user_id']); // unošenje vlastitog indeksa u polje prijatelja korisnika kojeg prihvaćamo kao prijatelja $smyfriends = implode(",", $amyfriends); // pretvaranje polje nizova u niz $shisfriends = implode(",", $ahisfriends); // pretvaranje polje nizova u niz // ažuriranje tablice korisnika koji prima zahtjev $add_to_my_query = "UPDATE users SET friend_array = '".$smyfriends."' WHERE user_id = ".$_SESSION['user_id']; $add_to_my_res = mysqli_query($con, $add_to_my_query); // ažuriranje tablice korisnika koji šalje zahtjev $add_to_his_query = "UPDATE users SET friend_array = '".$shisfriends."' WHERE user_id = ".$user_id; $add_to_his_res = mysqli_query($con, $add_to_his_query); echo "<script>window.open('user_profile.php?u_id=$user_id','_self')</script>"; Funkcija najprije briše zahtjev iz tablice zahtjeva za prijateljstvo tako što ukloni indekse korisnika koji šalje i korisnika koji prima zahtjev. Zatim se dohvaća niz vlastitih prijatelja i niz prijatelja korisnika koji šalje zahtjev. Budući da su indeksi u nizu odvojeni zarezom, bitno ga je zanemariti. 26
28 To se radi pomoću funkcije explode koja zapravo od niza pravi polje nizova. Na primjer, od niza [1, 2, 3, 4], dobiti ćemo rezultat [1], [2], [3], [4]. Kada smo dobili polje nizova, odnosno polje korisničkih indeksa, funkcijom array_push se na kraj vlastitog polja stavlja indeks korisnika kojeg prihvaćamo kao prijatelja i obratno. Nakon toga se polje nizova mora vratiti u početno stanje, odnosno u jedan niz, za što je zaslužna funkcija implode. Na kraju funkcije se ažuriraju baze korisnika. Kod funkcije za odbijanje zahtjeva za prijateljstvo: function IgnoreRequest($user_id){ global $con; // brisanje zahtjeva iz baze $delete_request = "DELETE FROM friend_requests WHERE user_id_from = ".$user_id." AND user_id_to = ".$_SESSION['user_id']; $res = mysqli_query($con, $delete_request); echo "Request Ignored!"; echo "<script>window.open('user_profile.php?u_id=$user_id','_self')</script>"; Funkcija za odbijanje zahtjeva briše zahtjev iz tablice potpuno istim upitom kao ranije spomenuta funkcija AcceptFriend. Kod funkcije za uklanjanje prijatelja: function RemoveFriend($user_id) { global $con; $amyfriends = array(); $ahisfriends = array(); $smyfriends = ""; $shisfriends = ""; $my_friends_res = mysqli_fetch_assoc(mysqli_query($con, "SELECT friend_array FROM users WHERE user_id = ".$_SESSION['user_id'])); $amyfriends = explode(",", $my_friends_res['friend_array']); $his_friends_res = mysqli_fetch_assoc(mysqli_query($con, "SELECT friend_array FROM users WHERE user_id = ".$user_id)); $ahisfriends = explode(",", $his_friends_res['friend_array']); // traženje indeksa korisnika kojeg uklanjamo iz vlastitog polja prijatelja $his_index = array_search($user_id, $amyfriends); // traženje vlastitog indeksa u polju prijatelja od korisnika kojeg uklanjamo $my_index = array_search($_session['user_id'], $ahisfriends); // brisanje nađenih indexa unset($amyfriends[$his_index]); unset($ahisfriends[$my_index]); 27
29 $smyfriends = implode(",", $amyfriends); $shisfriends = implode(",", $ahisfriends); // ažuriranje niza prijatelja oba korisnika $my_new_list_query = "UPDATE users SET friend_array = '".$smyfriends."' WHERE user_id = ".$_SESSION['user_id']; $my_new_list_res = mysqli_query($con, $my_new_list_query); $his_new_list_query = "UPDATE users SET friend_array = '".$shisfriends."' WHERE user_id = ".$user_id; $his_new_list_res = mysqli_query($con, $his_new_list_query); echo "<script>window.open('user_profile.php?u_id=$user_id','_self')</script>"; Funkcija pretvara niz prijatelja u polje nizova na isti način kao funkcija za prihvaćanje prijatelja, odnosno koristi funkciju explode. Nakon toga, pomoću funkcije array_search pretražuje indekse korisnika koje zatim uklanja iz polja pomoću funkcije unset. Nakon što ih ukloni, vraća polje nizova u jedan niz funkcijom implode, te na kraju ažurira bazu podataka. Kod za prikaz komentara i komentiranje: <?php $get_id = $_GET['post_id']; // dohvaćanje indeksa objave // dohvaćanje komentara koje objava sadrži $get_com = "select * from comments where post_id='$get_id' ORDER by 1 ASC"; $run_com = mysqli_query($con, $get_com); // dohvaćanje korisnika koji je autor objave $user = "select * from users where user_id='$user_id' AND posts='yes'"; $run_user = mysqli_query($con, $user); $row_user = mysqli_fetch_array($run_user); // spremanje podataka korisnika u varijable $user_name = $row_user['user_name']; $user_image = $row_user['user_image']; // dohvaćanje objave $get_posts = "select * from posts where post_id='$get_id'"; $run_posts = mysqli_query($con, $get_posts); $row_posts = mysqli_fetch_array($run_posts); // spremanje podataka objave u varijable $post_id = $row_posts['post_id']; $user_id = $row_posts['user_id']; // petlja koja sprema podatke komentara u varijable while($row = mysqli_fetch_array($run_com)){ $com = $row['comment']; $com_author_id = $row['comment_author_id']; $date = $row['date']; $comment_id = $row['comment_id']; // dohvaćanje autora komentara $get_author_name = "select user_name from users where user_id='$com_author_id'"; $run_get_author_name = mysqli_query($con, $get_author_name); $row_get_author_name = mysqli_fetch_array($run_get_author_name); $author_name = $row_get_author_name['user_name']; echo " // prikaz komentara <div id='comments'><a href='user_profile.php?u_id=$com_author_id'> <h3>$author_name</h3></a><i><span>said</i> on $date</span><p>$com</p>"; 28
30 $get_u_id = $_SESSION['user_id']; $query = "SELECT user_id FROM posts WHERE user_id='$get_u_id'"; $run_query = mysqli_query($con, $query); // omogućeno brisanje vlastitih komentara na tuđim objavama i svih komentara na vlastitim objavama if ($com_author_id==$get_u_id $user_id==$get_u_id){ echo "<a href='functions/delete_post.php?comment_id=$comment_id'><button name='com_del' type='button' style='float:right; padding: 2px 6px;' class='btn btndanger'>delete</button></a>"; if(isset($_post['reply'])){ // prilikom klika na gumb reply, komentar se unosi u bazu $comment = $_POST['comment']; // spremanje unesenog sadržaja komentara u varijablu $insert = "insert into comments (post_id, user_id, comment, comment_author_id, date) values ('$post_id', '$user_id', '$comment','$user_com_id', NOW())"; $run = mysqli_query($con, $insert); echo "<script>window.open('single.php?post_id=$post_id', '_self')</script>";?> Kod prvo dohvaća indeks objave na kojoj se korisnik nalazi, zatim upitom baze dohvaća sve komentare koje ista sadrži, te ih sortira uzlazno, od najstarijeg do najnovijeg. Nakon toga, dohvaća sve potrebne podatke da se prikaže objava i svi komentari koje sadrži. U kodu se postavlja uvjet koji dozvoljava brisanje vlastitih komentara na tuđim objavama i svih komentara na vlastitim objavama. Na kraju koda se definira akcija prilikom klika na gumb za objavljivanje komentara. Kod za slanje poruke: <?php if(isset($_post['message'])){ $msg_title = $_POST['msg_title']; // spremanje unesenog naslova poruke u varijablu $msg = $_POST['msg']; // spremanje unesenog sadržaja poruke u varijablu // unošenje podataka poruke u bazu $insert = "insert into messages (sender,receiver,msg_sub,msg_topic,reply,status,msg_date) values ('$user_id', '$u_id', '$msg_title', '$msg', 'no_reply', 'unread', NOW())"; $run_insert = mysqli_query($con, $insert); if($run_insert){ echo "<center><h3>message was sent to ". $user_name. " successfully</h3></center>"; else echo "<center><h3>message was not sent...</h3></center>";?> Gumbom za slanje poruke se spremaju uneseni podaci (naslov i sadržaj poruke) u nove varijable koje se zatim unose u bazu upitom run_insert. Ukoliko je upit uspješno obavljen, prikazati će se heading sa tekstom da je poruka poslana. U protivnom, bit će to heading sa tekstom da nije poslana. 29
31 5. ZAKLJUČAK Društvena mreža nije novi pojam, međutim, u današnje vrijeme pojavljuje se u novom, virtualnom, online obliku kojeg nam pretraživači, web preglednici omogućavaju prikazati. Smatra se najjednostavnijim načinom za međusobnu komunikaciju, što joj je glavna namjena. Ona dakle, socijalno povezuje korisnike što često uključuje grupiranje specifičnih pojedinaca ili organizacija. Prijatelji koje pojedinac može steći koristeći online društvene mreže samo su jedna od pogodnosti koje nam takve mreže omogućavaju. Još jedna od beneficija je i povezivanje i komuniciranje s osobama koje žive diljem svijeta. Zadatak ovog rada je bio napraviti upravo takvu mrežu, sa njenim najosnovnijim funkcijama što uključuje dopisivanje, dijeljenje i komentiranje sadržaja koji može biti filtriran od javnosti, odnosno podijeljen samo za prijatelje. Rad uključuje i grupiranje objavljenog sadržaja u teme koje korisnici odabiru, te tražilicu korisnika, što dodatno pomaže u pronalaženju prijatelja. Rad je napisan u najpoznatijim tehnologijama za izradu vanjskog front-end i unutarnjeg back-end dijela. U prvom dijelu rada ukratko je opisana svaka od tehnologija korištenih u radu, dok je u drugom dijelu pokazana primjena bitnijih tehnologija, PHP i MySQL programskih jezika. 30
32 LITERATURA [1] Autorski tim SRCA, (2016.): Uvod u HTML [2] Vlatka Paunović, Siniša Tomić, (2006.): PHP Priručnik uz seminar [3] php.com.hr, (2008.): ( ) [4] aubx: ( ) [5] Dalibor D. Dvorski, (2007.): Installing, configuring, and developing with XAMPP: ( ) [6] Bootstrap: ( ) 31
33 SAŽETAK Cilj ovog rada je bio isprogramirati i dizajnirati sustav za dijeljenje sadržaja sa drugim korisnicima, odnosno društvenu mrežu. S obzirom da je to kompleksna web aplikacija, potrebno ju je napraviti jednostavnu za korištenje, sa svim osnovnim funkcijama i mogućnostima. U radu je prikazan i opisan izgled i princip rada svake od funkcionalnosti. Mreža je dizajnirana pomoću frontend tehnologija, HTML i CSS, dok je za izradu centralne logike korišten PHP. Izmjena podataka između korisničkog sučelja i jezgre omogućena je upitima u bazu podataka pomoću MySQL tehnologije. Ključne riječi: Društvena Mreža, HTML, CSS, Php, MySQL, XAMPP 32
34 ABSTRACT DEVELOPING A SOCIAL NETWORK The aim of this paper was to program and design a content sharing system with other users, that is social network. Since this is a complex web application, it is necessary to make it easy to use, with all the basic functions and capabilities. This paper presents and describes the layout and operation principle of each of the functionalities. The network is designed using front-end technology, HTML and CSS, while PHP is used to generate central logic. Data exchange between the user interface and the core is enabled by querying the database using MySQL technology. Keywords: Social Network, HTML, CSS, Php, MySQL, XAMPP 33
35 ŽIVOTOPIS Marko Huljak rođen je u Virovitici, Republika Hrvatska, 10. studenog godine. Završio je Osnovnu školu Vladimira Nazora u Virovitici, nakon čega 2010.g. upisuje Elektrotehničku školu u Virovitici koju završava godine. Iste godine upisuje preddiplomski sveučilišni studij računarstva na Fakultetu elektrotehnike, računarstva i informacijskih tehnologija u Osijeku. Vlastoručni potpis: Marko Huljak 34
36 PRILOZI <?php session_start(); if(!isset($_session['user_ '])){ header("location: index.php"); include("includes/connection.php"); include("functions/functionss.php"); include("user_timeline.php");?> <div id="content_timeline" style="margin-right: 550px;"> <form action="home.php?id=<?php echo $user_id;?>" method="post" id="f" enctype="multipart/formdata"><h3 style="margin-bottom: 5px;">What's on your mind?</h3><center> <input type="text" name="title" placeholder="write a Title..." size="88" required="required" style="border-radius: 7px; padding: 7px; margin-bottom: 2px;"/><br> <textarea style="border-radius: 7px; padding: 7px;" cols="91" rows="4" name="content" placeholder="write description..." required></textarea></center> <select name="topic" id="topic" class="btn btn-default" title="select a topic" required> <option value="" id="opcija">topics</option> <?php gettopics();?> </select> <button name="sub" id="post_to_timeline" type="submit" class="btn btn-primary">post to Timeline</button> <select name="visibly" id="visibly" class="btn btn-default" title="visibility" required> <option value="0">friends</option> <option value="1">public</option> </select> <input style="float: left; margin-top: 3px;" id="myfileinput" name="post_image" type="file"> <button style="float: left; padding: 3px 5px;" title="add photos to your post" type="button" class="btn btn-default" onclick="$('#myfileinput').trigger('click');"><i class="glyphicon glyphicon-picture"></i></button> </form> <?php insertpost();?> <br><h3>most Recent Discussions!</h3><br> <div id="posts_container" style="display:flex; flex-direction:column;"> <?php get_posts();?> </div> </div> </div> </div> <script src=" integrity="sha384- KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src=" integrity="sha384-b/u6ypibehpof/4+1nzfpr53nxss+glckfwbdfntxtclqqenisfwazpkamnfnmj4" crossorigin="anonymous"></script> <script src=" integrity="sha384-h0abixch4zdo7tp9hkz4tshbi047nrkglo3sejag45jxxngifyzk4si90rdiqnm1" crossorigin="anonymous"></script> </body> </html> P.4.1. Kod datoteke home.php 35
Upute za instaliranje WordPressa 1.KORAK Da biste instalirali Wordpress, najprije morate preuzeti najnoviju verziju programa s web stranice WordPressa
1.KORAK Da biste instalirali Wordpress, najprije morate preuzeti najnoviju verziju programa s web stranice WordPressa koju možete pronaći na sljedećem linku: http://wordpress.org/download/ Kliknite na
ВишеSveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba
Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Baze podataka Tema: Osnovna SELECT naredba Vježbu pripremili:
ВишеKORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA
KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA SADRŽAJ 1. UVOD... 3 1.1. Cilj i svrha... 3 1.2. Područje primjene... 3 2. POJMOVI I SKRAĆENICE... 4 3. PREDUVJETI KORIŠTENJA... 5 4. PREGLED APLIKACIJE...
ВишеWeb programiranje i primjene - Osnovni pojmovi WEB tehnologije korišteni u kolegiju
Osnovni pojmovi WEB tehnologije korišteni u kolegiju Ivan Vazler Odjel za matematiku Sveučilište u Osijeku 16. listopada 2013. WWW - World Wide Web World Wide Web (WWW) svjetska mreža računala s izvorima
ВишеPuTTY CERT.hr-PUBDOC
PuTTY CERT.hr-PUBDOC-2018-12-371 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA PUTTY... 4 3 KORIŠTENJE ALATA PUTTY... 7 3.1 POVEZIVANJE S UDALJENIM RAČUNALOM... 7 3.2 POHRANA PROFILA KORISNIČKIH SJEDNICA...
Вишеeredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prij
eredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prijavama koje građani mogu slati Upravnom odjelu za komunalno
ВишеSVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij WEB APLIKACIJA ZA
SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij WEB APLIKACIJA ZA EVIDENCIJU POSUDBE KNJIGA U KNJIŽNICI Završni rad
ВишеSmjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje no
Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje novog korisničkog računa (poslati zahtjev na javnipoziv.opp@havc.hr
ВишеNIAS Projekt e-građani KORISNIČKA UPUTA za aplikaciju NIAS Verzija 1.1 Zagreb, srpanj 2014.
Projekt e-građani KORISNIČKA UPUTA za aplikaciju Verzija 1.1 Zagreb, srpanj 2014. Naslov: Opis: Korisnička uputa za aplikaciju Dokument sadrži upute korisnicima aplikacije u sustavu e-građani Ključne riječi:
ВишеMicrosoft Word - privitak prijedloga odluke
Informatički sustav za prikupljanje, simulaciju i prikaz podataka o cijenama javnih komunikacijskih usluga (dalje: Sustav e-tarife) Zagreb, HRVATSKA AGENCIJA ZA POŠTU I ELEKTRONIČKE KOMUNIKACIJE Roberta
ВишеMicrosoft Word - WP_kolokvij_2_rjesenja.doc
Napomena WEB PROGRAMIRANJE I PRIMJENE DRUGI KOLOKVIJ vrijeme predviđeno za rješavanje kolokvija je 60 minuta kolokvij se sastoji od 15 pitanja, a ukupan broj bodova je 165 (uz svaki zadatak istaknut je
ВишеFra Serafina Schoena Rijeka MB: MBO: Žiro račun: kod RBA d.d. GSM:
EKLIPS MINI CMS upute za korištenje v1.0 1. Sadržaj isporuke i opće informacije EKLIPS MINI CMS sustav napravljen je pomoću sljedećih open source tehnologija Java JDK 1.5 - http://java.sun.com/javase/downloads/index_jdk5.jsp
ВишеCARNET Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za nadzor razrednih knjiga tel: fax: mail:
Sadržaj... 1 1. Predgovor... 2 2. Prijava u sustav... 2 3. Postavke... 3 4. Kreiranje zahtjeva za nadzorom razrednih knjiga... 4 5. Pregled razredne knjige... 6 5.1 Dnevnik rada... 7 5.2 Imenik... 11 5.3
ВишеУПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: Након
УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: http://www.srpskiarhiv.rs/ Након тога се на екрану појављује форма за пријаву на часопис
ВишеSveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 10 Zvonimir Bujanović Luka Grubišić Vinko Petričević
Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 10 Zvonimir Bujanović Luka Grubišić Vinko Petričević JavaScript JavaScript je programski jezik prvenstveno namijenjen za davanje dinamičnosti
ВишеSlide 1
OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik
ВишеPowerPoint Presentation
Visoka škola strukovnih studija za informacione i komunikacione tehnologije MVC - Modeli Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž MVC.htaccess
ВишеNAPOMENA: Studenti na ispit donose kod urađenog zadatka
Пројекат из предмета Интернет програмирање за августовски и септембарски испитни рок школске 2018/19. године Коришћењем PHP технологије, технологије AJAX и MySQL базе података, реализовати следећу веб
ВишеDocument ID / Revision : 0419/1.1 ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata
ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata Gospodarski subjekti Definicija: U skladu s Direktivom 2014/40/EU gospodarski subjekt svaka
ВишеMicrosoft PowerPoint - 6. CMS [Compatibility Mode]
Visoka škola strukovnih studija za informacione i komunikacione tehnologije Beograd WEB TEHNOLOGIJE Drupal CMS(Content Managment System) Školska 2012/13. Marko M. Spasojević, spec. inž. Dr Nenad Kojić,
ВишеPDO
PDO Marijan Šuflaj FER, 2018 Sadržaj PDO Osnove Izvršavanje upita Ranjivosti Dohvaćanje rezultata upita PDO - PHP Data Objects Jednostavno i konzistetno sučelje za pristup bazama podataka iz PHP-a Isti
ВишеУПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: Након
УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: http://www.srpskiarhiv.rs/ Након тога се на екрану појављује форма за пријаву на часопис
ВишеMicrosoft Word - KORISNIČKA UPUTA za pripremu računala za rad s Fina potpisnim modulom_RSV_ doc
Uputa za pripremu računala za rad s Fininim potpisnim modulom Zagreb, lipanj 2019. Sadržaj: 1. UVOD... 3 2. POJMOVI I SKRAĆENICE... 3 3. TEHNIČKI PREDUVJETI KORIŠTENJA... 3 4. PODEŠAVANJE INTERNET PREGLEDNIKA
ВишеR u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s
UPUTSTVO ZA BRZO UMREŽAVANJE PROGRAMA MPP2 Da bi program MPP2 radio u mrežnom okruženju po sistemu klijent-server, potrebno je da se na računarima koji su mrežno povezani instalira: serverska verzija programa
ВишеCARNet Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za administratore tel: fax: mail: url:
Sadržaj... 1 1. Predgovor... 2 2. Sučelje administracije škole... 2 3. Korisnici... 3 3.1 Ovlasti... 3 3.2 Uređivanje postojećih i dodavanje novih... 3 3.3 Dodavanje i uklanjanje tokena... 5 4. Odabir
Више4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St
4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу Stavke_računa која ће разрешити проблем везе типа N:N
ВишеMicrosoft Word - SYLLABUS -Dinamicki
Univerzitet UKSHIN HOTI PRIZREN Fakultet kompjuterskih nauka Nastava na bosanskom jeziku NASTAVNI PLAN - PROGRAM SYLLABUS Akademska Nivo studija Bachelor Departament god. PREDMET Dinamički sadržaj web
ВишеMicrosoft Word - MySQL_3.doc
7. Data Manipulation Language (DML) Jezik za rad sa podacima (Data Manipulation Language (DML)) služi za umetanje, brisanje i ažuriranje podataka u bazi. 7.1. Umetanje novih redova u tabelu INSERT sintaksa
ВишеSELECT statement basic form
NAZIV OBJEKTA ZNANJA Uvod u JQuery PROLOG Autor * Katarina Kaplarski Klasifikacija * Težina * Osnovni nivo Ključne reči * Ko sluša * Student OAS Trajanje * Komentari autora SADRŽAJ Apstrakt Cilj * Uvodne
ВишеJMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter.
Mreže računala Završni ispit Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati, uvid u ispit i upis ocjena:... Zadatak
ВишеPHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji
PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji podrška za IBM DB2, Oracle, Ingres, MySQL, PostgreSQL,
ВишеПриручник о полагању матурског испита у образовном профилу Електротехничар информационих технологија - оглед ВЕБ ДИЗАЈН У следећим задацима заокружите
ВЕБ ДИЗАЈН У следећим задацима заокружите број испред траженог одговора 35. Инернет као глобална мрежа светског система умрежених рачунарских мрежа настао је:. Интернет је настао деведесетих година након
Више8 2 upiti_izvjesca.indd
1 2. Baze podataka Upiti i izvješća baze podataka Na početku cjeline o bazama podataka napravili ste plošnu bazu podataka o natjecanjima učenika. Sada ćete izraditi relacijsku bazu u Accessu o učenicima
ВишеČesto postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako
Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako instalirati (novi) finin certifikat? 4. Kako ispisati
ВишеSVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET Preddiplomski sveučilišni studij računarstva Završni rad WEB APLIKACIJA ZA PREZENTACIJU I REZERVACIJE TURISTIČK
SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET Preddiplomski sveučilišni studij računarstva Završni rad WEB APLIKACIJA ZA PREZENTACIJU I REZERVACIJE TURISTIČKIH APARTMANA Emrah Tahirović Rijeka, rujan 2014. 0069051032
ВишеCARNET Webmail Upute za korištenje
CARNET Webmail https://webmail.carnet.hr Upute za korištenje Sadržaj O Webmailu... 2 Prijava u sustav... 3 Korisničko sučelje... 5 Nova poruka... 5 Pregled poštanskog sandučića... 8 Pregled sadržaja poruke...
ВишеVALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (npis I ejs)
VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (NPIS I EJS) POREZNA UPRAVA FEDERACIJE BOSNE I HERCEGOVINE Sektor za informacione tehnologije Sarajevo,
ВишеMinistarstvo poljoprivrede Portal gospodarskog ribarstva Registracija prvih kupaca Uputa za korisnike
Ministarstvo poljoprivrede Portal gospodarskog ribarstva Registracija prvih kupaca Uputa za korisnike 1. Uvod Ova uputa namijenjena je korisnicima koji se žele registrirati kao prvi kupci na Portalu gospodarskog
ВишеMicrosoft Word - IP_Tables_programski_alat.doc
1. IP Tables alat (pregled naredbi) 1.1. Osnovne IP Tables naredbe za filtriranje paketa U ovom poglavlju opisane su osnovne IP Tables naredbe korištene za filtriranje paketa. S programskim paketom IP
ВишеSlide 1
Kako jednostavnije preći na višu verziju Formsa Ivan Lovrić, Vedran Latin 14.10.2009. Sadržaj prezentacije Predmet migracije Razlozi za migraciju Infrastruktura potrebna za migraciju Pilot migracija Migracija
ВишеOvaj fajl ima 5 stranica. Prvi i drugi domaći zadatak iz Internet tehnologija, Svi css fajlovi su u folderu css a sve slike su u folderu i
Ovaj fajl ima 5 stranica. Prvi i drugi domaći zadatak iz Internet tehnologija, 08.03.2018. Svi css fajlovi su u folderu css a sve slike su u folderu images. Sve slike, osim onih koje se koriste u prvom
ВишеSVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij APLIKACIJA ZA DOH
SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij APLIKACIJA ZA DOHVAT I POHRANU ZEMLJOPISNIH KOORDINATA Završni rad Anna-Maria
ВишеCARNet Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za administratore tel: fax: mail: url:
Sadržaj... 1 1. Predgovor... 2 2. Sučelje administracije škole... 2 3. Korisnici... 3 3.1 Ovlasti... 3 3.2 Uređivanje postojećih i dodavanje novih... 3 3.3 Dodavanje i uklanjanje tokena... 5 4. Odabir
Вишеkriteriji ocjenjivanja - informatika 8
8. razred Nastavne cjeline: 1. Osnove informatike 2. Pohranjivanje multimedijalnih sadržaja, obrada zvuka 3. Baze podataka - MS Access 4. Izrada prezentacije 5. Timska izrada web stranice 6. Kritički odnos
ВишеRecuva CERT.hr-PUBDOC
Recuva CERT.hr-PUBDOC-2019-5-379 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA RECUVA... 4 3 KORIŠTENJE ALATA RECUVA... 7 4 ZAKLJUČAK... 13 Ovaj dokument izradio je Laboratorij za sustave i signale Zavoda za
ВишеMicrosoft PowerPoint - podatkovni promet za objavu.pptx
1 2 3 Što je složaj protokola (protocol suite)? Pojedini protokol se odnosi samo na jedno pitanje koje omogućava komunikaciju. Kada se kombinira više protokola, grupa protokola koja je rezultat takve kombinacije
ВишеINTEGRIRANI KNJIŽNIČNI SUSTAV Sustav za podršku Upute za instalaciju: Aleph v22 ZAG
INTEGRIRANI KNJIŽNIČNI SUSTAV Sustav za podršku Upute za instalaciju: Aleph v22 ZAG INTEGIRANI KNJIŽNIČNI SUSTAV Upute za instalaciju: Aleph v22 ZAG Nacionalna i sveučilišna knjižnica u Zagrebu Ul. Hrvatske
ВишеСТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12
СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12 РЕГИСТРАЦИЈА НА СТАРТ-СТОП ПАРКИНГ СИСТЕМ За коришћење СТАРТ-СТОП ПАРКИНГ система, корисник (физичко или правно лице) попуњава упитник у просторијама
ВишеSmjernice za korištenje HAVC portala Modul AV djela 1
Smjernice za korištenje HAVC portala Modul AV djela 1 Sadržaj Često postavljena pitanja (ČPP)... 3 1. Pregled i unos AV djela... 4 2. Pravila za unos AV djela... 6 Produkcijska kuća (Glavni producent)...
ВишеP R O G R A M I R A N J E Z A I N T E R N E T Lab. vježba 2 PROGRAMIRANJE ZA INTERNET Upute za laboratorijske vježbe (izradio: Marin Bugarić, Frano Re
P R O G R A M I R A N J E Z A I N T E R N E T Lab. vježba 2 PROGRAMIRANJE ZA INTERNET Upute za laboratorijske vježbe (izradio: Marin Bugarić, Frano Rezo) Uvod u HTML 1 Općenito o HTML-u HTML - Hyper Text
ВишеUpute za rad
LOKALNI IZBORI 2017. Upute za rad Podsustav Pomoćna aplikacija za oblikovanje prijedloga kandidacijskih lista SADRŽAJ 1. INSTALACIJSKA UPUTA... 3 1.1 MINIMALNI ZAHTJEVI ZA INSTALACIJU NA RAČUNALO... 3
ВишеRobert Labus - Diplomsi rad
SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij DRUŠTVENA MREŽA ZA OBJAVU I UREĐIVANJE SLIKOVNIH DATOTEKA Diplomski
ВишеOpenVPN GUI CERT.hr-PUBDOC
OpenVPN GUI CERT.hr-PUBDOC-2019-7-384 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA OPENVPN GUI... 5 3 KORIŠTENJE ALATA OPENVPN GUI... 17 4 ZAKLJUČAK... 27 Ovaj dokument izradio je Laboratorij za sustave i signale
ВишеCPHP_19
Upotreba PHP-a u drugim jezicima Za ovu lekciju se podrazumevaju osnovna znanja iz JavaScript-a i ActionScript-a. Ono što smo do sada radili, jeste PHP van konteksta ili u veb kontekstu, što je zapravo
Више23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi
3. siječnja 0. od 3:00 do 4:00 RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovitelji Sadržaj Zadaci. 4.... Zadaci 5. 0.... 3 od 8 Zadaci. 4. U sljedećim pitanjima na pitanja odgovaraš upisivanjem
ВишеMicrosoft Word - Tehnicka uputstva lica doc
Registracija novog korisnika internet sajta NSZ tražilac zaposlenja Novi korisnik prilikom prve registracije na sajt NSZ bira opciju Prijavi se za posao. Unosom korisničkog imena i kreiranjem lozinke,
ВишеeOI Middleware Upute za instalaciju
AKD eid Middleware Upute za Windows instalaciju V1.1 www.id.hr Izdanje Datum Opis izmjene 1.0 09.06.2017. Inicijalna verzija dokumenta. 1.1 30.08.2018. Izmjena vizualnog identiteta Sadržaj Instalacija...
ВишеAKD KID Middleware Upute za Macintosh instalaciju V1.0
AKD KID Middleware Upute za Macintosh instalaciju V1.0 Izdanje Datum Opis izmjene 1.0 06.04.2018. Inicijalna verzija dokumenta Sadržaj Instalacija... 2 Uklanjanje instalacije... 7 2.1 Uklanjanje instalacije
ВишеPrimenjeno programiranje - vezbe GUI i baze podataka
Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju
ВишеPROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije
PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo
Вишеn50
N50LUSK Vodič za ažuriranje TV softvera TV Software Update Guide Hrvatski vodič za ažuriranje 1. Korak Provjerite ime modela na stražnjoj strani TV-a. Prije preuzimanja softvera za ažuriranje, molimo provjerite
ВишеBiz web hosting
BIZ WEB HOSTING KORISNIČKO UPUTSTVO WWW.OBLACI.RS SADRŽAJ PRISTUP KORISNIČKOM PORTALU... 2 KUPOVINA BIZ WEB HOSTING SERVISA... 4 PRISTUP PLESK WEB KONTROLNOM PANELU... 14 PORTALI I DOMENI... 14 FAJL MENADŽER...
ВишеUputstvo za korištenje korisničkog web portala AC-U UPUTSTVO ZA KORIŠTENJE KORISNIČKOG WEB PORTALA Izdanje: 1, maj / svibanj 2019 Strana 2 od 1
UPUTSTVO ZA KORIŠTENJE KORISNIČKOG WEB PORTALA Izdanje: 1, maj / svibanj 2019 Strana 2 od 18 SADRŽAJ 1. PREDMET... Error! Bookmark not defined. 2. PODRUČJE PRIMJENE... 4 3. DEFINICIJE I REFERENTNI DOKUMENTI...
ВишеUniverzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br
Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo
ВишеUNION Banka DD Sarajevo Tel.: Dubrovačka br Sarajevo, Bosna i Hercegovina Fax:
UNION Banka DD Sarajevo Tel.: +387 33 561 074 Dubrovačka br.6 +387 33 561 062 71000 Sarajevo, Bosna i Hercegovina Fax: +387 33 219 201 www.unionbank.ba E-mail: unionnet@unionbank.ba UPUTSTVO ZA KORIŠTENJE
ВишеIntroduction to Programming
Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case
ВишеOsnovne upute za korištenje administracije
demo.webstranica.net: brze upute za korištenje administracije Posebna napomena za korištenje administracije: Preporučujemo Vam da za administraciju koristite jedan od sljedećih internet preglednika: Mozilla
ВишеUpute za korištenje EasyChair konferencijskog sustava HRO CIGRE 2019 Prijava referata Ako ste već koristili EasyChair na 13. Savjetovanju ili prije ta
Upute za korištenje EasyChair konferencijskog sustava HRO CIGRE 2019 Prijava referata Ako ste već koristili EasyChair na 13. Savjetovanju ili prije tada ne trebate otvoriti račun. Za one koji se prvi put
ВишеKATUŠIĆ ANTONIO.pdf
SVEUILIŠTE JOSIP JURAJ STROSSMAYER ELEKTROTEHNIKI FAKULTET OSIJEK Preddiplomski studij raunarstva PROGRAMSKI JEZIK RUBY ZAVRŠNI RAD Antonio Katuši OSIJEK, svibanj 2015. SVEUILIŠTE JOSIP JURAJ STROSSMAYER
ВишеIntroduction to Programming
SQL Indeksi Uloga Indeksa o Kako baza postaje sve veća dizajn baze postaje sve važniji o Indeksi igraju značajnu ulogu u brzini rada same baze jer pomažu DBMS da brže pronađe ono što tražimo o Slični su
ВишеBaze podataka MySQL Community Server i MySQL Workbench
Baze podataka MySQL Community Server i MySQL Workbench Preuzimanje i instalacija Iz Internet browser-a pristupiti adresi: www.mysql.com Kliknuti na link Downloads Kliknuti na link Community Kliknuti na
ВишеKorisničke upute za podnošenje zahtjeva za rješavanje spora (žalbe)
Korisničke upute Verzija 2.0 HRVATSKA REGULATORNA AGENCIJA ZA MREŽNE DJELATNOSTI Roberta Frangeša Mihanovića 9, 10000 Zagreb / OIB: 87950783661 / Tel: (01) 7007 007, Fax: (01) 7007 070 / www.hakom.hr Sadržaj
ВишеKAKO POHRANITI SVOJ RAD U REPOZITORIJ
KAKO POHRANITI SVOJ RAD U REPOZITORIJ? POHRANJIVANJE ZAVRŠNIH I DIPLOMSKIH RADOVA Upute za studente Ove su upute rezultat rada članova Radne skupine za edukaciju i podršku sustava Dabar u sastavu: Ivana
ВишеTest ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime
Test ispravio: () () Ukupan broj bodova:. veljače 04. od 3:00 do 4:00 Ime i prezime Razred Škola Županija Mentor Sadržaj Upute za natjecatelje... Zadaci... Upute za natjecatelje Vrijeme pisanja: 60 minuta
ВишеEkonomski fakultet u Osijeku Kolegij: Elektroničko i mobilno poslovanje Nositelj: prof. dr. sc. Branimir Dukić Nastavni materijali za vježbe 3. HTML o
Ekonomski fakultet u Osijeku Kolegij: Elektroničko i mobilno poslovanje Nositelj: prof. dr. sc. Branimir Dukić Nastavni materijali za vježbe 3. HTML obrasci 1. HTML obrasci HTML obrasci služe za prikupljanje
ВишеMicrosoft Word - CCERT-PUBDOC doc
Analiza Qchain programskog paketa CCERT-PUBDOC-2003-02-04 Sigurnosni problemi u računalnim programima i operativnim sustavima područje je na kojem CARNet CERT kontinuirano radi. Rezultat toga rada ovaj
ВишеWordPress & CSP Polisa Sigurnosti Sadržaja za WordPress Milan Petrović WordCamp Niš
WordPress & CSP Polisa Sigurnosti Sadržaja za WordPress Milan Petrović 18.5.2019. WordCamp Niš Predavanje, Google Docs: https://d4p.me/wordcampnis HTTP Zaglavlja Svaki HTTP odgovor počinje zaglavljima
ВишеSlide 1
Web site development using MCMS 2002 Koncept Autori: Multiautorsko okruženje sa podijeljenim ulogama Autori ne moraju imati tehnička predznanja Veza sa MicrosoftWord Developeri: Integracija sa VS.NET Integracija
ВишеMicrosoft Word - Uputstvo za upotrebu studentskih servisa.doc
Упутство за пријаву на студентске сервисе и пријаву испита Адреса на којој се налазе студенски сервиси је https://student.vps.ns.ac.rs/ У питању је интернет страница заштићена SSL 3.0 протоколом који изискује
ВишеBoostrap.1.1
Boostrap Bootsrap je CSS framework. Функционише на принципу грид система и готових класа за поједине елементе. У сваком случају, потребно је познавање HTML-а и CSS-а да би се елементи додтно прилагодили
ВишеR u z v e l t o v a 5 5, B e o g r a d, t e l : , e - m a i l : p r o d a j p s i t. r s, w w w. p s i t. r s
R u z v e l t o v a 5 5, 1 1 0 0 0 B e o g r a d, t e l : + 3 8 1 0 1 1 7 8 5 0 3 6 1, e - m a i l : p r o d a j a @ p s i t. r s, w w w. p s i t. r s Instalacija izmena i dopuna programa MPP2 Izmene i
ВишеOBAVIJEST PZZ KORISNICIMA Poštovani korisnici programskog rješenja Last2000. Za Vas smo pripremili sljedeće novosti u programu: NOVOSTI
28.12.2016. - OBAVIJEST PZZ KORISNICIMA Poštovani korisnici programskog rješenja Last2000. Za Vas smo pripremili sljedeće novosti u programu: NOVOSTI U VERZIJI 16.1.19.0. Dodatno zdravstveno osiguranje
ВишеMAZALICA DUŠKA.pdf
SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU ELEKTROTEHNIČKI FAKULTET Sveučilišni studij OPTIMIRANJE INTEGRACIJE MALIH ELEKTRANA U DISTRIBUCIJSKU MREŽU Diplomski rad Duška Mazalica Osijek, 2014. SADRŽAJ
Више** Osnovni meni
Instalacija serverske verzije Kataloga propisa Instalacija Kataloga propisa se vrši na sljedeći način: 1. Ubacite Instalacioni disk ili USB memoriju u računar. 2. Instalacioni program će se automatski
ВишеIEP - Projekat 2018/2019
Elektrotehnički fakultet u Beogradu Katedra za računarsku tehniku i informatiku Predmet: Infrastruktura za elektronsko poslovanje SI3IEP Veb portal za tehničku podršku - projekat - Osnovni cilj projekta
ВишеPodešavanje za eduroam – Windows Vista operativni sistem
Podešavanje za eduroam Windows Vista operativni sistem Kako bi korisnik na siguran način pristupio mrežnim resursima i uz pomoć neophodnih podataka (npr. korisničkog imena i lozinke) izvršio proces autentifikacije
ВишеSVEUČILIŠTE U ZAGREBU SVEUČILIŠNI RAČUNSKI CENTAR UVJETI KORIŠTENJA USLUGE EDUADRESAR Zagreb, kolovoz 2013.
SVEUČILIŠTE U ZAGREBU SVEUČILIŠNI RAČUNSKI CENTAR UVJETI KORIŠTENJA USLUGE EDUADRESAR Zagreb, kolovoz 2013. S A D R Ž A J 1. TEMELJNI POJMOVI... 4 2. OPSEG I NAMJENA USLUGE... 4 3. PRAVA I OBVEZE SRCA...
ВишеFunkcionalna specifikacija za provođenje elektroničkog glasovanja
1/19 Stranica 1 2/19 Sadržaj 1. Lista skraćenica... 3 2.... 4 2.1 Pristup glasačkoj aplikaciji... 4 2.1.1 Prava pristupa... 4 2.1.2 Pristup uvodnom ekranu sustava evote... 5 2.1.3 Informacije o sustavu
ВишеMicrosoft Word - 6. RAZRED INFORMATIKA.doc
Kriteriji ocjenjivanja i vrednovanja INFORMATIKA - 6. razred Nastavne cjeline: 1. Život na mreži 2. Pletemo mreže, prenosimo, štitimo, pohranjujemo i organiziramo podatke 3. Računalno razmišljanje i programiranje
ВишеKorisnicke upute za uslugu "Moj e-racun"
USLUGA ZA INVESTITORE "Moj e-račun" -korisnička uputa- Stranica 1 Obim usluge Uslugom se nudi uvid investitorima koji imaju otvoren račun u sustavu Središnje Depozitarne Agencije (u daljnjem tekstu: Agencije)
ВишеKontrola korisnickih racuna (UAC) pomaze tako sto sprecava potencijalno stetne programe da izvrse promene u vasem racunaru i obavestava vas pre izvrse
Kontrola korisnickih racuna (UAC) pomaze tako sto sprecava potencijalno stetne programe da izvrse promene u vasem racunaru i obavestava vas pre izvrsenja svake promene a koje zahtevaju administratorsku
ВишеMicrosoft Word - Uputstvo za upotrebu studentskih servisa.doc
Упутство за пријаву на студентске сервисе и пријаву испита Адреса на којој се налазе студенски сервиси је https://student.unibl.org У питању је интернет страница заштићена SSL 3.0 протоколом који изискује
ВишеPROCES KUPNJE ULAZNICE NA PORTALU ULAZNICE.HR Početak kupovine... 2 Plaćanje Mastercard karticom... 5 Plaćanje Maestro karticom... 8 Plaćanje American
PROCES KUPNJE ULAZNICE NA PORTALU ULAZNICE.HR Početak kupovine... 2 Plaćanje Mastercard karticom... 5 Plaćanje Maestro karticom... 8 Plaćanje American Express karticom... 11 Plaćanje Diners karticom...
ВишеSlide 1
predmet Inženjerska informatika Operativni sistem dr Anica Milošević Koji operativni sistemi postoje? Microsoft Windows Linux Suse Red Hat Ubuntu Unix 26.1.2018. 2 Šta je Windows operativni sistem? Operativni
ВишеУпутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п
Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у посебном дијалог-прозору до кога се долази линком есервис
ВишеMultiBoot Korisnički priručnik
MultiBoot Korisnički priručnik Autorsko pravo 2006., 2007. Hewlett- Packard Development Company, L.P. Informacije sadržane u ovom dokumentu podložne su promjenama bez najave. Jedina jamstva za HP-ove proizvode
ВишеDržavna matura iz informatike
DRŽAVNA MATURA IZ INFORMATIKE U ŠK. GOD. 2013./14. 2016./17. SADRŽAJ Osnovne informacije o ispitu iz informatike Područja ispitivanja Pragovi prolaznosti u 2014./15. Primjeri zadataka po područjima ispitivanja
ВишеUpute - JOPPD kreiranje obrasca
Verzija uputa: 1.0 - JOPPD obrazac IPIS-PLAĆE, IPIS-UGOVORI O DJELU Ove upute će se još nadopunjavati, pa molim korisnike da redovito provjere da li imaju zadnje upute. Verzija uputa prikazana je na početku!
Више