[Fix] PHP Warning: Undefined array key 1 in /public_html/th

by coRpSE

Fri Nov 07, 2025 6:26 pm
Administrator
2396 Posts
In the last month, I have had a bunch of people approace me with an error like this showing up in your logs:

PHP Warning:  Undefined array key 1 in /home/public_html/themes/YOUR_THEME/theme.php on line 100


Of course that is not a exact copy for your paths may be different, theme name is different, and the line number will be different, but in sense, if you open up your theme that is having that error, the code looks like this:

PHP:  [ Select all ]

<?php
$username
= $cookie[1];
   if ($username == "") {
       $username = "Anonymous";
   }


Here is a simple fix for it. Just replace that code there with this:

PHP:  [ Select all ]

<?php
$username
= $cookie[1] ?? "Anonymous";


That's it.
Just don't add the <?php as that is just this system on this site. I need to see about fixing that so it's hidden here like on my site.

Now, why is that happening?

Well, in older PHP versions, accessing an undefined array key like $cookie[1] would just return "null" with a notice.
But, now in PHP 8.x+, it was upgraded to a warning, which is what you are seeing in that error. So, by adding the null coalescing operator, ( ?? ), it checks to see if $cookie[1] is set and not null, and if it is null, it will just say "Anonymous", since that was the purpose of the following if statement.

Thankful People 1 user(s) is/are thankful for this post.