vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   Is this error Unable to add cookies, header already sent. (https://vborg.vbsupport.ru/showthread.php?t=203077)

Frank H. Shaw 01-25-2009 07:29 PM

Is this error Unable to add cookies, header already sent.
 
I have found the following does give me a actual user logon

PHP Code:


$vbulletin
->userinfo['userid']; 

IS THIS IS FOR THE CURRENT LOGON USER?

But I have run in to some trouble and need some understanding and help


Get the following error message:

Unable to add cookies, header already sent.
File: C:\Inetpub\vhosts\burningtaper.org\httpdocs\forums \calendar.php
Line: 119

When I try to output the value to my screen at the top of my calendar page.

PHP Code:


print($vbulletin->userinfo['userid']);       // This works fine not really?

print_r($vbulletin->userinfo['userid']);       // This does not? 

At least at first glace but if I try to redisplay pint() or print_r() the page again by selecting a different calendar from the "calandar jump" drop down at bottom of the page then i get the error again.

// But this does not work why

PHP Code:


unset($mycurrentuser);
$mycurrentuser $vbulletin->userinfo['userid'];

print_r"My Current User is :" "   " $mycurrentuser); // does not work 

The one above fails when the page is displayed first time.

Why same location in script?

In the file calendar.php right after the Next line after the line 119

START MAIN SCRIPT

Get the following error message either way:

I tried to also use the following:

Just add the following PHP code

PHP Code:


unset($mycurrentuser);

$mycurrentuser $vbulletin->userinfo['userid'];

ob_start();

echo( 
"My Current User is :" "   " $mycurrentuser);


ob_end_flush();

ob_end_clean(); 

Why same location in script?

In the file calendar.php right after the Next line after the line 119

START MAIN SCRIPT

Unable to add cookies, header already sent.
File: C:\Inetpub\vhosts\burningtaper.org\httpdocs\forums \calendar.php
Line: 134

THANKS

Frank H. Shaw

PS I hope the PHP tags are to ones liking now?

--------------- Added [DATE]1232922604[/DATE] at [TIME]1232922604[/TIME] ---------------

The print() really does not work but its action leads me to think that the whole thing has to do with placement.

The hooks must have something to do with this problem i am dealing with -

Can or does some one have some rules of tumbs and guidelines on when and when not can i create output with out interfering with the action of the calandar.php?

THANKS

Frank H. Shaw

Dismounted 01-26-2009 04:43 AM

You cannot do any output before including global.php, etc. This includes white-space before the PHP start tag (<?php).
Quote:

Originally Posted by Frank H. Shaw (Post 1724548)
I hope the PHP tags are to ones liking now?

They are still not right. Use square brackets, like this:[php]// comment[/php]

Which will appear as this:
PHP Code:

// comment 


Frank H. Shaw 01-26-2009 10:20 AM

I found the only way to get the output to work and not interfer with the functulity of the script was to delay the output to after the following hook.

In the php code below the following will actual put my output at the bottom of the page calandar.php and I could not find a way to get it to come up at the top of the page and keep the debuging in the same script calandar.php so I can live with that for now.

PHP Code:


     $debugmsg 
$vbulletin->userinfo['userid'];
    
      eval(
'print_output("' fetch_template('CALENDAR') . $debugmsg '");'); 

Please note: You can also first line after the following:

In the file calendar.php right after the Next line after the line 119

START MAIN SCRIPT

next line you can do the following:

PHP Code:


     $debugmsg 
$vbulletin->userinfo['userid']; 

This means the data is there but the output can not be unless you want the error to come up.

I also was able to put the print_r() of my own variables varables and arrays in the next after the line 119 that does not seem to be a issue.

Could there be a timeing thing or something else?

Any hints about what is going on?

THANKS

Frank H. Shaw

Marco van Herwaarden 01-26-2009 10:51 AM

If the board must function while debugging, then placing the debug variables in a template is the best option. For other debugging you can use echo() or print(), but you will often ned to add a exit; after the echos to display the info, but this will ofcourse stop the script execution which should not be a huge problem in a debugging situation.


All times are GMT. The time now is 09:26 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01839 seconds
  • Memory Usage 1,738KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (7)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete