ufdeveloper
ufdeveloper

Reputation: 406

user profile page generation

I am developing a dynamic website using PHP. When a user of the website creates an account, a profile page should be created for that user. Say, a user called 'dev23' creates an account on my website, his profile should be accessible through the link www.mysite.com/dev23

How do I create such a thing? Should I create a standard page like userprofile.php which is populated with data specific to the username provided? Or should I create a permanent webpage for every user?

Please let me know the right approach to this porblem.

Upvotes: 0

Views: 1558

Answers (2)

zgr024
zgr024

Reputation: 1173

Ideally you should be creating a single file that handles all users.

Certain frameworks like SkyPHP allow this by defining the attributes after a valid page as "queryfolders" which can be used much like GET/POST variables.

If you are not using a framework, I might suggest you look into using one to simplify your tasks.

SkyPHP also has a functionality where a single field in a table can be used to pull this data simply by defining the page as _table.field_name_

It will check to see if there is a matching table and field to pull the data from and will automatically pull the id of the record whose field's value matches that of the url and assign it to a variable.

Example... If we have a table called category and a field named slug, one would create a page named _category.slug_.php

Then the url... http://mydomain.com/watches would look for "watches" in category.slug and pull back the identifier of the record as $category_id with $category_slug available also.

It would solve your issue if you are willing to give it a shot.

Again refer to the documentation here... http://switchbreak.com/skyphp

Upvotes: 1

Marshmellow1328
Marshmellow1328

Reputation: 1265

Is the www.mysite.com/dev23 meant to be public or only visible to the logged in user?

If it is only visible to the logged in user, you can create a myprofile.php file which retrieves the logged in user from the session and retrieves data accordingly.

If it is meant to be a URL that other users can hit, you probably want some sort of userprofile.php page with data passed along to identify the user to be viewed. For example, the url might be www.mysite.com/userprofile.php?user=dev23. If you are using Apache for your web server, you can look at using mod_rewrite to make the URL prettier. Thus, you could have the URL www.mysite.com/user/dev23 routed to userprofile.php?user=dev23 and your PHP processes the same. It is just a means of making URLs be more user friendly than a naked query string. This is common amongst many PHP-based CMS systems such as WordPress, Joomla, etc.

Upvotes: 1

Related Questions