Re: Warning: session_start()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for all your suggestions such as removing whitespace before the <?php
tag and commenting issues. I made those changes.

I didn't realize that connecting to the MySQL database involved sending a
header: eg. mysql_connect($host, $user, $mysql_pass);

Does this mean this mysql_connect statement should go before the <html> tag
- even though mysql_connect is part of my conditional statement for logging
in? (code is below)

I primarily solved the header problem on my login page with a simple
replacement.

I used this line: echo '<script
language="javascript">location.href="first_page.php"</script>';

Instead of: header ("Location: first_page.php");


And the page redirected :)

However, I'm still experiencing issues with session_start() -- once the
user's login password has been verified, the session begins and their
session ID is saved as a variable -- this process takes place in the middle
of the code, after the header. I can't put this right at the beginning of
the code. In this case, from what I understand, I should use output
buffering?

Warning: session_start() [function.session-start]: Cannot send session cache
limiter - headers already sent (output started at
/home2/myparcoa/public_html/index.php:10) in
/home2/myparcoa/public_html/includes/login_form.php on line 32

Thanks again for the insights.

On Wed, May 18, 2011 at 2:54 PM, Andre Polykanine <andre@xxxxxxxx> wrote:

> Hello Nazish,
>
> Try  to  delete  your  HTML comments before the <?php starting tag. So
> remove *anything* before <?php.
>
> --
> With best regards from Ukraine,
> Andre
> Skype: Francophile
> My blog: http://oire.org/menelion (mostly in Russian)
> Twitter: http://twitter.com/m_elensule
> Facebook: http://facebook.com/menelion
>
> ------------ Original message ------------
> From: Nazish <nazish@xxxxxxx>
> To: php-general@xxxxxxxxxxxxx
> Date created: , 9:15:37 PM
> Subject:  Warning: session_start()
>
>
>      Hi everyone,
>
> I recently uploaded my website files to a server. When I tried to log into
> my website, I received these error messages:
>
> *Warning*: session_start()
> [function.session-start<http://www.myparcoasis.com/function.session-start
> >]:
> Cannot send session cookie - headers already sent by (output started at
> /home2/myparcoa/public_html/index.php:10) in *
> /home2/myparcoa/public_html/includes/login_form.php* on line *33*
>
> *Warning*: session_start()
> [function.session-start<http://www.myparcoasis.com/function.session-start
> >]:
> Cannot send session cache limiter - headers already sent (output started at
> /home2/myparcoa/public_html/index.php:10) in *
> /home2/myparcoa/public_html/includes/login_form.php* on line *33*
>
> *Warning*: Cannot modify header information - headers already sent by
> (output started at /home2/myparcoa/public_html/index.php:10) in*
> /home2/myparcoa/public_html/includes/login_form.php* on line *36*
> *
> *
>
> The website worked fine on the Apache localhost server (I could log in), so
> I'm not sure what's wrong with the code which is creating the error on the
> online server. Any ideas? I've highlighted the two error lines (31 & 34).
> I'd appreciate any insight! Thnx!
>
>
> <!-----------------------------------------------------------------------
>            WHEN USER CLICKS 'ENTER' TO LOGIN
> <!------------------------------------------------------------------------>
> <?php
>
> $submit = ($_POST['submit']);
>
> if ($submit)  // If user clicks the 'ENTER' button to login
> {
>    // Connect to server and select database
>    include ("includes/mysql_connect.inc");
>    include ("includes/connect_res_directory.php");
>
>    // define login variables
>    $login = mysql_real_escape_string($_POST['login']);
>    $password = mysql_real_escape_string($_POST['password']);
>
>    $check_login = mysql_query("SELECT * FROM unit_info
>                               WHERE login = '$login'
>                               AND password = '$password'");
>
>    $data = mysql_fetch_assoc($check_login);
>
>    // Are all the fields filled?
>    if($login && $password)
>    {
>        // If fields are entered, verify username and password in mysql
> database
>        if (mysql_num_rows($check_login)) // If the login and password
> exists
>        {
>            //Login
>           * session_start();*
>            $_SESSION ['login'] = $data['login'];
>
>        *    header ("Location: index_test.php"); // webpage for correct
> login*
>
>            exit;
>        }
>        else
>        {
>            // Invalid username/password
>            echo "<div class='alert'>The username or password you entered is
> incorrect.</div>";
>        }
>    }
>    else
>        echo "<div class='alert'>Please enter all the fields!</div>";
>
> }
>
> ?>
>
>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux