Is there a built in way to add more colums to a users profile? and then making that data editable by admin and only viewable and not editable by the user? Or does it have to be done by adding the colums to the database in the profile table in phpMyadmin and then writing all the php in the profile page?
You're free to do it however you want. The profile page only shows the data we wanted to show. You can either add more columns to the users table (which you can always display to the user as $user->data()->ColumnName) or you can even make a whole additional table. Whatever you want to do. Either way, you add the columns in phpmyadmin. Then it's a matter of what you want to do with that info.