Page 1 of 1

PHP Error - Object could not be converted to int

PostPosted: Sun Oct 21, 2012 1:05 pm
by seascoot
Hi Steve,

First, let me express my appreciation for making this framework available. I am still in the process of learning how to apply it properly, but it looks like it will be extremely usable and flexible.

I am attempting to work with both a clean install of SurveyBuilder and also Version 1.9 3856 from the repository. With both, I get the following PHP error:

PHP Notice: Object of class Dataface_Record could not be converted to int in L:\wamp\www\MyXatafaceDirectory\inc\functions.inc.php on line 16

I'm using WAMP on WinXP as a test environment.

The relevant function in functions.inc.php is:

Code: Select all
00000014 function getUser(){
00000015    static $user =-1;
00000016    if ($user == -1 ){
00000017       $user = Dataface_AuthenticationTool::getInstance()->getLoggedInUser();
00000018    }
00000019    return $user;
00000020
00000021 }


This is not a fatal error, so everything seems to run just fine with error reporting off. However, the errors are quickly filling my log.

Apache version 2.2.11
PHP version 5.3.0
MySQL version 5.1.36

I thought it may be related to my WAMP configuration, but when I tried a 1.3.2 3355 installation on a shared hosting provider I got the same result.

Apache version 2.2.17
PHP version 5.2.17
MySQL version 5.1.56

Re: PHP Error - Object could not be converted to int

PostPosted: Fri Oct 26, 2012 8:22 am
by shannah
Arg.. this is not a problem with your configuration... this is a newer version of PHP being more picky in its comparisons.
Try changing
Code: Select all
if ($user == -1 ){

to
Code: Select all
if (is_int($user) and $user == -1 ){


It seems crazy to me that PHP chokes on this... it may even be a bug with PHP.... but it is an easy fix. (This was already a workaround because of issues with initializing static variables to null in some versions of PHP).