socialengine - PHP message: PHP Notice: Undefined variable: -
in error log getting lot of php message: php notice: undefined variable: gendername in variables under $userdata['']. undefined because trying define them using array. wondering best way define variables not getting issues in logs anymore.
if (!$location) $location = "-"; $userdata = array(); $userdata['id'] = $userinfo['user_id']; $userdata['username'] = $userinfo['username']; $userdata['gender'] = $gendername; $userdata['age'] = $age; $userdata['photo'] = $photo; $userdata['location'] = $location; $userdata['description'] = $description; $userdata['isadminormoderator'] = $typeuser; $userdata['profile'] = site."/".$userinfo['username']; $userdata['level'] = $level; } return $userdata;
this full code asked.
function commondata($uid) { if ($uid) { $sql = " select a.user_id, a.email, a.username, a.displayname, a.level_id, a.photo_id engine4_users a.user_id = ".$uid; } $userinfo = @mysql_fetch_assoc(mysql_query($sql)); if ($userinfo['user_id']) { if ($userinfo['photo_id'] && $userinfo['photo_id']!="null") { $pphoto = @mysql_fetch_assoc(mysql_query("select a.* engine4_storage_files a.file_id = ".$userinfo['photo_id'])); $photo = softlayer.$pphoto['storage_path']; } else $photo = no_photo; $querymoreprofile = mysql_query("select * engine4_user_fields_values a.item_id = ".$userinfo['user_id']); while ($moreprofile = @mysql_fetch_assoc($querymoreprofile)) { //birthday if ($moreprofile['field_id']==6) { $age = getage($moreprofile['value']); } //about if ($moreprofile['field_id']==13) { $description = $moreprofile['value']; } //position if ($moreprofile['field_id']==17) { $gender = $moreprofile['value']; $gendersql = @mysql_fetch_assoc(mysql_query("select a.* engine4_user_fields_options a.option_id = ".$gender)); $gendername = $gendersql['label']; } //location if ($moreprofile['field_id']==24) { $locationnumber = $moreprofile['value']; $locationsql = @mysql_fetch_assoc(mysql_query("select a.* engine4_user_fields_options a.option_id = ".$locationnumber)); $location = $locationsql['label']; } //level if ($userinfo['level_id']==1 or $userinfo['level_id']==2) { $typeuser = '<isadmin>true</isadmin>'; $level = 'admin'; } else if ($userinfo['level_id']==3) { $level = 'moderator'; $typeuser = '<ismoderator>true</ismoderator>'; } else if ($userinfo['level_id']==9 or $userinfo['level_id']==10 or $userinfo['level_id']==11 or $userinfo['level_id']==12 or $userinfo['level_id']==13 or $userinfo['level_id']==14) { $level = 'premium'; $typeuser = ''; } else if ($userinfo['level_id']==8) { $level = 'vip'; $typeuser = ''; } else { $typeuser = ''; $level = 'guest'; } if (!$location) $location = "-"; $userdata = array(); $userdata['id'] = $userinfo['user_id']; $userdata['username'] = $userinfo['username']; $userdata['gender'] = $gendername; $userdata['age'] = $age; $userdata['photo'] = $photo; $userdata['location'] = $location; $userdata['description'] = $description; $userdata['isadminormoderator'] = $typeuser; $userdata['profile'] = site."/".$userinfo['username']; $userdata['level'] = $level; } return $userdata;
} }
your problem that
$gendername
has never been assigned value.
use
if(isset($gendername)) { ...
to make sure exists.
you can use ternary operator
$gendername = isset($gendername) ? $gendername : false;
you have do
$gendername = "something";
because otherwise can't do
$something = $gendername;
are sure you're not trying this?
$gendername = $userdata['gendername'];
the variable insertion operation goes right left variable.
Comments
Post a Comment