2016-10-19 14 views
0

Я получаю PHP уведомление об этом коде:

Извещение: Undefined смещение: 1

Что я ожидаю функция вернуть почту пользователя, например: [email protected] в этом примере:

$userId = 1;  
getUserById($userId, 'mail'); 

    function getUserById($id, $string = '') { 
     return getUser($string, $id); 
    } 
    function getUser($id = '', $string = '') { 
     if(isLoggedIn() || $id != '') {  //If user is logged in or if id is sent 
      if($string == '') { 
       return $_SESSION['loggedIn']['fName'] . ' ' . $_SESSION['loggedIn']['lName'];  //Return logged in users first name and lastname as a string 
      } 
      else { 
       return $_SESSION['loggedIn'][$string];  //Return logged in users email as a string 
      } 
     } 
     else {  //If user is not logged in return false 
      return false; 
     } 
    } 

Если бы я назвать это нравится:

getUserById($userId, 'phoneNumber'); 

функция вернет номер телефона пользователя.

У меня нет ни малейшего представления, почему я получаю это уведомление, любая помощь, как исправить, оценивается! :)

+0

Вы начали сеанс? –

ответ

3

Порядок неправильных настроек при звонке getUser. Сначала должен быть $id, а затем $string.

Вот как это должно быть:

function getUserById($id, $string = '') { 
    return getUser($id, $string); 
} 
+1

Спасибо! Я понятия не имею, как я пропустил что-то такое простое. Я буквально искал часы: S – larssonmartin

1

Вы перевернули Params в getUser. Должно быть:

return getUser($id, $string); 
+0

Спасибо! Не могу поверить, что я пропустил что-то настолько простое, я буквально искал часы: S – larssonmartin

+0

Добро пожаловать! – krasipenkov