Regards, Shelley -----Original Message----- From: Eric Butera [mailto:eric.butera@xxxxxxxxx] Sent: Saturday, January 19, 2008 12:03 AM To: Jochem Maas Cc: php-general@xxxxxxxxxxxxx Subject: Re: A stupid question? On Jan 18, 2008 10:49 AM, Jochem Maas <jochem@xxxxxxxxxxxxx> wrote: > > Eric Butera schreef: > > On Jan 18, 2008 9:31 AM, Jochem Maas <jochem@xxxxxxxxxxxxx> wrote: > >> Eric Butera schreef: > >>> On Jan 17, 2008 9:54 PM, Shelley Shyan <Shelley.Shyan@xxxxxxxxxxxxx> wrote: > >>>> Hi all, > >>>> > >>>> Maybe this is a somehow stupid question. > >>>> > >>>> I want to know how php could know whether session_start() has been called, that is, whether session has been started. > >>>> > >>>> I Googled, but got little help. > >>>> > >>>> Thank you for help! > >>>> Any tip is greatly appreciated. > >>>> > >>>> Regards, > >>>> Shelley > >>>> > >>>> > >>> > >>> One other thing is you won't be able to start a session if headers > >>> have been sent. It is a good idea to use output buffering to help > >>> aid with this. > >> no it's not a good idea to use output bufferin to 'help aid' this. > >> instead write code that is logically structured so that the > >> initialization of your pages/app/scripts occurs BEFORE any output is generated. > >> > >> to avoid spurious output of whitespace avoid including the trailing > >> '?>' is included php[-only] files. (and ignore whatever Tedd says > >> on the subject ;-) > >> > >>> If headers have been sent you'll get a nasty warning. > >> if (headers_sent()) { > >> echo "oops!"; > >> } > >> > >> use code to avoid warnings. > >> > >> > >>> It can be a php.ini setting or you can simply call ob_start() on > >>> the first line of your script. > >>> > >> > > > > I agree with you that it is ideal to do what you're saying but it > > isn't always 100% practical. Sometimes the stuff we work on is > > handed down and in our purist world we'd like to change it, but > > can't. So I think that you should recommend best practices for > > future creations, but blindly shooting down all alternatives isn't > > right. My solution would get the job done rather than the OP > > refactoring the pages and not getting paid for it. It would work > > and over time things could be tidied up on future revisions over time. > > still, it's not a good idea because that implies a concept that you > are wanting to apply. you don't want to use output buffering if you can help it. > > output buffering to overcome output being created before headers are > [conditionally] sent in badly written code is a viable hack given > certain budgetary and/or time constraints. > > what I'm saying is it's a viable solution to a immediate problem for > which you don't have the time/money to fix properly - it's more than > fine to enlighted the OP as such, I just don't think calling it a good > idea is the right thing to do - it gives the impression that your > giving it the seal-of-good-coding-practice-approval, and the OP might > just take your word for it. > > > Also, if you do what you've said and created your logic 100% > > perfectly, there should never be any use for headers_sent(), right? > > Headers shouldn't have been sent until you've specifically sent them. > > true, and they are not - but if you want to be sure to avoid cruft in > the output and/or shit in the logs you program defensively for those > occasions where somebody [else?] makes a mistake of some kind. > >Fair enough, you win! :) Thank you all. Thank you very much. :-) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php