You can't send use setcookie after headers have been sent to the browser, you can have white space in a php block because this is not sent to the browser. The exception is if you have output buffering enabled.
Jason From: qartis [mailto:[EMAIL PROTECTED]] Sent: Wednesday, March 13, 2002 5:14 PM To: [EMAIL PROTECTED] Subject: [PHP] Re: setcookie problem: Cannot add header information - headers already sent by I don't think you can have an empty line (even in the php) before cookies are set "Frank Ramsay" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > Cookies have to be set before the <HTML> block begins. > > -fjr > > Bob wrote: > > > here is the example: > > > > <?php > > // Beginning php > > > > // Saving the page header in the variable $head. > > $head = <<<ENDH > > <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> > > <html> > > <head> > > <title>Feedback form</title> > > </head> > > > > <body bgcolor="white"> > > <h1 align=center>Feedback form</h1> > > ENDH; > > // End of page header > > > > // Saving the page footer in the variable $tail. > > $tail = <<<ENDT > > <hr> > > </body> > > </html> > > ENDT; > > // End of page footer > > > > // Set up variables that will be saved in the cookies > > // Define unique cookie prefix > > $ID = "My_ID"; > > // Cookie lifetime in seconds (in this example, three days) > > $cookie_life = 60; > > // Name of cookie that holds the user's name > > $n_name = $ID . "_Name"; > > // Name of cookie that holds the user's email > > $n_email = $ID . "_Email"; > > // Name of cookie that holds the user's last login > > $n_last = $ID . "_Last"; > > > > // These lines print the form with user input and mails to the > > webmaster. > > if( isset($sfeedback)) { > > Setcookie($n_last,Date("H:i d/m/Y"),time()+$cookie_life); > > print $head; > > ?> > > Thanks for your feedback, <?php echo $name ?>. Here is what you > > said:<br> > > Name: <?php echo $name ?><br> > > Email: <?php echo $email ?><br> > > Feedback: <?php echo $feedback ?><br> > > <?php > > // Mails the feedback to the webmaster. > > $subject = "Feedback from your site"; > > $sendto = "[EMAIL PROTECTED]"; > > $header = "From: $email"; > > mail($sendto, $subject, $feedback, $header); > > print "Thank you. Your comments have been sent to the > > webmaster\n"; > > // Print end and leave > > print $tail; > > exit(); > > } > > > > // This loop treats users who have not been to the site before. > > if(!$$n_last) { > > if( ! isset($name)) { // if no name - display the form > > echo $head; > > ?> > > Welcome to our system! Please fill in the following information: > > <!-- $PHP_SELF is the PHP way of referring to the current page --> > > <form action="<?php echo $PHP_SELF ?>" method="POST"> > > Name: <input type="text" name="name"><br> > > Email: <input type="text" name="email"><br> > > <!-- Submit button --> > > <input type=submit value="Submit"></form> > > <?php > > echo $tail; > > exit; > > } else { > > // Set cookies and continue > > Setcookie($n_name,$name,time()+$cookie_life); > > Setcookie($n_email,$email,time()+$cookie_life); > > $$n_name = $name; > > $$n_email = $email; > > } > > } > > > > // This loop treats repeat users. > > Setcookie($n_last,Date("H:i d/m/Y"),time()+$cookie_life); > > echo $head; > > ?> > > Welcome back to our system, <?php echo $$n_name ?>. > > <?php > > // Have previous login > > if($$n_last) > > echo "Your last login was on " . $$n_last . "."; > > > > // User fills in feedback form > > ?> > > <form action="<?php echo $PHP_SELF ?>" method="POST"> > > Name: <input type="text" name="name" value="<?php echo $$n_name > > ?>"><br> > > Email: <input type="text" name="email" value="<?php echo $$n_email > > ?>"><br> > > Feedback:<br> > > <textarea name="feedback" wrap=virtual cols=40 rows=5> > > </textarea> > > <br> > > <!-- Submit button --> > > <input type=submit value="Submit" name="sfeedback"> > > </form> > > <?php echo $tail ?> > > > > > > Warning: Cannot add header information - headers already sent by > > (output started at C:\WebShare\wwwroot\last\cookie.php:59) in > > C:\WebShare\wwwroot\last\cookie.php on line 75 > > > > Warning: Cannot add header information - headers already sent by > > (output started at C:\WebShare\wwwroot\last\cookie.php:59) in > > C:\WebShare\wwwroot\last\cookie.php on line 76 > > > > Warning: Cannot add header information - headers already sent by > > (output started at C:\WebShare\wwwroot\last\cookie.php:59) in > > C:\WebShare\wwwroot\last\cookie.php on line 83 > > > > what' wrong? > > thanks! > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php