php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #39950 ob_start not work
Submitted: 2006-12-26 06:55 UTC Modified: 2006-12-26 09:48 UTC
From: phunsanit at hotmail dot com Assigned:
Status: Not a bug Package: *General Issues
PHP Version: 4.4.4 OS: windows xp
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: phunsanit at hotmail dot com
New email:
PHP Version: OS:

 

 [2006-12-26 06:55 UTC] phunsanit at hotmail dot com
Description:
------------
i think ob_start not work
try no appserv 2.4.7 and 2.5.7
windows xp with ajax frame work

Reproduce code:
---------------
// * ALL.php for Ahtoring
<?php
ob_start();
header('Content-Type: text/html; charset=utf-8');
define('CONTENTS', true);
include_once('dynamic/dynamic.php');
echo"\n<! window fragment>\n";

if(isset($_REQUEST['modules'])){
	$modules = $_REQUEST['modules'];
	if(isset($_REQUEST['file'])){
		include_once("dynamic/modules/$modules/".$_REQUEST['file']);
	}else{
		include_once("dynamic/modules/$modules/contents.php");
	}
}else{
	header("location : index.php");
}
/*
$error = $db->sql_error($result);
foreach ($error as $value) {
    echo "<br />$value\n";
}
*/
echo"\n<! window fragment>\n";
ob_end_flush();
?>

// login script
<?php
if (!defined('CONTENTS')) {
        die ('<div class="blockError">You can\'t access this file directly...</div>');
}

function form(){
?>
	<div align="center">
	  <form method="post" action="all.php?modules=Pitt_Accounts&op=login" onsubmit="return post(this ,'content');">
		<table>
		  <tr>
			<td colspan="2">&#3626;&#3617;&#3634;&#3594;&#3636;&#3585;&#3648;&#3586;&#3657;&#3634;&#3626;&#3641;&#3656;&#3619;&#3632;&#3610;&#3610;</td>
		  </tr>
		  <tr>
			<td>&#3594;&#3639;&#3656;&#3629;&#3648;&#3619;&#3637;&#3618;&#3585;:</td>
			<td><input name="username" type="text" size="15" maxlength="25" /></td>
		  </tr>
		  <tr>
			<td>&#3619;&#3627;&#3633;&#3626;&#3612;&#3656;&#3634;&#3609;:</td>
			<td><input name="user_password" type="text" size="15" maxlength="20" /></td>
		  </tr>
		  <tr>
			<td colspan="2">
			  <input type="submit" name="Submit" value="Submit" /> 
			  <input type="reset" name="Submit2" value="Reset" />
		  </td>
		  </tr>
		</table>
	  </form>
	</div>
<?php
}

function login(){
	global $db;
	$user = $_POST['username'];
	$passwd = $_POST['user_password'];

	$sql = "SELECT * FROM `pitt_accounts` WHERE  username ='$user'";
	$result = $db->sql_query($sql);
	$field = $db->sql_fetchrow($result);
	$pitt_uid = $field['user_id'];
	$adusr = $field['username'];

	$valid_user = strcmp($user, $adusr);
	$valid_passwd = strcmp(md5($passwd), $field['password']);
	if ($valid_user == 0 && $valid_passwd == 0) {
		/* &#3606;&#3657;&#3634;&#3594;&#3639;&#3656;&#3629;&#3612;&#3641;&#3657;&#3651;&#3594;&#3657;&#3649;&#3621;&#3632;&#3619;&#3627;&#3633;&#3626;&#3612;&#3656;&#3634;&#3609;&#3606;&#3641;&#3585;&#3605;&#3657;&#3629;&#3591; &#3648;&#3619;&#3634;&#3592;&#3632;&#3626;&#3619;&#3657;&#3634;&#3591; session
		pitt_uid &#3607;&#3637;&#3656;&#3648;&#3585;&#3655;&#3610;&#3619;&#3627;&#3633;&#3626;&#3612;&#3641;&#3657;&#3651;&#3594;&#3657;
		pitt_user &#3648;&#3585;&#3655;&#3610;&#3594;&#3639;&#3656;&#3629;&#3612;&#3641;&#3657;&#3651;&#3594;&#3657;
		pitt_group &#3648;&#3585;&#3655;&#3610;&#3585;&#3621;&#3640;&#3656;&#3617;&#3612;&#3641;&#3657;&#3651;&#3594;&#3657; */
		$ip = ''.getenv("REMOTE_ADDR").'';
		$time = 'sign in '.date("Y-m-d ,H:i").'';
		$sql="INSERT INTO `pitt_accounts_log` ( `user_id` , `sign` , `ip` ) VALUES ( '$pitt_uid', '$time', '$ip');";
		$db->sql_query($sql);
/* CSLOX &#3651;&#3594;&#3657; php V4.3.1
	&#3617;&#3637; BUG &#3652;&#3617;&#3656; SUBPORT output buffering
	1 &#3627;&#3657;&#3634;&#3617;&#3626;&#3656;&#3591;&#3586;&#3657;&#3629;&#3617;&#3641;&#3621;&#3585;&#3656;&#3629;&#3609; COOKIE / SESSION
	2 &#3648;&#3619;&#3637;&#3618;&#3591;&#3594;&#3639;&#3656;&#3629;&#3605;&#3633;&#3623;&#3649;&#3611;&#3619;&#3604;&#3657;&#3623;&#3618; ?
	3 &#3623;&#3656;&#3634;&#3591;&#3654; &#3626;&#3656;&#3591; chang Log &#3652;&#3611;&#3651;&#3627;&#3657;&#3604;&#3641;&#3604;&#3657;&#3623;&#3618;
*/
		setcookie('pitt_uid' ,$pitt_uid ,time()+2592000);
//		setcookie('pitt_group' ,$field['group'] ,time()+2592000);
		setcookie('pitt_user' ,$adusr ,time()+2592000);
		$_SESSION['pitt_group'] = $field['group'];
		$client++; setcookie("client[$client]", urlencode("window.parent.location='admin.php?session=".rand()."';"));
	}else{
		$client++; setcookie("client[$client]", urlencode("alert('&#3619;&#3627;&#3633;&#3626; &#3627;&#3619;&#3639;&#3629; &#3594;&#3639;&#3656;&#3629;&#3612;&#3641;&#3657;&#3651;&#3594;&#3657;&#3612;&#3636;&#3604;');"));
	}
}

switch($_REQUEST['op']){
	case 'login': {	login(); break;}
	case 'logout' : {
		setcookie('pitt_uid');
		setcookie('pitt_user');
		unset($_SESSION['pitt_group']);
		$client++; setcookie("client[$client]", urlencode("window.parent.location='admin.php?session=".rand()."';"));
		break;
	}
	default : {	form();	}
}
?>

Expected result:
----------------
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\SCT_CSS\all.php:1) in C:\AppServ\www\SCT_CSS\all.php on line 3
&#65279;&#65279;&#65279;
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\SCT_CSS\all.php:1) in C:\AppServ\www\SCT_CSS\dynamic\modules\Pitt_Accounts\contents.php on line 68


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-12-26 07:07 UTC] phunsanit at hotmail dot com
same as this test.php
<?php
ob_start();
echo'eeeeeeeeeeeeeee bug';
setcookie("TestCookie", $value, time()+3600);
ob_end_flush();
?>

return 
eeeeeeeeeeeeeee bug
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\ob.php:1) in C:\AppServ\www\ob.php on line 4
 [2006-12-26 07:48 UTC] phunsanit at hotmail dot com
ok i found 
it error when use utf-8 (i tranfer from ansi witc editplus 2.3)
now transfer back to ansi it work
php non subport utf-8 ?
 [2006-12-26 09:48 UTC] tony2001@php.net
Remove BOM from the beginning of the file.
 
PHP Copyright © 2001-2026 The PHP Group
All rights reserved.
Last updated: Fri Sep 11 03:00:01 2026 UTC