The Design Diaries PHP projekt

Relaterede dokumenter
Design Diaries.

The Design Diaries Project 3 2. Semester. Blog om designprincipper

PROJEKT 3. The Design Diaries. LINK TIL BLOG: Af Mikkel Borg Svendsen & Sebastian Frank MUL B

DESIGN. Blog: Portfolioer: CPH-mails:

The Design Diaries. Link til blog

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Upload af billeder/filer for nybegyndere Del. 2

Ratingsystem i PHP og MySQL

Brugervejledning Joomla

Databaseadgang fra Java

POST IT! Cph Business Academy Multimediedesign 2. Semester flow april Kirstine Marie Rasmussen cph-

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

Tagwall med Php & MySQL

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

Projekt 3: Interaktionsudvikling 11/04.14

Hack of the Month opgave 2

Reeksamen, DSDS, forår 2008

Dynamisk PHP design OPDATERET

Log ind. Opret fortælling. Skriv tekst. Upload billeder. Indsæt billeder. Indsæt links. Indsæt citat. Indsæt grå boks

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

Den forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.

Gæstebog med validering opbygget med MySQL

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Denne rapport er skrevet af:

WEBSITE DB. Copenhagen Business Academy Multimediedesigner. 3 semester 2 projekt, oktober 2014 Gruppe 1 MulA

Weebly- vejledning. Lav din egen hjemmeside let og smertefrit

Web 2.0. World Wide Web (www)

Sider, indlæg og projekter

Indhold 1 Om Skolekvalitet.dk Vælg evalueringsmodel før du går i gang Overblik over siderne... 5

Webteknologi evalueringsopgave Vinter Niels Sundstrup

Hjemmeside manual. Indholdsfortegnelse. Noter: - 1 -

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

Eksamen, DSDS, forår 2009

SIDEN PÅ WORDPRESS.COM

Kvik guide. FIONA Online. marts 2017

3) Først og fremmest kan du vælge hvilket tema din side skal have.

Manual til Wordpress. 1. Log ind på din Wordpress-side. Indhold: Sådan opdaterer du din hjemmeside i Wordpress.

MySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Formatering af tekst, JCE Editor, Joomla

Jysk Online Medie ApS - Vestergade 32, 8600 Silkeborg - Tlf.:

Sådan gør du:

GRAFISK DESIGN. Diner no. 34 Hjemmeside + Visuel identitet

Drejebog til tractorpulling.dk

Projekt 1 Database. Cphbusiness Lyngby Multimediedesigner, 3. semester mul-a12e, gruppe 1

FORCE Inspect Online Manual v FORCE Inspect Online Manual. 1 af 18

Manual til admin programmet for AucSydInfoTavlen

Sådan opdaterer og vedligeholder du din hjemmeside i Wordpress.

Data lagring. 2. iteration (implement backend)

ViKoSys. Virksomheds Kontakt System

Vejledning: Flytning af egne udviklede ØS LDV rapporter i Reporting services fra en server til en anden server. Målgruppe: Rapportadministrator

Opret en side/artikel og rediger din side

Lav din egen forside i webtrees

LEJERBO.DK INDSÆT BILLEDER, GALLERI OG VIDEO

Jayne Alice Jensen [Link til portfolio]

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE

PHP kode til hjemmeside menu.

HTML, PHP, SQL, webserver, hvad er hvad??

Website sikkerhed SQL Injections og mere...

Loginsystem (med MySQL)

Brugervejledning til FOKUSpartnere

Procesbeskrivelse - Webprogrammering

Eksempel på en database: studenter, kurser, eksamener

Håndtering af lokale hjemmesider (pr )

... øvelser. Fortæl mig, og jeg glemmer. Vis mig, og jeg husker. Involver mig, og jeg forstår. Konfutse

Eksamen, DSDS, efterår 2007

ADMINISTRATIONS MANUAL

MANUAL. Siteloom CMS

Manual til WordPress CMS

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

Sådan opretter du en blog i e-learn.sdu.dk I denne vejledning vises først, hvor i e-learn.sdu.dk, du kan oprette blogs. Derefter vises hvordan du gør.

Vejledning for LOF s afdelingshjemmeside - redigeret i Umbraco

Dynamisk hjemmeside: NeuTravel

Begrynder til at lave log ind system

Yderligere fire personer er tildelt brugernavn og adgangskode og kan foretage uploadning og andre ændringer af hjemmesiden

Naja Schlüter Roskilde Tekniske Gymnasium 26/ Interessentanalyse

I denne manual kan du finde en hurtig introduktion til hvordan du:

Opret en nyhed LEJERBO.DK OPRET EN NYHED 1. LOG PÅ MIT LEJERBO OG LOG PÅ SOM REDAKTØR. Gå ind på din hjemmeside, fx

GUIDE TIL OPRETTELSE AF SIDER OG INDHOLD I UMBRACO ONLINE BETJENING

Indsæt og opret et billede på én gang

if (mysqli_num_rows($res) > 0) { while ($result = $res->fetch_array(mysqli_assoc)) { "<div class=\"article\">".

Manual CoffeeCup Visitkort konsulenter

Projekt Database, Gruppe 4A. Projekt 1, 3. Semester D A T A B A S E. Klasse MulA13 Gruppenummer: A4

I mit script tager jeg højde for det problem ved, at gemme et unikt tal mellem 0-9 på 6 cifre og derved vil de så blive vist som 2 online.

Bootstrap Tutorial LAV EN SIMPEL RESPONSIVE SIDE MED BOOTSTRAP MATHIAS HERSKIND GROTRIAN

CLmul-b14e Gruppe 2 2. Database projekt

MANUAL. Siteloom CMS

Sabine Puk Sørensen Svendeprøve portfolio

Samspillet mellem databaser og kort styres af GeoCAD programmet GeoDB.

Umbraco installationsvejledning

Dokumentation. Inspiration S34 S35. Opgavens art Fiktiv opgave af opbygning af en hjemmeside.

IsenTekst Indhold til Internettet. Manual til Wordpress.

Praktikportalen på Professionshøjskolen Absalon

Projekt database. 3 Semester - Mul a Projekt 1. Yaser Osman cph-mo102@cphbusiness.dk. Dan Eskildsen cph-de32@cphbusiness.dk

Transkript:

The Design Diaries PHP projekt Anna Emely Jensen cph-aj215@cphbusiness.dk www.annaemely.dk Oliver Alexander Vedel Trojhan cph-ot46@cphbusiness.dk www.olivervedeltrojahn.com Link til GoLogo blog http://olivervedeltrojahn.com/project%203%20php/index.php

Indledning Denne opgave tog udgangspunkt i, at lave en blog baseret på PHP og database. Vi fik stillet til opgave, at finde et emne indenfor et designrelateret emne og derefter lave blogindlægs/artikler som skal uploades på bloggen. Ydermere skal det være en mulighed, at kunne oprette feedback på bloggen - dette gøres gennem oprettelsen af en ny artikel. Afslutningsvis skal der laves en use case eller en user story samt en tableattribute, som skal være grundlag for udarbejdelsen af selve databasen. Vi har i dette projekt valgt emnet Logodesign. Vi har valgt, at have et bredt fokus for, at kunne ramme flere brugere online, men også for at blive klogere på forskellige aspekter indenfor logodesign. Vores artikler handler henholdsvis om hvordan man skaber et godt logo, logoets historie samt hvordan logoer påvirker mennesker til daglig.

Use case Følgende sider vil være den use case vi har udarbejdet. Vi har valgt, at lave en use case da vi følte det gav mest mening for os. Vi har lavet et use case diagram, hvor brugeren og administratoren er sat overfor hinanden. I mellem dem ses de funktioner ovenstående bliver udsat for. Efter dette diagram kommer to skemaer med informationer om use casen. Det ene skema tager udgangspunkt i de handlinger databasen skal kunne for at møde brugerens behov. Skemaet er derfor skrevet ud fra, at brugerne af bloggen skal udføre de forskellige handlinger. Det andet skema tager derfor udgangspunkt i administratorens handlinger. Denne use case viser altså, hvilke opgaver aktørerne, både brugerne og administratoren, skal kunne løse på bloggen.

Use case #UC1 Use case med udgangspunkt i brugerens handlinger.for at danne et overblik over, hvilke funktioner og handlinger brugeren bliver sat overfor når de besøger bloggen er alt dette samlet i et skema. I skemaet har use casen fået et navn, et ID, aktøren er beskrevet, handlingerne har fået en beskrivelse mv. Alt dette kan ses i skemaet til venstre. Ydermere kan use casen med udgangspunkt i administratoren ses på næste side.

Use case #UC2 Denne use case tager udgangspunkt i de funktioner administratoren kommer til, at kunne administrere, samt handlinger de kan udføre. Dette skema, ligesom beskrevet på forrige side, er beskrevet i detaljer for at skabe et overblik over handlingerne aktøren skal igennem - i dette tilfælde administratoren.

Attribute table Dette er vores attribute tabler som viser, hvordan vi ønskede at opbygge vores database. Den øverste er simpel, hvor den nedenunder er mere kompleks.

Blogdesign Vi har til start i dette projekt lavet en wireframe for, at danne et klart billede af hvordan vi ønskede vores blog skulle se ud. Vi har gennem nettet fået megen inspiration, og undersøgt forskellige blogtyper. Idet kravet til bloggen var, at det skulle være en singlepage følte vi, at vi måtte udarbejde et site som var meget overskueligt, og enkelt. Vores site indeholder en del elementer, men vi ønskede at holde det så struktureret som muligt for, at kunne bevare enkeltheden så meget som muligt. Vi har prøvet, at gøre sitet struktureret ved hjælp af forskellige kasser, hvor de forskellige elementer er i. Altså er hvert blogindlæg/artikel i hver sin kasse, samt der er nogle sidebars ude i højre side, hvori man kan finde forskellige informationer. Ydermere har vi prøvet at bevare enkeltheden ved, at anvende få farver som går igen. Farverne vi har valgt at anvende på vores blog er grå, hvid og orange. Vi mener, at disse farver komplementere hianden godt og giver et godt spil, uden at det hverken er for kedeligt eller for meget.

PHP koder fra Index-fil <?php // Indlæser filen database_fb require_once( database_fb.php );?> <?php // Er med til at skabe forbindelse til databasen - set_charset for sprog/tegn (utf8) $connection = new MySQLi(HOSTNAME, MYSQLUSER, MYSQLPASS, MYSQLDB); $connection->set_charset( utf8 ); /* // For at kontrollere om det virker eller ej, anvendes dette. Vores er udkommenteret da vi ikke ønsker det skal vises på det endelige site, men blot har været en hjælp til os under udvikling. if($connection->connect_error){ die($connection->connect_error); } else { echo <h1>den er gået igennem, åben en tuborg!</h1> ; } */?>

<?php // for at hente records fra databasen oprettes en variabel indenfor en variabel. Her anvendes query metoden. $data = $connection->query( SELECT * FROM artikler ); // While anvendes for at skabe loop i vores artikler, så alle artiklerne bliver vist på sitet while ($result = $data->fetch_array()) { echo <article class= topcontent > ; echo <h2 class= headlinecolor >. $result[ overskrift ]. </h2> ; echo <p class= post-info >. Skrevet. af. $result[ forfatter ]. <p> ; echo <p>. $result[ tekst ]. <p> ; // Indsæt billede, hvis du har lyst! Vi har sat en str. på billedet til 400px, og sagt den skal sige intet billede, hvis dette er tilfældet if($result[ img ]){ echo <img src=.$result[ img ]. alt=. $result[ overskrift ]. width= 400px > ; } else { echo Intet billede ; } echo </article> ; }?>

PHP koder fra database_fb-fil <?php //Forbindelse til DB server // msqli metoden, alt dette er en definition af forbindelseskonstanter. Nederste udkommenteret blok anvendes når siden udvikles igennem localhost. Ovenstående er egen database. define( MYSQLUSER, olivervedeltrojahn_com_php_blog ); define( MYSQLPASS, hj6c42kd ); define( HOSTNAME, olivervedeltrojahn.com.mysql ); define( MYSQLDB, olivervedeltrojahn_com_php_blog ); /* define( MYSQLUSER, phpblog ); define( MYSQLPASS, bebe ); define( HOSTNAME, localhost ); define( MYSQLDB, php_project ); */

<?php // link til databasen require_once( database_fb.php );?> PHP koder fra Form-fil <!-- Henvendelse til serveren... enctype attribute tilføjes for at kunne implementere billede/filer --> <form method= post class= form action= <?php echo $_SERVER[ PHP_SELF ];?> enctype= multipart/ form-data > <?php // kontrollerer om post-array findes + at knappen er aktiveret if(isset($_post[ opretartikel ])) { // opret forbindelse til databasen $connection = new MySQLi(HOSTNAME, MYSQLUSER, MYSQLPASS, MYSQLDB); $connection->set_charset( utf8 );

//Denne sikre igen at der er forbindelse til databasen. Giver en bedsked hvis der er hul igennem /* if($connection->connect_error){ die($connection->connect_error); } else { echo <h1>den er gået igennem, åben en tuborg!</h1> ; } */ // Får fat i post-array data // sikring mod sql injection = mysqli_escape_string $overskrift = mysqli_escape_string($connection, $_POST[ overskrift ]); $forfatter = mysqli_escape_string($connection, $_POST[ forfatter ]); $tekst = mysqli_escape_string($connection, $_POST[ tekst ]);

/////////////////////////////////// ///// Image upload ///// ////////////////////////////////// $uploadok = 0; // Definerer mapppen hvor billede skal placeres if(!empty($_files[ filetoupload ][ name ])) { $target_dir = images/ ; // Definerer stien til billedet $target_file = $target_dir. basename($_files[ filetoupload ][ name ]); //fortæller hvis der er et billede $uploadok = 1; move_uploaded_file($_files[ filetoupload ][ tmp_name ], $target_file); echo The image. basename( $_FILES[ filetoupload ][ name ]). Er blevet uploaded - ; } else { echo Intet billede uploaded. ; } /////////// END image upload ////////////

/* // Formulerer query en. Denne er udkommenteret grundet den nye forespørgsel der bliver lavet nedenunder her. $sqlupdate = INSERT INTO artikler (overskrift, forfatter, tekst) VALUES ( $overskrift, $forfatter, $tekst ) ; */ // formuler query en if($uploadok == 1){ $sqlupdate = INSERT INTO artikler (overskrift, forfatter, tekst, img) VALUES ( $overskrift, $for fatter, $tekst, $target_file ) ; } else { $sqlupdate = INSERT INTO artikler (overskrift, forfatter, tekst) VALUES ( $overskrift, $forfatter, $tekst ) ; } // bruger feedback - skaber den feedback brugeren får på skærmen når billedet er uploadet mv. if(mysqli_query($connection, $sqlupdate )){ echo <p class= feedback >. Indlæg tilføjet. </p> ; } else { echo <p class= feedback >. Noget gik galt... </p> ; } }?>

Refleksion Hvis vi reflekterer over vores projekt har vi lært, at oprette og anvende databaser. Dette er et smart system, som for fremtiden vil gøre en del arbejde lettere. Herudover har vi lært, om php og hvordan disse koder bruges. Ydermere har vi lært om use cases og user stories, samt det at lave en attribute table. Især attribute table var en stor hjælp, da databasen skulle oprettes. Vi er herudover blevet klogere på det emne vi havde valgt vore blog skulle handle om.