how to modify drupal 7 mysite/user/login and mysite/user/registration pages "in-place"? I am trying to find out a way to add fields/modify existing fields/theme the default Drupal 7 login/registration pages in-place.

What I mean "in-place" is to find a way to not create new login/registration pages through creating "page--user--register.tpl.php" files.

I am looking for a way to add/modify/theme the mysite/user/login and mysite/user/registration pages without having to create page--user--register.

However, if overriding the hook_theme() in "template.php" and creating "page--user--register.tpl.php" file is the only way, then is there a way to have it use the same theme as the rest of the pages? I can make the custom registration page have the same theme through coyping code from "page.tpl.php" and pasting it in my "page--user--register.tpl.php" file, but this seems wrong to me.

Any help or comments are appreciated.
If you want add form fields to either the login or registration form(s) you will have to write custom PHP code in a module file to make any use of the fields.

The forms are just blocks on the page, and should inherit or reuse block.tpl.php pretty much everywhere. Since they are just blocks, sitewide css can target them specifically once you've made them.

The drupal login and registration system is fairly pluggable, you can "inject" your own validation code (to handle your own custom fields) and authentication pretty much however you wish.

A useful tutorial/blog post might be:
http://omegadelta.net/2011/03/23/custom-authentication-with-drupal-7/

It doesn't add custom fields, but does modify the existing drupal login behavior which is what you're trying to do as well.

In your case you probably want to do something like:


create a custom login/registration block in a module, it simply
loads the default login or registration block as an object.
Implement hook_block family of functions.
hook_form_alter() the block and inject your fields and override the default user authentication validator with your own to consume your fields
(similar to the linked blog posts' _geospike_user_login_form_alter()
function).
define a hook_menu path which outputs a page that
loads/outputs your custom defined block to login or register.


Drupal can do what you want with basically a custom module and like a few hook functions. Your not creating your own user login or registration form, and your not writing your login login validators from scratch -- you are just overriding the pre-existing ones for new ones your basically telling drupal exist now via your module.