Re: Warning: session_start()
| From: | Nazish | Date: | Thu, 19 May 2011 15:05:28 +0000 |
| Subject: | Re: Warning: session_start() | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-312911@lists.php.net to get a copy of this message | ||
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@oire.org> 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@jhu.edu>
> To: php-general@lists.php.net
> Date created: , 9:15:37 PM
> Subject: [PHP] 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>";
>
> }
>
> ?>
>
>