Żeby było jeszcze ładniej to zrób jeszcze inaczej, bo ogólnie to komplikujesz sobie pracę, pobierasz dane z tabeli userID na podstawie nickname po to aby na podstawie userID pobrać kolejne dane z tej samej tabeli. Używając klasy możesz skrócić sobie pracę.
<?php #class_User.php
// klasa User
class User {
private $userID;
private $username;
private $email
public function __construct($nickname = "") {
// konstruktor
if ($nickname != "") {
$ds = mysql_fetch_array(safe_query
("SELECT userID, username, email FROM ".PREFIX
."user WHERE nickname='".$nickname."'")); $this->userID = $sd['userID'];
$this->username = $sd['username'];
$this->email = getinput($sd['email']);
}
}
public function __get($arg) {
// funkcja zwracająca wartości zmiennych
return $this->$arg;
}
}
?>
i pliczek
<?php
// dołączenie plików z definicjami klas
require_once('../class_User.php');
$nickname = "admin" // tak czy inaczej pobrana wartość z formularza przypisana zmiennej nickname
// utworzenie obiektu klasy User
$user = new User($nickname);
$id = $user->__get("userID");
$username = $user->__get("username");
$email = $user->__get("email");
?>
Tworząc obiekt podajesz mu od razu nickname który pobrałeś czy to z formularza czy sam przypisałeś zmiennej. Konstruktor go przejmuje i z jego pomocą pobiera z bazy danych potrzebne pola od razu gdy tylko obiekt jest utworzony, nie trzeba wywoływać żadnych dodatkowych funkcji. Później tylko z pomocą funkcji __get() odwołujesz się do kolejnych zmiennych prywatnych w klasie.