alex_newbie Posted April 11, 2012 Share Posted April 11, 2012 Hello website is working with facebook connect all works fine except when i login then logout and try to login again i get a fatal error : Fatal error: Fatal error: Call to a member function recordcount() on a non-object in /home/user/public_html/test.com/include/config.php on line 193 could someone help me please? i cant find why is that happening! Here is the code : i marked the line 193 if($config['enable_fc'] == "1") { if($_SESSION['USERID'] == "") { $A = $config['FACEBOOK_APP_ID']; $B = $config['FACEBOOK_SECRET']; define('FACEBOOK_APP_ID', $A); define('FACEBOOK_SECRET', $B); $smarty->assign('FACEBOOK_APP_ID',$A); $smarty->assign('FACEBOOK_SECRET',$B); function get_facebook_cookie($app_id, $application_secret) { $args = array(); parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args); ksort($args); $payload = ''; foreach ($args as $key => $value) { if ($key != 'sig') { $payload .= $key . '=' . $value; } } if (md5($payload . $application_secret) != $args['sig']) { return null; } return $args; } $code = $_REQUEST['code']; if($code != "") { $my_url = $config['baseurl']."/"; $token_url = "https://graph.facebook.com/oauth/access_token?" . "client_id=" . $A . "&redirect_uri=" . urlencode($my_url) . "&client_secret=" . $B . "&code=" . $code; $response = @file_get_contents($token_url); $params = null; parse_str($response, $params); $graph_url = "https://graph.facebook.com/me?access_token=" . $params['access_token']; $user = json_decode(file_get_contents($graph_url)); $fname = htmlentities(strip_tags($user->name), ENT_COMPAT, "UTF-8"); $femail = htmlentities(strip_tags($user->email), ENT_COMPAT, "UTF-8"); $query="SELECT USERID FROM members WHERE email='".mysql_real_escape_string($femail)."' limit 1"; $executequery=$conn->execute($query); $FUID = intval($executequery->fields['USERID']); if($FUID > 0) { $query="SELECT USERID, email, username, verified, password, safemode from members WHERE USERID='".mysql_real_escape_string($FUID)."' and status='1'"; $result=$conn->execute($query); LINE 193 -------------> if($result->recordcount()>0) { $query="update members set lastlogin='".time()."', lip='".$_SERVER['REMOTE_ADDR']."' WHERE USERID='".mysql_real_escape_string($FUID)."'"; $conn->execute($query); $_SESSION['USERID']=$result->fields['USERID']; $_SESSION['EMAIL']=$result->fields['email']; $_SESSION['USERNAME']=$result->fields['username']; $_SESSION['VERIFIED']=$result->fields['verified']; $_SESSION['SAFE'] = $result->fields['safemode']; $_SESSION['FB']="1"; //create cookie here setcookie('username', $_SESSION['USERNAME'], time()+60*60*24*365, '/',substr($config['baseurl'],7)); setcookie('password', md5(md5($result->fields['password'])), time()+60*60*24*365, '/',substr($config['baseurl'],7)); $redir = $_SESSION['redirect']; if($redir != ""){ $direct = base64_decode($redir); $_SESSION['redirect'] = ""; header("location:$config[baseurl]$direct");exit; }else{ header("Location:$thebaseurl/");exit; } } } else { $md5pass = md5(create_code(5).time()); if($fname != "" && $femail != "") { $query="INSERT INTO members SET email='".mysql_real_escape_string($femail)."',username='', fullname='".mysql_real_escape_string($fname)."', password='".mysql_real_escape_string($md5pass)."', addtime='".time()."', lastlogin='".time()."', ip='".$_SERVER['REMOTE_ADDR']."', lip='".$_SERVER['REMOTE_ADDR']."', verified='1'"; $result=$conn->execute($query); $userid = mysql_insert_id(); if($userid != "" && is_numeric($userid) && $userid > 0) { $query="SELECT USERID,email,verified from members WHERE USERID='".mysql_real_escape_string($userid)."'"; $result=$conn->execute($query); $SUSERID = $result->fields['USERID']; $SEMAIL = $result->fields['email']; $SVERIFIED = $result->fields['verified']; $_SESSION['USERID']=$SUSERID; $_SESSION['EMAIL']=$SEMAIL; $_SESSION['VERIFIED']=$SVERIFIED; $_SESSION['FB']="1"; header("Location:$config[baseurl]/connect.php");exit; Quote Link to comment Share on other sites More sharing options...
xyph Posted April 11, 2012 Share Posted April 11, 2012 $conn->execute($query); is returning a non-object, probably FALSE. You should check under what conditions that method would return FALSE. Quote Link to comment Share on other sites More sharing options...
alex_newbie Posted April 11, 2012 Author Share Posted April 11, 2012 Hello thank you for your reply! as my name says i am completely newbie so i dont really get what should i look for would it help if i attach the config file? or where should i look for this FALSE return? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.