Web Programming – Assignment 3
网站编程作业代写 Students are asked to work individually or in pairs for this assignment and are encouraged to seek help from classmates and teaching staff.
Course Learning Objectives and Outcomes
This assignment addresses the following course learning objectives and outcomes:
- Explain the functions of clients and servers on the web, and describe the strengths and weaknesses of the client-server internet approaches to web design and implementation
- Program, access, and manipulate data through the adoption of accepted standards, mark-up languages, client-side programming, and server-side programming
- Design and implement an interactive web site(s) with regard to issues of usability, accessibility and internationalisation
- Design and implement a client-server internet application that accommodates specific requirements and constraints, based on analysis, modelling or requirements specification
- Justify and explain particular internet application concepts, relevant alternatives and decision recommendations, including design considerations for internet security.
1. Instructions 网站编程作业代写
Students are asked to work individually or in pairs for this assignment and are encouraged to seek help from classmates and teaching staff.
Please Note: Keep the wireframe.css file and functionality unmodified, it is a helpful and important part of your development and our marking processes.
Please Note: If there are issues with your assignment that you need to fix before marking can take place, we will assign a temporary mark of 0.1. Don’t panic, it’s a temporary mark which will be updated once you are ready for marking.
Please register your “non-standard” GitHub username here, only if it is not your student id:
https://forms.gle/TmyZRCeMdCkMYm7j7 .
Assignment extension requests can be made here: https://forms.gle/tf1wTsnzxnQvu2S48
2. Overview 网站编程作业代写
The client is happy with your work (or happy with your price 😛 ) and wants you to continue developing the website, building the booking process and implementing client side programming functionality (ie javascript).
3. Web Service
Continue committing to GitHub with sensible messages and maintain readable indentation.
Put functions and common variables in separate files, eg tools.js, tools.php or if you wish you can use PHP classes.
Modules should be used to reduce clutter, that is create functions like myHeaderModule() to output the content found in the header area.
4. Letters and Postcards Home 网站编程作业代写
4.1 Interactive content
Style letters and postcards using transition and transform CSS, visual content to resemble the front of a postcard or the front of a letter (eg unopened envelope) is on one side and the written contents is on the other with internal scrolling or a tasteful resize operation. This should be implemented in a single page.
Flipping between sides (ie front and back) should be toggled by a hover or click event (your choice). The content of the letters can be hard coded for a base mark or included dynamically (see below).
4.2 Dynamic content
Use fgetcsv() to read the contents of the following spreadsheet:
http://titan.csit.rmit.edu.au/~e54061/wp/letters-home.txt (don’t make a copy!)
Update: Use fopen(“/home/eh1/e54061/public_html/wp/letters-home.txt”);
Sometimes hidden formatting chars stop code working, clean your code here:
https://titan.csit.rmit.edu.au/~e54061/secure/remove-nonprintables.php
And place the contents into a 2D array with headings (cells in first row) as keys and each letter or postcard (cells in subsequent rows) as values. The shape of the array should look something like this:
$correspondence = [ [ 'DateStart' => '1914/08/25', ... , 'Content' => 'Just have a chance ...', ...], [ ... ], ... ];
Please note that the contents of this file will change and your code should not rely on an indexed array but rather an associative array with keys found in the first row (ie the headings).
5. Contact Form 网站编程作业代写
5.1 Client side validation
Client side validation should catch the following problems and block submission:
- Names should only comprise western alphabet and limited punctuation chars.
- All text based fields, other than mobile number, are required fields.
- If a mobile is supplied it must be an Australian mobile.
Error messages should be placed or pop up near the field in question, that is no alert() boxes at the top of the page.
5.2 Remember me feature
You should store the user’s name, email, mobile and remember me status in localStorage when the user selects the remember me option and erase this information when deselects the remember me option.
The user’s information should load when the page containing the contact form loads.
5.3 Server side processing and validation 网站编程作业代写
Your PHP script should use
- regexes to repeat the validation of the name and mobile fields.
- filter_var and/or regexes to clean up andvalidate the email input.
- regexes to remove any non-printable characters in the subject and message fields (ie validation of these fields is not required, just a clean up of submitted data is fine.
If data is invalid, the user should be returned to the referring page with $_POST data from text based fields placed back in the text fields, the email address in particular should contained a sanitised or cleaned up version of what was submitted, along with helpful server side generated errors placed next to the fields in error (eg a “did you mean to type this?” error message for rejected email address).
If data is valid, the message should be appended to a text delimited spreadsheet using fputcsv(), please store this in your a3 folder and call it “mail.txt” (set read write permissions, ie to 606) and the user should be returned to the referring page with a server side generated success message.
6. Log in / out Facility, Admin Page 网站编程作业代写
6.1 Log in / Log out Facility
Using PHP’s session object, every page must have an area where the client can log in. This area’s content should change when logged in to display a “logged in as …” message and with a log out button. When the logged out button is clicked, the client should be logged out.
Use the following credentials to authenticate the client, these can be hard coded in PHP:
username: IanBBB
password: p4ssw0rd
6.2 Admin only page
A page called edit-letters.php should be available only when the client is logged in. This page should at a minimum display a webpage under construction message, but you are welcome to develop this page further.
Marks Allocation 网站编程作业代写
46 marks or 46% of your final grade
Web Service and Construction (9 marks)
Your GitHub or BitBucket wp repository is up to date with regular A3 related commits, your commit messages are sensible, reflects the work you completed at each step.
Code indentation makes sense, is uniform and consistent throughout.
Modules are in use to reduce page clutter in main page(s).
PHP and Javascript functions are in separate files (eg tools.js, tools.php) and are included in main pages (adventurous students are free to use classes).
Letters Home, Interactive and Dynamic Content (11 marks)
Letters and postcards have been styled using Transitions and Transform CSS, visual content is on one side and written content is on the other with internal scrolling; flipping between sides is toggled by a hover or click event. The content can be hard coded.
A PHP functions reads the Letters Home spreadsheet using fgetcsv and returns the contents in a 2D associative array
Letters and postcards content are generated from above data structure
Contact Form: Client Side Validation (3 marks)
Client side validation: name and mobile fields are validated according to specified rules
Contact Form: Remember Me (5 marks) 网站编程作业代写
Local storage is used to store the user’s name, mobile and remember me state.
Unticking the remember me box removes data from local storage
Local storage data is loaded when the page loads
Contact Form: Server side processing and storage (12 marks)
Filters used to clean up and validate email input
Regexes used to duplicate client side validation
Subject and message are cleansed of any non-printable characters
Server side success or failure messages displayed near top of page
Sanitised POST data is placed in text based fields and server side generated error messages are placed next to fields
Mail is appended to your spreadsheet using fputcsv: call this file mail.txt
Log in & Log out Facility, Admin only Letters Editing Page (6 marks)
Every page has access to the session object
A working log in / log out facility is present on every page
The client can log in with supplied credentials and log out
The client’s logged in / logged out status is displayed on every page
An edit letters page is only accessible if logged in, otherwise redirects to the home page
Total: 46 marks (or 46% of your final grade)
更多代写:计算机Online course代写 雅思代考 英国Finance金融作业代写机构 mathessay代写 his历史学写作 代写留学生会计