[FX.php List] Good PHP Design? Process in same or other (include)
page?
Joel Shapiro
jsfmp at earthlink.net
Sun Nov 12 23:27:59 MST 2006
Hi all
Looking for recommendations on good php design here.
I'd been under the impression that having fewer php pages is often
good design (now I'm not so sure ;), so I put the processing of a
login into the login page itself (code at bottom of email).
Dependent upon whether the login session variable is set, the login
page displays either the login form or the logged in user's name and
a logout link. This works fine.
I made the login page into an include so that I can use it in
different places on my site, where a user can login for different
purposes. This works fine.
However, I'm encountering a problem in the UI because I want to have
text displayed *above* the login form dependent upon where on the
site the user is (e.g. "Login here to register" or "Login here to
view your history"). I've got this inside an if (isset ($_SESSION
['login']) ) statement (on the main calling page, not the include),
since I don't want to display it once a user is logged in. The
problem comes because -- since I've got the login processing
happening within the login page itself -- by the time the include
gets called, the line above it -- with the IF statement -- has
already processed: so a successful login still has "Login here to
register" displayed above it until the page is reloaded in the browser.
One solution seems to be splitting the processing into a separate
page from the page that displays the form or the user name & logout
link. This way I could call the processing include at the top of my
main page and set the session variable there, so that by the time the
forn/name page gets included, the session variable has already been
set. Another thought I had would be to keep the processing in a page
that I include at the top, and have that page set a variable with
either the form or the user's name, and then echo that variable lower
in the page -- instead of another include. (that seems messier to me,
though).
Any recommendations for me? How do other people deal with this? Any
good rules of thumb? (Does this have anything to do with the concept
of 'object oriented'?...) And if more shorter pages are preferred,
are there naming conventions for such files, e.g. login_display.php,
login_process.php...?)
TIA for any feedback.
Best,
-Joel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
code basics:
if( $_POST['login'] == 'login' ) {
// DB QUERY HERE
if ( $result['foundCount'] == 1 ) {
// SET $_SESSION['login'] }
}
}
if ( !isset($_SESSION['login']) ) {
// ECHO FORM (action="$_SERVER['REQUEST_URI']")
} else {
// ECHO USER NAME AND LOGOUT LINK
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.iviking.org/pipermail/fx.php_list/attachments/20061112/3690d85d/attachment.html
More information about the FX.php_List
mailing list