Re: Session problem
| From: | shaun | Date: | Mon, 17 Mar 2003 22:52:30 +0000 |
| Subject: | Re: Session problem | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-140057@lists.php.net to get a copy of this message | ||
silly me,
testing the query (echo $query;) was actually causing the problem!
"Pete James" <Pete_James@advanis.ca> wrote in message
news:3E764E3B.4040104@advanis.ca...
> You need to start the session at the beginning of the script, or use
> output buffering.
>
> Either:
> <?php
> session_start();
> require("...
> ...
>
> or
>
> <?php
> ob_start();
> require("...
> ...
>
> You're trying to output stuff to the screen (which implicitly sends the
> headers) then trying to send more headers by calling session_register()
> (which implicitly calls session_start() )
>
> HTH.
> Pete.
>
> shaun wrote:
> > Hi,
> >
> > I get the following error when using using the following script to
> > authenticate a user. The login form is inside a frameset, is this whats
> > causing th eproblem, and is there a way round this?
> >
> > Warning: Cannot send session cookie - headers already sent by (output
> > started at
/home/w/o/workmanagement/public_html/authenticate_user.php:12) in
> > /home/w/o/workmanagement/public_html/authenticate_user.php on line 35
> >
> > authenticate_user.php:
> > <?php
> > require("dbconnect.php");
> >
> > // Assume user is not authenticated
> > $auth = false;
> >
> > // Formulate the query
> > $query = "SELECT * FROM WMS_User WHERE
> > User_Username = '$_POST[username]' AND
> > User_Password = '$_POST[password]'";
> >
> > echo $query;
> >
> > // Execute the query and put results in $result
> > $result = mysql_query( $query )
> > or die ( 'Unable to execute query.' );
> >
> > // Get number of rows in $result.
> > $num = mysql_numrows( $result );
> >
> > if ( $num != 0 ) {
> >
> > // A matching row was found - the user is authenticated.
> > $auth = true;
> >
> > //get the data for the session variables
> > $suser_name = mysql_result($result, 0, "User_Name");
> > $suser_password = mysql_result($result, 0, "User_Password");
> > $stype_level = mysql_result($result, 0, "User_Type");
> >
> > $ses_name = $suser_name;
> > $ses_pass = $suser_password;
> > $ses_level = $stype_level;
> >
> > session_register("ses_name"); //this is line 35
> > session_register("ses_pass");
> > session_register("ses_level");
> > }
> >
> > //if user isn't authenticated redirect to appropriate page
> > if ( ! $auth ) {
> > include("login.php");
> > exit;
> > }
> >
> > //if user is authenticated, include the main menu
> > else{
> > include("home.php");
> > }
> >
> > //close connection
> > mysql_close();
> > ?>
> >
> > Thanks in as=dvance for your help
> >
> >
> >
>
>