Ravens PHP Scripts: Forums
 

 

View next topic
View previous topic
Post new topic   Reply to topic    Ravens PHP Scripts And Web Hosting Forum Index -> RavenNuke(tm) v2.5x
Author Message
hicuxunicorniobestbuildpc
The Mouse Is Extension Of Arm



Joined: Aug 13, 2009
Posts: 1122

PostPosted: Fri May 05, 2023 4:04 am Reply with quote

Hello, running php 7.4 I got these errrors from file mainfileend.php


Notice: Trying to access array offset on value of type null in /www.bestbuildpc.org/modules/Your_Account/includes/mainfileend.php on line 24

Notice: Trying to access array offset on value of type null in /www.bestbuildpc.org/modules/Your_Account/includes/mainfileend.php on line 25

Notice: Trying to access array offset on value of type null in /www.bestbuildpc.org/modules/Your_Account/includes/mainfileend.php on line 29


Code:
if (isset($user)) {

   $uinfo = getusrinfo($user);
   $ulevel = $uinfo['user_level'];
   $uactive = $uinfo['user_active'];
   if (($ulevel < 1) OR ($uactive < 1)) {
      unset($user);
      unset($cookie);
      $sql = 'DELETE FROM `' . $prefix . '_bbsessions` WHERE `session_user_id`="' . $uinfo['user_id'] . '"';
      $db->sql_query($sql);


What should be the solution? This is happening when I try to deny a user or remove it.
 
View user's profile Send private message
corpse
Regular
Regular



Joined: Oct 15, 2007
Posts: 87

PostPosted: Fri May 05, 2023 10:09 am Reply with quote

That error is saying that null is being given with for the variable $uinfo, which must mean the function getusrinfo() is returning a null value instead of an array.

This may not be right, but, my guess would be to throw in a check to see if it's not null and is an array.

Let's take the full code:

php Code:
if (isset($user)) {

$uinfo = getusrinfo($user);
$ulevel = $uinfo['user_level'];
$uactive = $uinfo['user_active'];
if (($ulevel < 1) OR ($uactive < 1)) {
unset($user);
unset($cookie);
$sql = 'DELETE FROM `' . $prefix . '_bbsessions` WHERE `session_user_id`="' . $uinfo['user_id'] . '"';
$db->sql_query($sql);
}
}


By changing that to something like this, should stop that error from happening.

php Code:
if (isset($user)) {

$uinfo = getusrinfo($user);
if ($uinfo !== null && is_array($uinfo)) {
$ulevel = $uinfo['user_level'];
$uactive = $uinfo['user_active'];
if (($ulevel < 1) OR ($uactive < 1)) {
unset($user);
unset($cookie);
$sql = 'DELETE FROM `' . $prefix . '_bbsessions` WHERE `session_user_id`="' . $uinfo['user_id'] . '"';
$db->sql_query($sql);
}
}
}


I've set up Raven on my local running PHP 7.4.9, and I can't reproduce the error, so I don't know.
 
View user's profile Send private message Send e-mail
hicuxunicorniobestbuildpc







PostPosted: Fri May 05, 2023 4:18 pm Reply with quote

Thanks a lot. The errors is not coming back anymore. I wonder why u didn't get it on localhost running php 7.4.
 
lonestar1983
New Member
New Member



Joined: Apr 26, 2013
Posts: 1

PostPosted: Fri May 05, 2023 5:29 pm Reply with quote

You may have error reporting turned off on your localhost.
 
View user's profile Send private message
corpse







PostPosted: Fri May 05, 2023 8:03 pm Reply with quote

hicuxunicorniobestbuildpc wrote:
Thanks a lot. The errors is not coming back anymore. I wonder why u didn't get it on localhost running php 7.4.


n/p, glad it helped.



lonestar1983 wrote:
You may have error reporting turned off on your localhost.


Huh, I just looked and in the php.ini I have it turned on and even in the menu for WAMP. I will have to look into it because it's not writing it to a log file either.
 
neralex
Site Admin



Joined: Aug 22, 2007
Posts: 1772

PostPosted: Sat May 06, 2023 5:43 am Reply with quote

Thanks corpse! Just added the fix to the repo. [ Only registered users can see links on this board! Get registered or login! ]

I wouldn't recommend it to disable the error-reporting on a local environment, when it is used for testing. But I guess he meant it in another way like: why you are not using a installation on a local environment.

_________________
Github: RavenNuke 
View user's profile Send private message
corpse







PostPosted: Mon May 08, 2023 11:58 am Reply with quote

neralex wrote:
Thanks corpse! Just added the fix to the repo. [ Only registered users can see links on this board! Get registered or login! ]

I wouldn't recommend it to disable the error-reporting on a local environment, when it is used for testing. But I guess he meant it in another way like: why you are not using a installation on a local environment.


Cheers

As for disabling error-reporting, I am a bit confused. On my local, I still need to figure out what's going on, but as it is now, my local is not doing any error reporting, even though the quick look, it is turned on. I bet it's something in my WAMP settings, I just haven't gotten around to it to get it working. I also need to set it up to do it dump the error into an error.log file. I had done that on my old local that was on my old PC, but I guess I didn't do it on this newer PC yet.
 
hicuxunicorniobestbuildpc







PostPosted: Thu May 11, 2023 2:17 am Reply with quote

I've got the same issue with Survey module. file index.php

Warning: Trying to access array offset on value of type null in /modules/Surveys/index.php on line 211

Warning: Trying to access array offset on value of type null in /modules/Surveys/index.php on line 123

and when u vote error will come again.

Warning: Trying to access array offset on value of type null in /modules/Surveys/index.php on line 286

I took a look at the lines and I made the right modification I think. Just let me know


Line 123

Code:
$optionCount = $row2['optionCount'];


Replace with

Code:
$optionCount = isset($row2['optionCount']);


Line 211

Code:
$optionCount = $row2['optionCount'];


Replace with

Code:
$optionCount = isset($row2['optionCount']);


Line 286

Code:
$optionCount = $row2['optionCount'];


Replace with
Code:


$optionCount = isset($row2['optionCount']);


The error dissppear but I would like to know if it is correct.
 
neralex







PostPosted: Thu May 11, 2023 2:13 pm Reply with quote

When the array $row2 isn't exist, then the variable $optionCount has no value - just empty. I guess here it would be better to have "0" in this case.

I would do it in this way for example:

php Code:
$optionCount = is_array($row2) && isset($row2['optionCount']) ? $row2['optionCount'] : 0;


That means at first it checks if the variable $row2 is an array and if so, then it checks if the array-key 'optionCount' exists in the array $row2 and if so too, then the variable $optionCount gets the value of the array-key $row2['optionCount']. If these conditions are not true, the variable $optionCount get the value 0. So the variable always retains a value. Got it?
 
hicuxunicorniobestbuildpc







PostPosted: Fri May 12, 2023 2:31 am Reply with quote

Yes this line was much better. it fixed the error as well. Thanks
 
Display posts from previous:       
Post new topic   Reply to topic    Ravens PHP Scripts And Web Hosting Forum Index -> RavenNuke(tm) v2.5x

View next topic
View previous topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2007 phpBB Group
All times are GMT - 6 Hours
 
Forums ©