close× Call Us +49 (1805) 01 29 59

SGI Fusion
Thread Author: mclol
Thread ID: 1952
Thread Info
Es gibt 12 Beiträge zu diesem Thema, und es wurde 2473 mal angesehen.  Es gibt auch Dateianhänge.
Wer ist hier? 1 Gäste
 Thema drucken
Avatar Onlineliste
mclol
Hallo,

ich würde gerne neben dem Benutzernamen ein kleines Symbol anzeigen, wenn der User ein Profilbild hochgeladen hat.

Zur Abfrage habe ich folgendes eingebaut: if($userdata['user_avatar'] != '' "){ echo "1"; };

Zum testen jetzt einfach nur eine 1. genommen statt ein Bild. Zudem habe ich user_avatar in die DBAbfrage oben geschrieben. Dennoch passiert gar nichts. Vielleicht kann mir ja einer hier helfen?^^

Ein kleiner Auszug aus dem Code:




while ($data = dbarray($result)) {
   if ($data['online_user'] == "0") {
      $guests++;
   } else {
      array_push($members, array($data['user_id'], $data['user_name'], $data['user_geschlecht'], $data['user_birthdate']));
   }
}
echo " ".$locale['global_011'].":<strong> ".$guests."</strong><br />\n";
echo " ".$locale['global_012'].":<strong> ".count($members)."</strong><br /><br>\n";
if (count($members)) {
   $i = 1;
   while (list($key, $member) = each($members)) {
      if ($member[3] != "0000-00-00") {
         $user_birthdate = explode("-", $member[3]);
         $alter = ALTER(number_format($user_birthdate['2']),number_format($user_birthdate['1']),$user_birthdate['0']);
      } else {
         $alter = "??";
      }
      echo "<strong><a href='".BASEDIR."profile.php?lookup=".$member[0]."' class='side'> <span style='color:".($member[2] == 1 ? "#ffa200" : "#1884de").";'>".$member[1]."</strong></a>  (".$alter.")</span>";
      if ($i != count($members)) { echo "   <br />\n"; } else { echo "<br />\n"; }

   $i++;
   }
}
echo "<br />";

 
SC-Ad-Bot
 
Gr@n@dE
Das Leerzeichen muss weg!

if($userdata['user_avatar'] != ""){ echo "1"; };

(Du fragst ja, ob die Variable nicht Leer ist!)
Gruß Ralf
__________________________________
KEIN Support per Mail, ICQ oder PN !
 
emblinux
alternativ kann man ja die FUnktion empty benutzen.


if( !empty($userdata['user_avatar']) ){ echo "1"; }

Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
mclol
Danke für die Antworten.

Also wenn ich es so mache wird die 1 bei jedem User angezeigt. Muss da nicht irgendwo noch eine Abfrage hin?



echo "<strong><a href='".BASEDIR."profile.php?lookup=".$member[0]."' class='side'> <span style='color:".($member[2] == 1 ? "#ffa200" : "#1884de").";'>".$member[1]."</strong></a>  (".$alter.")</span>";
if( !empty($userdata['user_avatar']) ){ echo "1"; }

/// oder

if($userdata['user_avatar'] != ""){ echo "1"; };

      if ($i != count($members)) { echo "   <br />\n"; } else { echo "<br />\n"; }

      $i++;
   }
}
echo "<br />";

 
emblinux
Du könntest noch folgendes ergänzen.


if( !empty($userdata['user_avatar']) && file_exists(IMAGES."avatars/".$userdata['user_avatar']) ){ echo "1"; }


So wird noch geprüft, ob das Bild auch wirklich vorhanden ist. So ist auch die Abfrage in der profile.php, kannst ja da auch mal reinschauen.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
mclol
Huhu,

das mit der Abfrage sollte ja alles richtig sein, nur wird die 1 trotzdem bei jedem User angezeigt. Ich nehme an das liegt an der Schleife oder? Muss da nicht noch irgendetwas rein?

mfg
 
emblinux
Der Grund ist relativ einfach, denn $userdata enthält deine Userdaten, nicht die des entsprechenden Users. Und wenn du jetzt die Schleife durchläufst und abfragst, ob du ein Avatar hast, dann kommt da natürlich auch eine 1, denn du hast sicher ein Avatar eingestellt.

Am besten du schaust dir deinen Code nochmal genau an.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
mclol
Hi,

ja habe es vorher schon nur mit data versucht aber dann wird gar nichts angezeigt. Fehlt da noch etwas in der Abfrage?^^





if( !empty($data['user_avatar']) && file_exists(IMAGES."avatars/".$data['user_avatar']) ){ echo "."; }



mfg
 
emblinux
Die Abfrage ist in Ordnung, denn so sieht sie auch in der profile.php aus. Es kann an irgendeiner anderen Stelle liegen, die nicht so schnell ersichtlich ist.

Poste doch einfach mal den kompletten Code, aber als Anhang.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
mclol
Danke für die schnelle Antwort.
Im Anhang ist die Datei.
mclol hat folgende Datei angehängt:

online_users_panel_1.rar [1.36kB / 344 mal Heruntergeladen]


Downloaded by:
 
emblinux
Naja, eigentlich ganz logisch. Du packst alles in eine Array-Variable ($member) aber frags die $data Variable ab, die es an dieser Stelle nicht mehr gibt.

ändere mal bitte


if( !empty($data['user_avatar']) && file_exists(IMAGES."avatars/".$data['user_avatar']) ){ echo "."; }


in


if( !empty($member[4]) && file_exists(IMAGES."avatars/".$member[4]) ){ echo "."; }


4 deshalb, weil das Avatar an der 4. Stelle in diesem Array steht, da man ja mit 0 anfängt zu zählen.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
mclol
1000 Dank es funktioniert.hura

Da wäre ich ja nie drauf gekommen^^.

Vielen Dank nochmal!

mfg
 
Springe ins Forum:

 Ähnliche Themen 

TEST
Thema Forum Antworten Letzter Beitrag
Avatar Bilder Allgemeine Support Fragen 2 11.12.2016 00000012 17:11
Verlinkung in Edit_profile oder User info Pannel(avatar rezizer) Infusionen 16 27.05.2014 00000005 22:01
Multiside und Avatar Allgemeine Support Fragen 3 07.11.2012 00000011 08:10
Fehler beim Avatar erstellen Allgemeine Support Fragen 2 19.08.2012 00000008 01:24
AVATAR PROBLEME PHP FUSION 7.02.00 PHP & MySql 5 16.06.2011 00000006 13:03
SGI Fusion