возврат массива php - PullRequest
1 голос
/ 14 мая 2011

ОК, функция:

function session_login_name($username) {
                global $myDB;
                global $config;
                $query = "SELECT /* page == login, functions.php */id, username FROM members WHERE username = '".$username."' LIMIT 1";
                $result = $myDB->Execute($query) or die(GetDbError($myDB->ErrorMsg()));
                $nick_show = $result->Fields("username");
                $nick_id = $result->Fields("id");
                $arr = array($nick_show, $nick_id);
                return $arr;
}

В следующем файле мне нужно описать:

$_SESSION['userid'] = ;   //user id
$_SESSION['username'] = ; //user name

Как мне это сделать? Если вопрос неясен, просто скажи это ... Да, и print_r ($ arr) дает: Array ([0] => zero [1] => 4)

Я пытался (догадался), но это, конечно, не правильно: /

echo session_login_name($username[0]);
die();

Ответы [ 3 ]

0 голосов
/ 14 мая 2011

Вы сказали print_r ($arr) gives: Array ( [0] => zero [1] => 4 ), поэтому вам просто нужно получить эти значения и присвоить их переменным сеанса:

// ToDo: fix SQL injection vulnerability in your SQL
$Data = session_login_name($username);
$_SESSION['userid'] = $Data[1];   //user id
$_SESSION['username'] = $Data[0]; //user name
0 голосов
/ 14 мая 2011

хорошо, вы не можете отобразить массив, он напечатает array () на экране

где вы определили $ username?

ну просто прочитайте значения массива

0 голосов
/ 14 мая 2011
$nick_show = $result->Fields("username");
$nick_id = $result->Fields("id");
$arr['userid'] = $nick_id;   //user id
$arr['username'] = $nick_show; //user name
return $arr;
...