pragmaMx Support Forum

pragmaMx => Coder und Bastlerecke => Thema gestartet von: lausbub am 25 Oktober 2007, 20:13:57

Titel: funktion in funktion undefiniertes array
Beitrag von: lausbub am 25 Oktober 2007, 20:13:57
hallo, ich habe zwei funktionen
die erste funktion soll den namen ermitteln und in ein array speichern.

in der zweiten funktion soll die erste funktion aufgerufen werden das ich über die werte in den array verfügen kann.

Jedoch bekomme ich die meldung, 
"Notice: Undefined variable: uname" und die Notice: "Undefined variable: name"


function tm_userdaten()
{
$userDaten=mxGetUserData();
$uname=$userDaten['uname'];
$name=$userDaten['name'];
$email=$userDaten['email'];
}

/* Usernamen und Nicknamen ausgeben */
function tm_name_nick()
{
tm_userdaten();
echo"<p><table width= 100% cellspacing=\"0\" cellpadding=\"0\">"
  . "  <tr>"
  . "    <td bgcolor=\"#ffffcc\">Hallo ".$uname."; </td>"
  . "  </tr>"
  . "  <tr>"
  . "    <td bgcolor=\"#ffffcc\">Pers&ouml;nliche Daten von ".$name."; </td>"
  . "  </tr>"
  . "</table></p>"
.""; 
}


kann mir bitte jemand weiter helfen?

gruß
thorsten
Titel: Re: funktion in funktion undefiniertes array
Beitrag von: bajazzo am 25 Oktober 2007, 20:32:19
ich wurde vermeiden eine Funktion als Wert einer Variable zu verwenden ;)

mxGetUserData();
$bla = $userinfo['tralala'];
Titel: Re: funktion in funktion undefiniertes array
Beitrag von: siggi am 25 Oktober 2007, 21:37:54
innerhalb einer Funktion definierte Variablen sind ausserhalb der Funktion
nicht ansprechbar und haben ihren Gültigkeitsbereich nur in der Funktion.
mit global $foo; kann man sie quasi globalisieren.

Deine Funktion tm_userdaten() ist schlichtweg überflüssig.
Das Array aus mxGetUserData() sprichst du direkt in function tm_name_nick() an.
Mit extract() extrahierst du das Array.

Bsp:
Zitat
/* Usernamen und Nicknamen ausgeben */
function tm_name_nick()
{
$userdaten = mxGetUserData();
extract($userdaten);

echo"<p><table width= \"100%\" cellspacing=\"0\" cellpadding=\"0\">"
  . "  <tr>"
  . "    <td bgcolor=\"#ffffcc\">Hallo ".$uname."; </td>"
  . "  </tr>"
  . "  <tr>"
  . "    <td bgcolor=\"#ffffcc\">Pers&ouml;nliche Daten von ".$name."; </td>"
  . "  </tr>"
  . "</table></p>"
.""; 
}
Titel: Re: funktion in funktion undefiniertes array
Beitrag von: lausbub am 25 Oktober 2007, 21:48:45
hi Siggi

jooo das schaut gleich viel besser aus als meine array`s klasse  ;)

besten dank  :thumbup:

gruß
thorsten