PHP Anzeige spinnt


#1

Hi, ich habe eine eigene PHP seite gecodet (mit meinem minimalen Wissensstand auf dem Gebiet).

Nun ist es so, dass ich einmal für Gäste eine Anzeige habe und einmal für den Fall dass man eben eingeloggt ist eine andere.

In beiden Fällen lautet die Abfrage genau gleich (copy paste). ABER wenn ich eingeloggt bin, funktioniert die Abfrage, während wenn ich ausgeloggt bin sie eben nicht mehr funktioniert :frowning:

[code]while($row = mysql_fetch_array($links)) {
$name = $row[‘username’];
$age = $row[‘magie’];
$job = $row[‘beruf’];
$clan = $row[‘stein’];
$crime = $row[‘leid’];
$usergroup = $row[‘groupid’];
$userid2=$row[‘userid’];
eval ("$ein_avatar = “”.$tpl->get(“magie_gast_avatar”)."";");

if($usergroup=='2' or $usergroup=='6'){
    eval ("\$variable1 .= \" ".$tpl->get("mabit")."\";");}

if($usergroup=='7'){
    eval ("\$variable2 .= \" ".$tpl->get("mabit")."\";");}
    
if($usergroup=='3' or $usergroup=='8' or $usergroup=='9' or $usergroup=='10' or $usergroup=='11' or $usergroup=='12' or $usergroup=='13' or $usergroup=='14' or $usergroup=='15' or $usergroup=='16' or $usergroup=='17' or $usergroup=='18' or $usergroup=='19' or $usergroup=='21'){
eval ("\$variable3 .= \" ".$tpl->get("mabit")."\";");}
} [/code]

Der letzte if Befehl ist das Sorgenkind. die ersten beiden funktionieren und der letzte funktioniert in dem Bereich für die Angemeldeten User einwandfrei, aber für Gäste einfach nicht.

Für eingeloggte User lautet der Befehl so:

[code]while($row = mysql_fetch_array($links)) {
$name = $row[‘username’];
$age = $row[‘magie’];
$job = $row[‘beruf’];
$clan = $row[‘stein’];
$crime = $row[‘leid’];
$usergroup = $row[‘groupid’];
$userid2=$row[‘userid’];
$ein_avatar = $db->query_first(“SELECT avatarid, avatarextension, width, height FROM bb”.$n."_avatars WHERE userid = ‘$userid2’");
$avatarwidth2=$ein_avatar[‘width’];
$avatarheight2=$ein_avatar[‘height’];
$avatarname=“images/avatars/avatar-$ein_avatar[avatarid].$ein_avatar[avatarextension]”;
eval ("$ein_avatar = “”.$tpl->get(“magie_avatar”)."";");

if($usergroup=='2' or $usergroup=='6'){
    eval ("\$variable1 .= \" ".$tpl->get("mabit")."\";");}

if($usergroup=='7'){
    eval ("\$variable2 .= \" ".$tpl->get("mabit")."\";");}
    
if($usergroup=='3' or $usergroup=='8' or $usergroup=='9' or $usergroup=='10' or $usergroup=='11' or $usergroup=='12' or $usergroup=='13' or $usergroup=='14' or $usergroup=='15' or $usergroup=='16' or $usergroup=='17' or $usergroup=='18' or $usergroup=='19' or $usergroup=='21'){
eval ("\$variable3 .= \" ".$tpl->get("mabit")."\";");}
} [/code]

Es wäre wirklich lieb wenn jemand eine Ahnung hat warum der letzte Befehl einfach zickt. ich hab es auch schon ohne die ’ um die Zahlen versucht, sowie mal mit nur einer Usergruppe und es kann auch nicht an meinem Cache liegen… ich bin einfach mit meinem Latein am Ende :frowning:


#2

Was heißt “funktioniert nicht”? Wird er nicht ausgeführt? Kommt ein Fehler? Welche usergroups sind guest bzw eingeloggt? Warum stehen da (unnötige) evals?