From:             [EMAIL PROTECTED]
Operating system: Linux 2.4.8
PHP version:      4.0.6
PHP Bug Type:     Output Control
Bug description:  PHP sends no location header when output_buffering = On

//Bug in PHP 4.0.6
If output_buffer = On AND 
        session_start() AND 
        header("Location: ..) AND 
        no HTML output then
        PHP sends no header

You expect the browser to redirect to Location URL.
What really happends depends on the browser:
- Netscape: waits a while and nothing happens
- IE: redirects to search engine
- Konqueror: connection lost
- Some browsers indicate empty document received

Work around: 
- when output buffering is on, then add blank line      before start of
script
- switch output buffering off

Example PHP page excerpt:
<?php
session_start();

if (!isset($HTTP_COOKIE_VARS['CompanyID'])) {
        $Info = urlencode("Please log in.");
        header("Location: Login.php?Info=$Info");
        exit;
}

// More lines .....
?>


-- 
Edit bug report at http://bugs.php.net/?id=15493&edit=1
-- 
Fixed in CVS:        http://bugs.php.net/fix.php?id=15493&r=fixedcvs
Fixed in release:    http://bugs.php.net/fix.php?id=15493&r=alreadyfixed
Need backtrace:      http://bugs.php.net/fix.php?id=15493&r=needtrace
Try newer version:   http://bugs.php.net/fix.php?id=15493&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=15493&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=15493&r=notwrong
Not enough info:     http://bugs.php.net/fix.php?id=15493&r=notenoughinfo
Submitted twice:     http://bugs.php.net/fix.php?id=15493&r=submittedtwice

Reply via email to