Implementation of Cookie: Saving User Settings on Website without Registration
Under review is a site which is similar to [url removed, login to view], where users can setup their own startpage based on their preferences. Currently, customizing the personal page is only possible for users who register and log in. This process needs to be replaced.
The current project entails the following: enable the possibility to edit the site by the user immediately while not having registered and/or logged in.
Likely solution: Unlock the current default page so all settings are available. Implement a cookie which tracks and saves all settings altered by the user (who does not register and does not log in). Once the user chooses to register, the user's changes should be copied/transferred to their profile, and the site acts normally as if the user is registered.
The site basically consists of several ‘default pages' and ‘user pages'. To clarify: a default page is the page offered to users who do not log in – [url removed, login to view] Users who go through the register procedure and log in obtain their own ‘user page': a page such as [url removed, login to view]
1. All settings can be edited while not having logged in.
2. All changes to the user page need to be logged and remembered. This includes page aspects (such as color, selected active blocks, block settings, language).
3. The default page should remain unchanged for all other users who visit the site. This means that the changes made to the default page are not visible/accessible for other users who visit the default page.
4. The cookie should store all relevant information to create a similar page as provided to the registered users, except that the registered user gets a page which is stored in the database.
5. The use of the MYSQL database is allowed.
6. The cookie should remain on the local machine for as long as possible.
7. The user should be warned by a small message displayed in the header of the default page when the user edits the page without having registered (displayed only when the user starts editing).
8. The job should not affect other functionality of the site.
9. Currently, the site is offered in different languages. Each language has its own default page. Since the language is a setting itself, the user may set their language at any time. Still, the user is only taken to the localized default page when there haven't been made any changes to the site yet (otherwise these settings would be lost).
What should the coder know beforehand
The current register/login sequence can be replaced completely.
The coder may edit in a live environment – but it will be a copy of the live site.
The coder may come up with a different solution to handle the non-registered user settings (e.g. via a table in mysql with the temp-information of non-registered users).