Friday, 20 May 2011

Week 11 - Term 2 Introduction to Second Life

Introduction
This coursework is divided into two terms, first term was what we covered so far and second term is all about Second Life. Second Life is a virtual 3D world and this is created by the people who use it. In this virtual world you can fly and run and travel around the world in a few minutes. In Second life one has avatars and primes. An avatar is your character which you can create according to your likings to do whatever you want him to do. In second life you can build your own things. These objects are called primes, short for primitives. Everything is build out of cubes then you can turn these cubes into different shapes like triangles, circles and more. These shapes can be giving any texture and also you can sculpt them into anything you want to create any shape. Once you have the primes you can make them communicate between other objects by getting some sample codes. A sim is an area on the map based on a simulator, this area can contain a number of prims on it. Second life is being criticized for some things like there are few people which are in it another thing is that one needs very good internet connection.

History
Second life was founded by Linden Lab by Philip Rosedale, in 1994 he taught of connecting computers via internet and create a virtual world. Linden Lab was founded in 1999 which started as a hardware company. This company needed something to go with their hardware so in 2001 they started building the Linden World and this was very much different then the Second Life we know today. They continued working through out the years and in 2011  the new Second Life Community Platform was launched and on the 29th March they also introduced a new function being the modes which the user can use Basic mode and advanced mode


For this term we won't be given any tasks one must complete, instead we will talk about what we have done. First off I started by downloading second life viewer from http://secondlife.com/support/downloads/. It's installation was pretty much straight forward and easy. After installation you register with second life. When registering you add the username that you will be using and select a password.  When loging in you can select a mode basic mode and advanced mode. The basic mode is an easier and simplified experience. While advanced mode is a bit more complicated and for those who will use the full features of Second Life Viewer.
I started of by creating my avatar, you select the gender of your avatar and also choose an outfit of your likings. If later on you would  want to change the avatars outfit you can, you can also change it's username, the only thing that cannot be changed is the name.Once you are done then you can jump into the world of Second Life. When you go to Second Life for the first time you are placed in a specific place. In here you find only first time users
Taking my avatar to Middlesex campus
Moving Controls
Once I jumped to that world I started by experimenting with the things your avatar can do. Your avatar can move to move you can either click the move button on the screen and you will be shown the controls or else using the arrow keys on the keyboard. At first I taught that clicking the on screen controls is going to be a bit frustrating as I taught the for each click it would make a step but then I noticed that you click once and keep it pressed on the controls and while the forward button is clicked you roll over the other controls to rotate or change direction. In this panel you can also choose to run or fly.
Flying using Pg Up


Your avatar can also do certain gesture. A gesture is telling you avatar to do something without moving to different places. Gestures can include clapping, bowing, crying and more. I noticed that in the gestures drop down menu each gesture starts with a slash. This is because a short-cut for using gestures would be typing the gesture you want to do in the chat and including the slash before it. On the interface you have a view button this will change the way to view. You can zoom in and zoom out and rotate.

Teleporting is going from one location to another destination. This is done either by using the search or using the world map. First place I teleported to was the Middlesex Campus. Although to my disappointment there was barley anyone there. Here one can find loads of posters and some classrooms and also a hall.  

Your avatar can also go to shops and buy whatever things you want to buy. Clothes for your avatar and different things. 

Conclusion
After several lessons we are to be able to build a room which has a garage and as soon as you approach it, it will automatically open and close. I never used Second Life and never heard of it. At first I couldn't understand why we were learning it cause for me it looked like a "game" but then when I started researching deeper and unserstanding it concept I realized that one will use coding in this and will make things move and communicate with others. Also it might be that in the future Second Life will take over chatting with MSN and Yahoo and this can be the future of chatting or it can be enhanced more and take over facebook. It could imitate the users movement and the avatar will be able to do them on screen. Since technology is evolving fast everything is possible. I see great potential in Second Life and think that teenagers would really enjoy it as I enjoyed it myself.  Although this is a good thing I do find a disadvantage to it, even nowadays kids forgot how to have fun and play because they are always stuck with their screens playing games. The question is, If second life is enhanced  will this make it worst? 

References: 
             http://secondlife.com/

Thursday, 5 May 2011

Week 10 - CourseWork 2

Introduction
After the first coursework which was the animation of the moving man we started looking at the server side and went into PHP. This coursework had to be done mainly with the use of PHP. 

What to do?
We were asked to write a remote Web Space management system and the user is to be able to add and organise files to this area. This area is to be secured with a password. The theme of this management space was to be of anything we wanted. 

Features: 

(1)  Your program should be written as PHP scripts . The user should be able to work with this program via a Web browser from any computer connected to the Internet.

(2)  When your program starts, it should ask the user to enter a password and username, and not allow the user to access their Web space unless they know the password. Passwords should be stored in an appropriate MySQL database.
(3) Once allowed access the user should be able to:
  • Make and delete directories
  • Delete Files
  • Upload new files
  • Only be able to access their own space, which should have space limits imposed upon it.
Implementation:
First of I started by deciding what theme I want to use. Since this is a school coursework I taught of something that has to do with school. Therefore the theme I choose is having a school website which offers advanced courses to students and their students have to submit their homework and tests online. Three directories will be used; homework, tests and results. In the homework folder they can each upload their homework in that folder. Tests are uploaded in the tests folder and then they can download their test results from the tests folder.

I continued by designing the layout of this site. A simple image was created where it had different sections; courses, submit homework, register and contact us. This time in my work in HTML I introduced hotspots. Hotspots are, when you have one image divided into regions (hotspots). When this region is clicked an action can occur, like taking you to another page. This is done by first giving the image a usemap=" "; attribute, this will be like an id to show the image which map to use in case you have more than one. Then you select the shape of the hotspot and mark its coordinates and put the link to where you want the users to go when they click on it.
 Example: <area shape="rect" coords="55,464,140,496" href="courses.php" alt="courses" />
I added CSS to give the page more style and linked each page with the CSS style sheet page.
Index Page


After defining all the pages I started off by building the login. A database was created where the usernames and passwords are stored. 

This database was created for the login, if one of these users login using these following username and password they will login successfully, if however they miss type there details or someone else will try and login with fake details, they won't be logged in.

After that I kicked off with the login. I created a form with two fields username and password and login and reset buttons added some CSS to give it some style. The login button will go to a page which has the validation process while the reset button will clear the details from the fields. I then started creating the page which validates the username and password. I started by connecting the database. 


The above screenshot shows the code to the connection, $host, $username, $password and $db_name are variables I created to use them. It's better to declare the variable then using the real values throughout the pages, because if you decide to change them, then you would have to change the whole thing throughout the code and like this you just change the values of the variables.


Next I researched how to protect the script from SQL injection. SQL injection is when someone inserts an SQL statement on your database without your permission. This usually happens when a user is asked to input their details and instead of a name they give you a MYSQ statement that you won't know about. I researched for code that will protect the work against MYSQL injection and used it in my SQL and fixed it to suit my code.

Then the table from which the usernames and passwords are validated is passed. This was done using the SELECT*FROM statement. 

Next if the logging is validate, the user will be directed to another page which is the space management, while if the login fails he will be shown an error message and he will have a try again link which will direct the user the the login part again.

Logged in

Login Failure
Next when the user manages to login he needs to select a directory so that one can upload the file he wants into the directory he wants to choose. To do so first I created a folder named uploads and created 3 different folders in it; homework, tests and results. Each folder will have its specific use. After that I did the php code. To list a directory one needs to use the readdir()function. This function reads the entry from the directory. First it opens the current directory by giving it the correct path. Then an array was defined to hold the files. Then a loop will loop through all the files and it will store the filename and close the directory using the closedir() function. After that a foreach loop was done and in it there is the echo which will display the select option for each file. With this function the user is able to select his folder in which he wants to upload his work.
After this, the user needs to upload the file. The user will first browse his computer to select the file that he would want to upload and then he uploads the file. Then if the file is uploaded successfully the user will be directed to another page where he will be shown the file details; file name and file type and then he will informed that his file has been uploaded successfully. If the file won't be uploaded successful the user will be shown an error message and he will be have a go back link.

In this page I encountered a lot of problems and had a lot of trouble, it was not finding the path and had some undefined indexes errors. Regarding the path I tested it by first trying to direct the path to somewhere else, I used My Documents as a testing path and this worked perfectly. Then I learnt that in PHP one has to use \\ slash instead of single slashed. After that I had to add the file that the user would have chosen by adding .$_POST['fileFolders']."\\". Another problem I found was to show the size of the file. For some reason it didn't work and couldn't find a way to solve it.

Uploaded
Error in Uploading

View Files 
The user then has the ability to view the files that there is found in the directory. This was done by using the opendir() function.  First the path was specified of which folder you want to view, then an if statement was used to open the given directory  and proceed to read its contents. This works by the user clicking the view files button and if this works the user will be directed to view the files in the directory. Then to go back to the management system he uses a link to go back. In this part I also encountered a problem which also was a path problem because of the single slash. When I changed it into double slashes it worked.

View Files
Delete Files
Another function which was required to do was the delete function. My idea of this was making a check box near each file found in the directory and when the user would want to delete any file the user will check the box to delete the folder. I tried doing this using the unlink()function. Also since one users can create directories one users have to have the ability to delete them this is to be done using rmdir()function. This biggest problem in this was to make the check-boxes synchronize  Unfortunately this function did not work as I taught it would. 

Space Limit
Also we had to create space limits so that they won't exceed their space limit. This can be done using the getDirectorySize()function. My aim for this function was, letting the user uploads and when he exceeds his limit the user would be informed and won't be able to upload any more files. Also this function did not work. 

Mobile
This site was also required to work from a mobile. This was done by typing in my IP address in the URL of the browser on the mobile. It did work good, it uploaded and one could view it but the problem was that it didn't fit perfectly on the screen since it is a small screen one would need to do a lot of scrolling. But this could be fixed by instead of giving the width a fixed size using pixels, percentages are used so that they size would fit on every type of screen size.
Conclusion
Improvements
As improvements it could have come a bit better, since not everything works I would start by trying and making those functions working, fixing errors for exceeding size limits, deleting files and also deleting folders. Also I have a registry form and a forgot your password function. Also these can be as an improvement. I did some research regarding these two pages though they look like they require advanced PHP and the registry form also needs some  PHP. 


Conclusion
Although I didn't manage to get this project working as the required requirements I am still happy by how far I've gone mostly because I have never coded PHP before. I will continue working and improving this project and blog about my improvements as it was a really interesting work and also will definitely come in handy in the future. I tried giving much detail as possible though this blog was done in a few time since bloggert had some problems and my previous post got deleted and had to do it all again!. I think PHP is a really interactive language and provides a lot of interactive parts with the users. It isn't such a hard language to code.  I will keep on working with PHP as practice makes perfect. 

References:
             http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php
             http://www.w3schools.com/PHP/php_file_upload.asp
             http://php.net/manual/en/function.opendir.php




Friday, 22 April 2011

Week 9 - Introducing SQL with PHP

Introduction 
Big websites now a days always have some type of user accounts and log in. These need somewhere where they store collected clients information like for example a database which is stored on the server. A database allows for manipulation and uploading of data. 

SQL
Structured Query Language is used to communicate with a database. These statments perform tasks like updating, adding and deleting data from a database. Oracle, Sybase, Microsoft SQL Server, Access and more are some common relational DBMS’s that use SQL. The most common SQL commands are "Select", "Insert", "Update", "Delete", "Create", and "Drop" these can be used to accomplish almost everything that one needs to do with a database.

SQL Queries
Queries help search through the database for what information is needed. This is done using the "SELECT" statement and can include other clauses like "FROM" "WHERE" and "ORDER BY".
SQL Examples

Create Table -Create a new table within the existing database
CREATE TABLE person(Id VARCHAR(32), firstname VARCHAR(32), lastname VARCHAR(32), address VARCHAR(70));

Delte Table - Delete rows which you don't need from a table
DELETE FROM person WHERE WHERE firstname = 'Billy' AND lastname = 'Boo';

Insert Statement - Add new rows to an existing table
INSERT INTO person(id, firstname, lastname, address) VALUES('01234', 'Trisha', 'Brooke', 'United Kingdom');

Update Statement - Update something which is already there in a table
UPDATE phonebook SET address = 'North America', phone = '+1 123 456 7890' WHERE firstname = 'John' AND lastname = 'Doe';

Drop Statement - Delete a full table.
DELETE TABLE person;

Alter Statement - Lets a user modify anything within the table.
ALTER TABLE person RENAME TO people;

This weeks task
  1.  Log into MySQL using command line, and perform some commands such as listing the databases.
  2.  Attempt to connect to MySQL by using phpMyAdmin
  3.  Create a database that stores usernames and passwords
  4.  Modify your PHP program from the previous lab session to connect to the database to authenticate the user.
First of was accessing MYSQL through command line. When installing XAMPP you need to locate where this installation directory is by default it is C:\XAMPP\. The directory in my case was left default therefore the location is C:\XAMPP\mysql\bin\. Back to command prompt I typed in CD C:\xampp\mysql\bin which took us to the location then typed in m ysql.exe –h localhost –u root –p as I typed it up it asked me for the password. By default the root password is blank and that makes security an issue. Therefore I decided to set a password, to do so I opened XAMPP on the browser through localhost went on the security page. This showed as unsecure since no password was set. I created a password and it was successfully changed. 
Password successful
After this I went back to the command line to continue with logging into MYSQL. For the password change to take effect i restarted command prompt and MYSQL and logged in agin in MYSQL Terminal as shown in the figure below.
In MYSQL Terminal


Show databases; command
After logging in some commands where executed like show database and show tables. The show databases command lists all the databases found. Then the show tables command was executed and an error occurred because I didn't select which database I wanted it to extract tables from. To fix it I used the "USE db_name" command and it worked.

Phpmyadmin
This is an open and free source software,it is used to handle the administration and management of MYSQL databases through a graphic interface. As also one can see in the name it this is written in PHP and is a very popular web-based MYSQL management tool. Users privileges can be managed, one can also make use of the import function, importing SQL or CSV. On the contrary of import one can also make use of the export function where your database can be exported in CSV, SQL and other formats.

Phpmyadmin was downloaded, from localhost I navigated to phpmyadmin. If this doesn't work one can check the config.inc.php file and check out some firewall settings. Below is an image showing that phpmyadmin was located 


Creating the database
A database was created called users using the create database statment, then a table was also created where in it there are the id which is a primary key, a not null and also it is auto incremented. Then the username field and the password where the users details will be stored as seen in the diagram below.


Create database and table

After the database was created, data was inserted  using the "insert into" statement. 

Insert into
After that I checked if the database was visible from phpmyadmin and it was. 


Connecting the database with php

In the previous exercise an array was created, for this week we will use the database which I just created and connect it to the login using php.Two variables were created $myServer and $myDb. The first one shows the details of the database and the second database shows which database to use.


The select command selects the database to work with, username and password that the user entered and is stored as a variable $result.

Next another class was created, first the $strsql is a variable that stores the sql commands. The username and password that the user entered are then stored in the $result variable. 

Conclusion
I personally think that PHP is a vast and good language to learn interacting SQL with PHP is a very useful feature. Coding these bits weren't difficult some research was made online to find some help, this is also another advantage because one can find tones of help online.


References: 

Thursday, 14 April 2011

Week 8 - More PHP

Introduction
This week I will blog more in depth about PHP. This lecture was about functions, form handling, cookies and sessions mostly. 

Functions
We already saw functions in Javascript. Functions are use to seperate a section of code that can be used frequently which can be applied to different data. Functions can also be created by the user. This can be placed anywhere as long as it contains the php starting and ending tag and can also be called internally.

Cookies
Cookies also known as web cookie, http cookie and browser cookie, is a piece of text stored on users computer as a test file by their web browser.Cookies keep track of information about your activity on the site. 
 This can be used for several things like authentication, storing site preferences. This stored information can be opened by a simple editor and sensitive data and passwords should be encrypted. These are used to identify a visitor, for example when a visitor logs in they can be greeted by their name. 
When using IE as a browser the stored cookies are kept in a seperate file in a folder named "Cookies" which is usually found in the "Documents and Settings" folder. Users using Mozilla can find their cookies in a text file named cookies in a folder which is ofter called "Firefox/Profiles". Reasons why website use cookies are: Customization, Distribution, Privacy and Security.
Cookies are done using the setCookie() function, if this is correct it will return true, on the otherhand if it comes to a fail it will return a false. They need several parameters only the name is required the others are optional. Example: setCookie(name, value,expire);. To delete a cookie instead of doing the "+" you use the "-".

Sessions
These are another way how one can hold persistence data between pages. A file is created when PHP starts a session. This file contains variables and values and this information stored is available throughout the entire visit of the Web site. 

Task
This weeks task was to created a login page where the username enters its username and password and logs in. Then a remember me button is to be made using cookies and then replacing is with sessions.


HTML login

On the left on can find the code for the form. The form's method is "post". The method "post" involves  anything like storing or updating data, or ordering a product, or sending E-mail. "Post" method is more secure then get since in "get" method data is added to the URL.The action attribute shows to where the form-data will be sent to when the form is submitted. A check box was used for the remember me button.

PHP
PHP was used to do the validating part. Two variables where created  $user and $password, these are compared against the array to check if the login is valid or not. Then there is declared the array  $detail that holds the data. Function isset() is used to check if the variable exists or not while the $_POST which is another function will collect the data. It first checks if the combinations that the user entered are valid, if they are valid it will log in while if they are invalid the page directs to invalid.php where the user will be prompt with an Error alert.

Below are some screen shots of good combinations and a bad combination

Invalid Login
This was done by displaying an alert in the echo if the usernames and passwords weren't found in the array

Good Log in 

While if the password and username entered are correct the user is logged in and is greeted with his username and can also choose to log out again.

Remember me check box


This check box is an option which the user can opt to tick and his details will be saved for the specified amount of days. In our case these details will be saved for 60 days. The setCookie() function is used to create a cookie. Three cookies where created one for the username another for the password and also for the data when visited. These cookies expire in 60 days. For the password MD5 was used to ensure more safety, with MD5 the password isn't saved as plain text but it will get encrypted. The last visited date will show the user on the screen when he logs in, the last time he was on his account. This can be of a good use, since if the date shows a date where he didn't log out he will be able to know someone else is entering his account.

I had a problem figuring out how to check if these are being stored or not and then found out about the cookie options from the internet options.
Cookies being saved

After using cookies, than we had to switch cookies with sessions. A session starts using session_start(); First a session was done to store variables, for password and username, this was done as shown below. First the variables are stored in the sessions and then displayed using the echo.

To then destroy a session one can use from two options either the unset ($_SESSION["username"] or else the session_destroy() function. This was used for the user to be able to log out of his account.

Conclusion

PHP is a rather interesting language. One can do many things that the client might want and in a not so complex way. There are tones of help on internet which if you get stuck or anything one can find a solution easily. I don't thing that php is such a hard language if you put some mind to it one can learn it easily.  

Thursday, 7 April 2011

Week 7 - The first shot with PHP

Introduction 
This weeks lesson was about some basic PHP. I did some deep research before starting to help understand more what was explained in class and started this weeks task.

What is PHP?
This is a server side and an HTML-embedded scripting language for creating dynamic Web Pages,it contains certain syntax which was borrowed from other languages like C, Java and Perl together with is unique features. PHP allows web developers to write pages quickly that are dynamic. PHP is an open source and cross platform it runs on Windows NT and many Unix versions and it can also be built as an Apache module.

How does it work?
When the PHP webpage is visited by someone,  the server processed the PHP code and checks out which part needs to be shown to the visitor, like the content and also the pictures. The other parts like file operation and some math calculations are hidden, it then translates PHP into HTM and sends the webpage to the visitors web browser. 

Some PHP Advantages and Usage
     ·         Reduces time when creating a large website
     ·         Open up thousands of possibilities for online tools.
     ·         Allow creation of shopping carts for e-commerce websites.
     ·         Allows the addition of connecting to databases within a website
     ·         Send HTTP headers and set cookies and redirect users
     ·         Integration with various libraries that let you generate PDF document and also parse XML

When coding PHP there is no need for separate files or anything as this goes directly in your HTML document this is done by making use of the PHP tags <?php……<?> the PHP engine processes whatever is between those tags. One though can do a separate file and then can include it using the include command ( <?php include(“calc.php”); ?> )  Also like other languages it is good to keep code clean and readable by making use of whitespaces and also comments. Like some other languages in PHP you don’t have to declare variables prior to using them. This language feature is called being ‘loosely typed’. As in other programing languages in PHP one can also find loops, if..else, while, switch case and for loop. Like any other language PHP also handles arrays. In PHP one can find 3 different kind of arrays which are the following: 
  • Numeric Array - Array with numeric index
$person[0] = "Billy";
$person[1] = "Lucy";
echo  $person [0] . "and" . $person[1]. " are my best mates.";

In this type of array you make use of the key and value array. The keys are the numbers used to specify in the array while the values are the names of the person. Each key represents a value. To display the result then one uses the echo, you get the value of key 1 and key 2 and are displayed. 
  • Associative Array - Array where each ID key is associated with a value
In the previous example we had an integer as a key but one can also have a string as a key.  In this type of array the key is associated with a value. 

$age = array("Billy"=>28, "Janne"=>85, "Joe"=>82, "Lucy"=>40, "Trish"=>36);;
  • Multidimensional Array - Array having one or more arrays
In this type of array each elements in the main array can also be an array and even element in the sub-arrays can be an array. Therefore each type of element can be an array.

This weeks task
For this weeks task we had to:
  • Using your browser, verify that PHP is working on your web server.
  • Create an associative array of user names and passwords and list the entire array in a table.
  • Explain in your blog the difference between the echo() and print() functions.
Explanation of tasks
To make sure that PHP works on my browser I simple created a plain page and placed in some PHP code. 

This code here shows some variables that were
PHP Code for test
declared and assigned some values to them. Values are of different type some of string while others are numbers and one is a date. Then they are printed it out on the screen. Then I saved and check if it works from localhost and the result is as shown below.
PHP result for test
Next the array was created, it is made out of two columns one for the user's username and the other for the user's password. This was created using associative array type. Lines 9-14 show the table being created for the array to be placed within it. A <th> tag was used for the headers of each column. The array was created by first showing that now we will put php code with HTML using <?php...?>. The array was then declared as seen in line 16. A loop was needed to iterate through the array so they will be displayed.
Code for Array
Array Created in a table
 Next in line was to explain the difference between echo() and print(). Both echo() and print() are used to display the output of the user but when do you use echo() and when do you use print(). One main difference between echo() and print() is that echo() is abit faster. I found some code on a site where it tested the time taken for each of them. Echo() was executed in: 0.057446947097778 while print() took: 0.072533121109009. The reason behind this is because print function returns a statues where it determines if it was successful or not while echo() just prints the output.


<?php
$t1 = microtime(true);
system('C:/php5/php.exe C:/www/echo.php');
$t2 = microtime(true);
$r = $t2 - $t1;
echo 'echo: '. $r;

$t1 = microtime(true);
system('C:/php5/php.exe C:/www/print.php');
$t2 = microtime(true);
$r = $t2 - $t1;
echo 'print: '. $r;
?>

Print can then operate as a function  which can be used for more complex operations. If you try using the echo() as a function you will get an error as follows: Parse error: syntax error, unexpected T_ECHO in /www/testPage.php on line 4.

Also another difference is that echo()  can handle multiple parameters.

Conclusion
Looking back this task PHP is a reall useful language that helps interact with the user and allows the use of databases. I personally think that PHP is a good language and even the fact that it is loosely typed it is an advantage for the programmer and makes it easier. Also it isn't that hard to learn it just like other languages one needs to do hands on to learn.


References: 

Wednesday, 30 March 2011

Week 6- Server side Scripting

Introduction
The blog so far contained client-side related posts, where we started from some basic HTML, then went to styling the site to vamp it up with some designs and not to leave it static we also worked on some JavaScript and some basic XML. After learning those it was time to switch to server-side.

What is server-side scripting?
Internet works cause of TCP /IP. It has two protocols working together both of which are lower level protocols such as application level. Server-side scripting is a web server technology and is done to generate a dynamic page by having the users request running directly on the web server. Server-side scripting was performed with the use of a combination of C programs that made use of the CGI. It is mostly used in websites so they will be able to connect to a database. It is usually used to provide interactive web sites that interface to databases or other data stores. Some advantages to server-side scripting is the ability to highly customize the response based on the user's requirements, access rights, or queries into data stores. As security, server-side scripts aren’t available to the browser and they are executed on the server.

Task Overview
This week’s task is about installing Xamp together with running some few tests to make sure it works well.
Control Panel

 Testing
FTP works
 Xamp was downloaded from www.apachefriends.org and it was installed successfully. After it installed users which have skype installed it interfered with Xamp since they both work on port 80. First we had to check that the control panel opens and works fine and so far it did work fine. Then we had to check that both  http and https works fine and it worked. Then we had to check if the FTP works. At first the FTP was showing as deactivated then i managed to activate it from the control panel but still it did not work. Therefore I went on SCM in Xamp control panel and for some reason altough it was activated from the control panel it did not get activated therefore i activated it manually and got it working.



FileZilla activated manually

After that we had to check other severall reports like php info report, visitors report and also test the guestbook. These mentioned above all worked successfully. To check if the guestbook is working you simply type in the details it asks you for and when you save them you are to get your details in the guestbook.

PHP Report


Guestbook
Visitors








 The html index.html file was also tested, this was found in the C: in the folder Xamp then htdocs. I added a picture and also in the folder I added another folder where there was the CSS found in it and linked it to it. I then tested it by by typing in the following URL http://localhost/index.html


index.html working

Testing from another computer. 


To do this I went on cmd to get my IP address went on another computer and opened the browser and typed in the IP address in the URL to check that it works to.
Replacing the index.html
We also had to replace the index file, this was done using FileZilla. I connected to the FTP server then drag and dropped the index.html file. Since there was already and index.html file a dialog box came up asking what I wanted to do, in this case i wanted to overwrite the index.html file and clicked Ok.
Conclusion
Xamp installation was not a hard task although there were some things that didn't work immediately one can easily find some answers one the internet itself.