Cookie errors: with error reporting it fails, without - works

[php]<?
$visitCounter = 0;
if (isset($_COOKIE[‘visitCounter’])) {
$visitCounter = $_COOKIE[‘visitCounter’];
$visitCounter++;
}
$lastVisit = ‘’;
if (isset($_COOKIE[‘lastVisit’]))
$lastVisit = date(‘d-m-Y H:i:s’, $_COOKIE[‘lastVisit’]);
if (date(‘d-m-Y’, $_COOKIE[‘lastVisit’]) != date(‘d-m-Y’)) {
setcookie(“visitCounter”, $visitCounter, 0x7FFFFFFF);
setcookie(“lastVisit”, time(), 0x7FFFFFFF);
}
if($visitCounter ==1)
echo ‘Welcome, new friend!’;
else echo ‘This is your ‘.$visitCounter.’ visit. Your last visit was at ‘.$lastVisit.’. Nice to see you again!’;[/php]

If I got:

error_reporting(E_ALL);
ini_set(‘display_errors’, ‘1’);

I got errors:

Notice: Undefined index: lastVisit in C:\OpenServer\domains\localhost\php\cookie.inc.php on line 10

Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\localhost\php\cookie.inc.php:10) inC:\OpenServer\domains\localhost\php\cookie.inc.php on line 11

Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\localhost\php\cookie.inc.php:10) inC:\OpenServer\domains\localhost\php\cookie.inc.php on line 12
This is your 0 visit. Your last visit was at . Nice to see you again!

If I delete error reporting - it works! WTF??

Please help - how to make this script work with error reporting?

Thanks!

Error reporting is telling you exactly what the problem is. Fix those errors. Also, you need to use <?php NOT <?

What is with the random use of brackets on your statements?

Your problem is you are trying to use a value without checking if it exists first.

Kevin, thanks!

I fixed it:

[php]$visitCounter = 0;
if (isset($_COOKIE[‘visitCounter’])) {
$visitCounter = $_COOKIE[‘visitCounter’];
++$visitCounter;
}
$lastVisit = ‘’;
if (isset($_COOKIE[‘lastVisit’])) {
$lastVisit = date(‘d-m-Y H:i:s’, $_COOKIE[‘lastVisit’]);
if (date(‘d-m-Y’, $_COOKIE[‘lastVisit’]) != date(‘d-m-Y’)) {
setcookie(“visitCounter”, $visitCounter);
setcookie(“lastVisit”, time());
}
} else {
setcookie(“lastVisit”, time());
setcookie(“visitCounter”, $visitCounter);
}[/php]

Sponsor our Newsletter | Privacy Policy | Terms of Service