Hemsideutveckling för Anjool AB



Relevanta dokument
WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Avancerade Webbteknologier

Vidareutveckling av lokalbokningssystem

Utveckling av Brooklyn Tigers webbplats

Projekt Foreläsning VI

Slutrapport YUNSIT.se Portfolio/blogg

Innehåll. MySQL Grundkurs

Karlstads Universitet, Datavetenskap 1

Nya webbservern Dvwebb.mah.se

Webbprogrammering, grundkurs 725G54

Examensarbete. Utveckling av webbshop. Johan Fougman 2013

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Webbprogrammering TDDD52

Elektronisk publicering TNMK30

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Projektarbete myshop. Sandra Öigaard so222es WP12 Individuellt mjukvaruutvecklingsprojekt

Introduktion till MySQL

Webbservrar, severskript & webbproduktion

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

Introduktion HTML och PHP 732G16 Databaser design och programmering

Hemsideprojekt för Kulas Ponnystuteri

Installera din WordPress med 9 enkla steg

Hemsida till företaget Entusiastisk Coaching

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly

Gesällprov. Webbutveckling klient- och serversidan. Tomas Pålson topa4233

Saftfabrikens hemsida

Webbprogrammering. Sahand Sadjadee

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Förbättring av Hofors kommuns hemsida: Socialtjänsten

Slutrapport Thunderbug

Innehålls förteckning

Webbprogrammering 725G54

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

Priskamp. En prisjämförelsesite Björn Larsson

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Slutrapport för JMDB.COM. Johan Wibjer

Företagspresentation på Internet

En integration av betalningssystem på hemsida

Webbsida och ett bokningssystem

Webbprogrammering - 725G54 PHP. Foreläsning II

VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD

Labora&on 8 Formulär övningar/uppgi6er

12 juni 2009 Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE

Helsingespråket Utveckling av databas för dialekter. Ulf Kollin. Examensarbete inom Datateknik B, 10 poäng

Förbättring av webbportal för examensarbetsförslag

Kort om World Wide Web (webben)

CMS. - Content management system

SLUTRAPPORT. Sebastianlund.com. Individuellt mjukvaruutveckingsprojekt, 1DV430. Författare: Sebastian Lund WP11 Datum:

XtraMatLagning. August Ek och Oscar Johnson. TNM065 Dokumentstrukturer

Webbprogrammering, grundkurs 725G54

Kursplanering Utveckling av webbapplikationer

Institutionen för datavetenskap Department of Computer and Information Science

TNMK30 Elektronisk publicering HT 2014 Laboration 5: PHP och MySQL

Databaser och Datamodellering Foreläsning IV

1DV411 Webbprojekt I Slutrapport

Databaser på webben. Revision Johan Näsholm, johan@nasholm.com

PHP. PHP: Hypertext Preprocessor

Användarguide för hantering av MySE

Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 30/5 Tid

Manual för din hemsida

Förslag på svar Tentamen etjänster och webb- programmering

Artiklar via UB:s sö ktja nst

Webbserver och HTML-sidor i E1000 KI

TDDD52 Databas. Databas. Databas 1/3/13

Utveckling av en enkel basmodell för en webbplats

Användarhandledning Version 1.2

Webbutveckling Laboration 1: HTML5 och CSS3.

Content Management System. Publiceringssystem

Introduktion Till WordPress

Henrik Häggbom Examensarbete Nackademin Våren 2015

SLUTRAPPORT WEBBPROJEKT 1

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

CV Anders Hansson RESUMÉ UTBILDNING ANSTÄLLNINGAR ALLMÄNKUNSKAPER/FÄRDIGHETER SPRÅK

Individuellt Mjukvaruutvecklingsprojekt

Akademin för teknik och miljö. Projekt Växbo. Andreas Sundberg & Lars Kraft juni Examensarbetet, 15 högskolepoäng, B Datavetenskap

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

04/11/14. Välkomna till kursen: Databasteknik och informationssystem DD1370. Kursanvarig. Dagens föreläsning. Vad är en Databas?

Kom igång med TIS-Office

Copy Cat Laboration 4

ÖrebroCupen. Institutionen för Ekonomi, Statistik och Informatik, ESI Informatik, Klientprogrammering för webbsystem, 5 poäng

Skapa din egen MediaWiki

VAD GÖR DU / VEM ÄR DU?

Projekt privat webshop

Prototyp på webbgränssnitt av en orderläggningsmodul

Del 1 och 2 HTML/CSS. Webbutveckling Laboration 1 Nicklas Bostedt

I den här labben ska vi använda oss av en trevlig nyhet i HTML5: Local Storage, för att implementera en sorts lokal gästbok.

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

Instruktioner plattformen entreprenörer (centrala användare)

Dokumentation för VLDIT AB. Online classroom

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

Tillämpad programmering CASE 1: HTML. Ditt namn

Användarhandledning DORUM

Lektion 5 HTML, CSS, PHP och MySQL

Daniel Persson. Födelsedatum: Vindragaregatan 3B, Göteborg Telefon: Portfolio:

ANNA ÅBERG. Häng med in i min värld och lär känna mig. Kanske är jag just den som ni söker... Jag är...

En grundkurs i hemsidor och hur de är uppbyggda

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Laboration 2. Webbproduktion En stiligare webbsida HT2015

Transkript:

Beteckning: Akademin för teknik och miljö Hemsideutveckling för Anjool AB Christopher Gidlöf Maj 2012 Examensarbete 15hp B nivå Datavetenskap Internetteknologi Examinator: Carina Petterson Handledare: Ann Sofie Östberg

Hemsideutveckling för Anjool AB av Christopher Gidlöf Akademin för teknik och miljö Högskolan i Gävle S-801 76 Gävle, Sweden Email: Nit10cgf@student.hig.se Abstrakt Denna rapport tar upp hur en vidareutveckling av en befintlig hemsida till ett brandskyddsföretag gick till. Databasen bör göras om eftersom förändringar i företagets drift har skett. Bland annat påverkas deras försäljningsordrar och därav måste den digitala delen göras om. Resultatet blev en uppdaterad hemsida med ny design och förändrad databas.

Innehåll 1 Inledning... 1 1.1 Syfte... 1 1.2 Frågeställning... 1 1.3 Problembeskrivning... 1 1.4 Kravspecifikation... 1 2 Teknisk bakgrund... 2 2.1 Tekniska förkortningar... 2 2.1.1 HTML... 2 2.1.2 CSS... 2 2.1.3 PHP... 2 2.1.4 MYSQL... 2 2.1.5 PHPmyAdmin... 2 2.1.6 Jquery... 2 2.1.7 CSV-Script... 3 3 Genomförande... 3 3.1 Use case... 3 3.2 Databas modell... 4 3.3 Beskrivning... 4 4 Resultat... 6 4.1 Användartest... 6 5 Diskussion... 7 6 Slutsats... 8 Referenser... 9 Bilaga 1: Inloggnings script... 10

1 Inledning Anjool är ett företag som jobbar med brandsäkerhet för hem och företag. I November 2011 så kontaktade ägaren till Anjool mig för att bygga upp deras hemsida.resultatet blev en riktigt bra sajt. Den innehåller en funktion där deras säljare kan lista alla ordrar, söka specifik order och se status, samt om det blivit en s.k. ångrad order. 1.1 Syfte Syftet med att bygga om sidan är att få de funktioner som sidan består av att fungera bättre. Även se över om det går att lägga in nya funktioner eller förenkla dom som redan finns, och även se om man kan rensa upp lite i koden, exempelvis repeterande kod som finns på mer än ett ställe i samma fil. 1.2 Frågeställning I den här rapporten kommer jag besvara frågorna: Hur ska jag se till att hemsidan kan visa företagets ordrar från excel arket? Hur kan en förbättring av hemsidan ske på bästa sätt för att uppfylla de nya krav som tillkommit? 1.3 Problembeskrivning Orderhanteringen sköts via ett excelark som finns lokalt hos "chefen" Det behövdes en ombyggnad i excelarket där alla företagets ordrar listas. Om detta skulle laddas upp i mysql-databasen med hjälp av Csv-script måste databasen få fler kolumner, så att den stämmer med antalet kolumner som är i det omgjorda excel-arket. Uppladdnings-scriptet måste göras om så antalet värden i scriptet stämmer med antal kolumner i databastabellen och sidan som listar ordrar måste även visa de nya kolumnerna från den ombyggda databasen. Sökfunktionen är något bristfällig, den delar inte upp resultatet i någon sidbrytning som önskvärt är. Produktsidan är statisk så den måste göras om, så att den blir dynamisk med hjälp av Mysql och PHP.Det behövdes ett formulär under administrationspanelen så att de även har möjlighet att lägga till eller ta bort produkter från produktsidan. Ägaren vill också ha en del animerade övergångar mellan order-sidorna. 1.4 Kravspecifikation Kraven från ägaren är att databasens ordertabell stämmer med excel-arkets antal kolumner och Csv-scriptet tar in lika många värden som databasens tabell. Förändringen ska även synas på hemsidan. som listar ordrar. 1

2 Teknisk bakgrund Anjool s hemsida (anjool.se) ligger på ett webbhotell som använder Apache webbserver med tillhörande php och mysql-databas. Hemsidan är skriven i PHP, HTML, CSS och även Jquery för slideshow. 2.1 Tekniska förkortningar 2.1.1 HTML HTML- Står för Hyper Text Markup Language och är grundspråket för alla hemsidor på internet, men är i sig självt väldigt bökigt att få till en bra design om man bara använder HTML så därför används även css för att få till en enkel och snygg design utan en massa krångel. 2.1.2 CSS CSS - Står för Cascading Style Sheet och är en stilmall för HTML-hemsidor där man kan bestämma hur exempelvis <div></div> block i hemsidan ska se ut och bete sig. Exempel på detta är färger på texter, länkar, border etc. Det underlättar när man bygger sin design att länka sin css-fil i htmldokumentet för att hålla isär html från css-kod. 2.1.3 PHP PHP - Kallas ibland för Personal Homepage men står egentligen för PHP Hypertext Preprocessor som är ett serverbaserat programmeringsspråk, för att kunna bygga dynamiska HTML hemsidor. PHP körs på serversidan och genererar html-kod för användaren, till skillnad från javascript som körs på klient-sidan. På grund av det så får användaren bara se hemsidan i html och kan i och med det bara läsa html-koden, som sidan består av. 2.1.4 MYSQL MYSQL - Är en SQL-databas som tar emot SQL-frågor från exempelvis en hemsida i PHP. Språket som används i Mysql heter SQL och står för Structured Query Language och används för att kommunicera med en databas. Ett verktyg för att enklare utföra SQL frågor är PHPmyAdmin. 2.1.5 PHPmyAdmin PHPmyadmin är ett webbaserat verktyg för att enkelt kunna skapa, editera och ändra i en mysql databas. 2.1.6 Jquery Jquery är ett JavaScript-bibliotek för att förenkla scripting av klientsidan i HTML. Biblioteket släpptes i januari 2006 och används av över 55% av de 10.000 mest besökta webbplatserna. Jquery är det mest populära JavaScriptbibliotek som används idag. 2

2.1.7 CSV-Script Ett csv-script är ett script som tar en kommaseparerad csv-fil som man sparat från ett excel-ark och som läser in alla rader och kolumner och sätter in dom i en mysql-databas. 3 Genomförande 3.1 Use case Use case Diagram 3

3.2 Databas modell Databasmodell för anjool.se 3.3 Beskrivning Genomförandet har gått till enligt följande. 1. I databasen ska det läggas till fler kolumner i ordertabellen så att databastabellen stämmer med antalet kolumner i excel-arket. De kolumner som ska läggas till är Omsattning, Provision, och Hamtad. En ny rad läggs till efter Bostadspaket med namnet Omsattning. En ny rad läggs till efter Datum med namnet Provision. Efter Saljarid ska kolumnen Hamtad ligga. Den har endast två värden 0 eller 1. 2. Efter att databasen är modifierad enligt excel-arkets antal kolumner, måste även CSV-skriptet skrivas om så den tar in lika många kolumner som antalet kolumner i excel-arket och databas-tabellen. 3. I filen som listar alla order så måste utskriften av order skriva ut fler variabler i while loopen. Innan while loopen tar slut så måste dom nya variablerna skrivas ut med hjälp av php-funktionen echo. Innanför en echo kan man skriva ut ren html kod. 4. I filen search.php som har hand om sökningar på en order så fungerar inte en sidbrytning som det gör i list.php. Skillnaden mellan list.php och search.php är att list.php listar alla ordrar och delar upp dom på 10 resultat per sida, vilket inte search.php gjorde. 4

Lösning på problemet blev att spara sökordet användaren söker på som en session. Det innebär att så länge användaren är inloggad så håller den kvar i minnet på vad man har sökt på. 5. "Fade-in" effekter implementerades mellan varje sida i både search.php och list.php. Login formuläret fick också en "fade-in" effekt som är beroende på en fil som heter scripts.js och som i sin tur är beroende på jquery. Jquery kan laddas ner under [5]. Vill man veta mer om hur man kan skriva ihop jquery-effekter så sök på jquery på [3]. 5

4 Resultat Resultatet blev riktigt bra. Av de saker som är korrigerat blev sidan något mer effektiv och snyggare med en del effekter. Har även lyckats skriva om en del filer så att det gick att ta bort en del onödig kod exempelvis i filen search.php där ett antal rader blev färre men fortfarande fungerade likadant. I både list.php och search.php så skrivs alla variabler ut från den ombyggda databastabellen. "Fade-in" effekt implementerades med hjälp av jquery mellan varje order sida. I csv-scriptet tar den in lika många värden från csv-filen som antal kolumner i Excelarket och databas-tabellen och sätter in nya ordrar från en csv-fil in i databasen. sidan som listar alla ordrar. 4.1 Användartest Följande är kommentarer på ett användartest med en person som inte har några kunskaper om programmering och webbutveckling. Liten inloggnings text. Länken för att logga in skulle kunna varit större. Bra med informationsfilmer för allmänheten och länkar till exempelvis Räddningstjänsten. Texten för dessa länkar kunde möjligen varit större och mer centrerat på sidan. Smart med Kartor! Skymmer dock adress informationen som är placerad under kartan i respektive order. Jättebra att man kan söka på ordrar med en sök funktion på antingen efternamn, förnamn, ort eller personnummer. Skulle vara trevligt med bild på respektive säljare med tillhörande telefonnummer så man enkelt kan nå alla av dom. 6

5 Diskussion För att besvara min första fråga i frågeställningen har jag använt mig av referens[6] och referens[3] för att få ihop ett script som kan ta värden från ett Excel ark till en Mysql databas. För att hemsidan skulle få bästa funktion efter dom nya kraven var det nödvändigt att bygga om insättnings scriptet så att den tar fler värden än tidigare. Jag valde denna lösning för att jag anser denna vara enklast enligt mitt personliga tyckande. Jag anser att ett php script som tar en csv fil s alla värden och sparar som variabler som sätts in i en databas tabell var enligt mig den enklaste lösningen. Det skulle vara intressant att vidareutveckla kartfunktionen så att den genererar en google maps med en prick på alla adresser som det finns en order på, för att underlätta för Anjools säljare och deras kunder. 7

6 Slutsats Har sett till att få Anjools ordrar från Excel arket med hjälp av ett csv script som innebär att man sparar ett Excel arks som en komma separerad csv fil som laddas in med hjälp av ett uppladnings formulär. Återstår att göra produkt sidan dynamiskt med hjälp av php och en till mysql databas-tabell. 8

Referenser Websidor [1] www.php.net PHP s officiella hemsida med väldigt mycket kod exempel. (juni 2012) [2] www.mysql.com MYSQL s officiella hemsida. (juni 2012) [3] www.youtube.com sök på (Mr1Bying) guider om bland annat php,mysql,css på svenska. Finns även (phpacademy) php på engelska.. (juni 2012) [4] www.w3schools.com Guider om html, css, php, javascript m.m. (juni 2012) [5] www.jquery.com officiell Hemsida för jquery (juni 2012) [6] www.google.com (juni 2012) 9

Bilaga 1: Inloggnings script login_script.php anropas varje gång en användare ska logga in. <?php session_start(); require_once('db_connect.php'); $connect = mysql_connect($db_host,$db_username,$db_password); mysql_select_db($db); $username = ($_POST['username']); $password = ($_POST['password']); if($username == '') { header("location:../index.php#nouser"); exit(); } if($password == '') { header("location:../index.php#wrongpass"); exit(); } $password = md5($password); $line = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result=mysql_query($line);if($result) { if(mysql_num_rows($result) == 1) { session_regenerate_id(); $member = mysql_fetch_assoc($result); $_SESSION['SESS_ID'] = $member['id']; $_SESSION['SESS_USER'] = $member['username']; $_SESSION['SESS_Fnamn'] = $member['fname']; $_SESSION['SESS_LNAME'] = $member['lname']; $_SESSION['SESS_IN'] = $_SESSION['SESS_IN']; session_write_close();header("location: member_index.php");exit();}else { header("location:../index.php#wrongpass"); exit();} }else {die("query FAIL");}mysql_close($connect);?> 10