FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Re: Counter reset or not? UPDATE
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Counter reset or not? UPDATE [message #182497 is a reply to message #182492] Thu, 08 August 2013 22:28 Go to previous messageGo to previous message
Scott Johnson is currently offline  Scott Johnson
Messages: 196
Registered: January 2012
Karma:
Senior Member
On 8/8/2013 12:10 PM, Twayne wrote:
> Hi,
>
> In troubleshooting the above, I've ended up creating two pages of as
> minimal code as I know how to make it <g>. I now have working code,
> BUT(t), it's throwing a warning I don't know how to address. ALL work is
> being done on my Local Apache Server (XAMPP) and PHP 5.3 (same as my
> Remote Server uses).
>
> The session is almost working, and it IS incrementing properly. This is
> a code sample I picked up at php.net and it's supposedly applicable to
> version 4 and 5. I've removed the href to link to the next page and
> instead am now using a Submit Button: Same identical results whether the
> link line exists or not so I removed it and things still work the same.
> By being as basic with the code as I have been, I've removed the
> implications of anything else in the code effecting it.
>
> Page 1: PHP code:\
> ============
> <?php
> session_start();
> // counter1.php
> if (empty($_SESSION['cntr'])) {
> $_SESSION['cntr'] = 1;
> } else {
> $_SESSION['cntr']++;
> }
> ?>
> <p>
> Hello visitor, you have seen this page <?php echo $_SESSION['cntr']; ?>
> times.
> </p>
> <form action="counter2.php" method="post">
> Type something: <input type="text" name = "type" <br />
> <p> <input type="submit" value="NEXT">
> <input type= "reset" value="Clear Form" /> <br />
> </form>
> </body>
> </html>
> ======= end =========
>
> Page 2: PHP:
> <?php
> session_start();
> // counter2.php
> echo $_SESSION["cntr"]. " Before increment. <br />";
> $_SESSION["cntr"] = $_SESSION["cntr"]+ "1";
> echo $_SESSION["cntr"] . " After increment";
> ?>
> Next (Submit button) here.
> ========== end ==========
>
>
> It's acting strangely, at least to me. The first time I run, nothing
> initialized, Counter1.php, the results are:
>
> ======== start =================
> Warning: session_start() [function.session-start]: Cannot send session
> cookie - headers already sent by (output started at
> C:\xampp\htdocs\counter1.php:2) in C:\xampp\htdocs\counter1.php on line 3
>
> Warning: session_start() [function.session-start]: Cannot send session
> cache limiter - headers already sent (output started at
> C:\xampp\htdocs\counter1.php:2) in C:\xampp\htdocs\counter1.php on line 3
>
> Hello visitor, you have seen this page 1 times.
>
> Type something:
>
> ============ end =============
>
> The input statement and Forms structure is only so I can use Submit
> instead of the link the original code used.
> ======== start =================
> If I click Submit (Next), the second page displays:
>
> Notice: Undefined index: cntr in C:\xampp\htdocs\counter2.php on line 4
> Before increment: <nothing>
>
> Notice: Undefined index: cntr in C:\xampp\htdocs\counter2.php on line 5
> 1 After increment
>
> ============ end =============
>
> Now, reloading/refreshing counter1.php results in the following screen
> display:
>
> ============== start ==========
> Warning: session_start() [function.session-start]: Cannot send session
> cache limiter - headers already sent (output started at
> C:\xampp\htdocs\counter1.php:2) in C:\xampp\htdocs\counter1.php on line 3
>
> Hello visitor, you have seen this page 2 times.
>
> Next (Submit)
> =============== end =========
>
> Now counter2.php, the 2nd page, works as I expected and shows:
> =========== start ============
> 2 Before increment.
> 3 After increment
> =========== End =============
>
> And so on, adinfinitum.
> So the counter IS incrementing and displaying properly on the
> counter1.php page with the exception now only one Warning appears, not
> two as in the first time it's run, where there were two statements
> returned.
>
> An interesting sidelight is:
> Should I run a different script, the original one I asked questions
> with, IT ALSO shows the incrementing count! I suppose it makes sense
> since the session is never Unset in the new code, but a cute happening
> anyway IMO; something to keep in mind!
>
> So, to synopsize:
> The very first time counter1.php runs, the counter show "1" as
> expected, and two Warnings about headers already sent.
> Clicking to go to the next page, show the two errors as above,
> And after that, the first page shows only one Warning, and the 2nd
> page works flawlessly. That will continue until the session is closed or
> the browser closed.
>
> Any solutions, thoughts, comments certainly appreciated!
>
> Twayne`
>
>
>
>
>
>
>
>
>
>

I have not read the entire post but just from the error it seems you may
be sending output PRIOR to session_start.

session_start MUST be the first line after the PHP delimiter.

*************
<?php
session_start();


.....
?>
****************

One of the biggest overlooked mistakes is having a blank space prior to
the delimiter. This is sometimes caused by the text editor.




***************
<- blank space will be sent.
<?php
session_start();


?>
*******************
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: sql how to have the total rows number in this case (this is correct question)
Next Topic: fetching value from related multiple rows & columns in PHP SQL
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Fri Sep 20 04:03:52 GMT 2024

Total time taken to generate the page: 0.06117 seconds