Hallo Leute ich Poste mal meine beiden Funktionen und dann das Problem:
Nun mein Problem, ich schreibe gerade ein Portal das mir Userabhängig Infos preisgibt, die der User auch freigeschalten hat.
Die Funktion ermittle_status_indikator($userid) wird mit der Eintragsid der Usertabelle aufgerufen.
Funktioniert bis zur ersten Abfrage super, aber der 2ten kommt nichts mehr.
Ich habe schon versucht das zu analysieren.
In der Funktion ermittle_status_indikator($userid) habe ich ein Echo gesetzt nach der Skype Ausgabe, da kommt nichts mehr.
Irgendwie verliert er nach dem ersten Aufruf das Array $x.
Habt Ihr mir da nen Tip?
PHP:
function ermittle_user_optionen($userid,$option)
{
// 1`show_email` int(1) NOT NULL default '0',
// 2`show_homepage` int(1) NOT NULL default '0',
// 3`show_skype` int(1) NOT NULL default '0',
// 4`show_icq` int(1) NOT NULL default '0',
// 5`show_msn` int(1) NOT NULL default '0',
// 6`show_aol` int(1) NOT NULL default '0',
// 7`show_yahoo` int(1) NOT NULL default '0',
// 8`show_avatar` int(1) NOT NULL default '0',
// 9`email_delivery` int(1) NOT NULL default '0',
// 10`newsletter` int(1) NOT NULL default '0',
global $preffix;
$rechtsql = 'SELECT * FROM '.$preffix.'user WHERE userid="'.$userid.'"';
$rechtquery = mysql_query($rechtsql);
$x = mysql_fetch_array($rechtquery);
if($option == 1)
{
if($x['show_email'] == 1){ return true;}
else{return false;}
}
elseif($option == 2)
{
if($x['show_homepage'] == 1){ return true;}
else{return false;}
}
elseif($option == 3)
{
if($x['show_skype'] == 1){ return true;}
else{return false;}
}
elseif($option == 4)
{
if($x['show_icq'] == 1){ return true;}
else{return false;}
}
elseif($option == 5)
{
if($x['show_msn'] == 1){ return true;}
else{return false;}
}
elseif($option == 6)
{
if($x['show_aol'] == 1){ return true;}
else{return false;}
}
elseif($option == 7)
{
if($x['show_yahoo'] == 1){ return true;}
else{return false;}
}
elseif($option == 8)
{
if($x['show_avatar'] == 1){ return true;}
else{return false;}
}
elseif($option == 9)
{
if($x['email_delivery'] == 1){ return true;}
else{return false;}
}
elseif($option == 10)
{
if($x['newsletter'] == 1){ return true;}
else{return false;}
}
}
function ermittle_status_indikator($userid)
{
global $preffix;
$forum_sql = 'SELECT * FROM '.$preffix.'user WHERE activated=1 AND userid="'.$userid.'"';
$forum_query = mysql_query($forum_sql);
$x = mysql_fetch_array($forum_query);
// `skype` varchar(255) NOT NULL default '',
// `icq` varchar(255) NOT NULL default '',
// `msn` varchar(255) NOT NULL default '',
// `aol` varchar(255) NOT NULL default '',
// `yahoo` varchar(255) NOT NULL default '',
// 3`show_skype` int(1) NOT NULL default '0',
// 4`show_icq` int(1) NOT NULL default '0',
// 5`show_msn` int(1) NOT NULL default '0',
// 6`show_aol` int(1) NOT NULL default '0',
// 7`show_yahoo` int(1) NOT NULL default '0',
if(ermittle_user_optionen($x['userid'],3))
{
return'<a href="skype:'.$x['skype'].'?chat"><img src="http://snind.gotdns.com:8080/skype/'.$x['skype'].'" align="absmiddle" border="0" alt="Skype Online Status Indicator" onerror="this.onerror=null;this.src=\'http://snind.gotdns.com:8080/image/skypeunknown.gif\';"></a>';
}
echo $x['userid'];
if(ermittle_user_optionen($x['userid'],4))
{
return'<a href="http://snind.gotdns.com:8080/message/icq/'.$x['icq'].'"><img src="http://snind.gotdns.com:8080/icq/'.$x['icq'].'" align="absmiddle" border="0" alt="ICQ Online Status Indicator" onerror="this.onerror=null;this.src=\'http://snind.gotdns.com:8080/image/icqunknown.gif\';"></a>';
}
if(ermittle_user_optionen($x['userid'],5))
{
return'<a href="http://snind.gotdns.com:8080/message/msn/'.$x['msn'].'"><img src="http://snind.gotdns.com:8080/msn/'.$x['msn'].'" align="absmiddle" border="0" alt="MSN Online Status Indicator" onerror="this.onerror=null;this.src=\'http://snind.gotdns.com:8080/image/msnunknown.gif\';"></a>';
}
if(ermittle_user_optionen($x['userid'],6))
{
return'<a href="aim:goim?screenname='.$x['aim'].'"><img src="http://snind.gotdns.com:8080/aim/'.$x['skype'].'" align="absmiddle" border="0" alt="AIM Online Status Indicator" onerror="this.onerror=null;this.src=\'http://snind.gotdns.com:8080/image/aimunknown.gif\';"></a>';
}
if(ermittle_user_optionen($x['userid'],7))
{
return'<a href="ymsgr:sendIM?'.$x['yahoo'].'"><img src="http://snind.gotdns.com:8080/yahoo/'.$x['yahoo'].'" align="absmiddle" border="0" alt="Yahoo Online Status Indicator" onerror="this.onerror=null;this.src=\'http://snind.gotdns.com:8080/image/yahoounknown.gif\';"></a>';
}
}
Nun mein Problem, ich schreibe gerade ein Portal das mir Userabhängig Infos preisgibt, die der User auch freigeschalten hat.
Die Funktion ermittle_status_indikator($userid) wird mit der Eintragsid der Usertabelle aufgerufen.
Funktioniert bis zur ersten Abfrage super, aber der 2ten kommt nichts mehr.
Ich habe schon versucht das zu analysieren.
In der Funktion ermittle_status_indikator($userid) habe ich ein Echo gesetzt nach der Skype Ausgabe, da kommt nichts mehr.
Irgendwie verliert er nach dem ersten Aufruf das Array $x.
Habt Ihr mir da nen Tip?