Browse code

header.php, user/profile.php: Trying to access array on null and Undefined variable PHP warnings dirty fix for trying to access nonexistent or formerly existing user profiles

Clarissa Walker authored on 2026/10/10 13:24:06
Showing 2 changed files
... ...
@@ -229,7 +229,7 @@ if($current == "viewstory"){
229 229
 		//header("Content-Disposition: inline; filename=\"".$titleinfo."\"");
230 230
  	}
231 231
 }
232
-if($current == "viewuser" && isNumber($uid)) {
232
+if($current == "viewuser" && (isNumber($uid ?? null))) {
233 233
 	$author = dbquery("SELECT "._PENNAMEFIELD." as penname FROM "._AUTHORTABLE." WHERE "._UIDFIELD." = '".$uid."'");
234 234
 	list($penname) = dbrow($author);
235 235
 	$titleinfo = "$sitename :: $penname";
... ...
@@ -29,23 +29,23 @@ $tpl->newBlock("profile");
29 29
 $result2 = dbquery("SELECT *, date as date FROM "._AUTHORTABLE." LEFT JOIN ".TABLEPREFIX."fanfiction_authorprefs as ap ON ap.uid = "._UIDFIELD." WHERE "._UIDFIELD." = '$uid' LIMIT 1");
30 30
 $userinfo = dbassoc($result2);
31 31
 $nameinfo = "";
32
-if($userinfo['email'])
32
+if(isset($userinfo['email']))
33 33
 	$nameinfo .= " [<a href=\"viewuser.php?action=contact&amp;uid=".$userinfo['uid']."\">"._CONTACT."</a>]";
34
-if(!empty($favorites) && isMEMBER && $userinfo['uid'] != USERUID) {
35
-	$fav = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_favorites WHERE uid = '".USERUID."' AND type = 'AU' AND item = '".$userinfo['uid']."'");
36
-	if(dbnumrows($fav) == 0) $nameinfo .= " [<a href=\"user.php?action=favau&amp;uid=".USERUID."&amp;add=".$userinfo['uid']."\">"._ADDAUTHOR2FAVES."</a>]";
34
+if(!empty($favorites) && isMEMBER && isset($userinfo['uid']) != USERUID) {
35
+	$fav = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_favorites WHERE uid = '".USERUID."' AND type = 'AU' AND item = '".(isset($userinfo['uid']))."'");
36
+	if(dbnumrows($fav) == 0) $nameinfo .= " [<a href=\"user.php?action=favau&amp;uid=".USERUID."&amp;add=".(isset($userinfo['uid']))."\">"._ADDAUTHOR2FAVES."</a>]";
37 37
 }
38 38
  
39
-$tpl->assign("userpenname", $userinfo['penname']." ".$nameinfo);
40
-$tpl->assign("membersince", date("$dateformat", $userinfo['date']));
39
+$tpl->assign("userpenname", ($userinfo['penname'] ?? null)." ".$nameinfo);
40
+$tpl->assign("membersince", date("$dateformat", ($userinfo['date'] ?? null)));
41 41
 
42
-if($userinfo['realname'])
42
+if(isset($userinfo['realname']))
43 43
 	$tpl->assign("realname", $userinfo['realname']);
44
-if($userinfo['bio']) {
44
+if(isset($userinfo['bio'])) {
45 45
 	$bio = nl2br($userinfo['bio']);	
46 46
 	$tpl->assign("bio", stripslashes($bio));
47 47
 }
48
-if($userinfo['image'])
48
+if(isset($userinfo['image']))
49 49
 	$tpl->assign("image", "<img src=\"".$userinfo['image']."\">");
50 50
 
51 51
 $tpl->assign("userlevel", isset($userinfo['level']) && $userinfo['level'] > 0 && $userinfo['level'] < 4 ? _ADMINISTRATOR.(isADMIN ? " - ".$userinfo['level'] : "") : _MEMBER);
... ...
@@ -86,7 +86,7 @@ $tpl->assign("reportthis", "[<a href=\""._BASEDIR."contact.php?action=report&amp
86 86
 $adminopts = "";
87 87
 if(isADMIN && uLEVEL < 3) {
88 88
 	$adminopts .= "<div class=\"adminoptions\"><span class='label'>"._ADMINOPTIONS.":</span> ".(isset($userinfo['validated']) && $userinfo['validated'] ? "[<a href=\"admin.php?action=members&amp;revoke=$uid\" class=\"vuadmin\">"._REVOKEVAL."</a>] " : "[<a href=\"admin.php?action=members&amp;validate=$uid\" class=\"vuadmin\">"._VALIDATE."</a>] ")."[<a href=\"user.php?action=editbio&amp;uid=$uid\" class=\"vuadmin\">"._EDIT."</a>] [<a href=\"admin.php?action=members&amp;delete=$uid\" class=\"vuadmin\">"._DELETE."</a>]";
89
-	$adminopts .= " [<a href=\"admin.php?action=members&amp;".($userinfo['level'] < 0 ? "unlock=".$userinfo['uid']."\" class=\"vuadmin\">"._UNLOCKMEM : "lock=".$userinfo['uid']."\" class=\"vuadmin\">"._LOCKMEM)."</a>]";
89
+	$adminopts .= " [<a href=\"admin.php?action=members&amp;".(isset($userinfo['level']) < 0 ? "unlock=".($userinfo['uid'] ?? null)."\" class=\"vuadmin\">"._UNLOCKMEM : "lock=".($userinfo['uid'] ?? null)."\" class=\"vuadmin\">"._LOCKMEM)."</a>]";
90 90
 	$adminopts .= " [<a href=\"admin.php?action=admins&amp;".(isset($userinfo['level']) && $userinfo['level'] > 0 ? "revoke=$uid\" class=\"vuadmin\">"._REVOKEADMIN."</a>] [<a href=\"admin.php?action=admins&amp;do=edit&amp;uid=$uid\" class=\"vuadmin\">"._EDITADMIN : "do=new&amp;uid=$uid\" class=\"vuadmin\">"._MAKEADMIN)."</a>]</div>";
91 91
 	$tpl->assign("adminoptions", $adminopts);
92 92
 }